update V2

This commit is contained in:
David Schroeder
2026-08-12 23:01:19 -05:00
parent 72d61e5785
commit 1d50229a08
7 changed files with 29 additions and 14 deletions
+8 -7
View File
@@ -8,7 +8,7 @@ VE environments.
Run as `root` on a Proxmox VE host: Run as `root` on a Proxmox VE host:
```bash ```bash
bash <(curl -fsSL https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/V2/install-ta_proxmenu.sh) bash <(curl -fsSL https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/main/install-ta_proxmenu.sh)
``` ```
The installed launcher loads TA-ProxMenu's bundled defaults and colors, then The installed launcher loads TA-ProxMenu's bundled defaults and colors, then
@@ -22,9 +22,10 @@ branch, and fast-forward safety checks. Offline, unreachable, dirty, ahead, or
diverged nodes are never overwritten and are reported as failures. Standalone diverged nodes are never overwritten and are reported as failures. Standalone
hosts retain the local-only update behavior. hosts retain the local-only update behavior.
When testing this branch, use `tapm main` to switch the installed copy back to Legacy installations automatically update from the published `main` branch.
the published main branch. The command refuses to switch when local changes, On their first launch after receiving this version, control is handed to the
local-only commits, or diverged branch history would be at risk. current preloader so the new startup configuration and registration procedures
run before the menu opens.
The TA-ProxMenu Management menu can safely switch TA-ProxMenu between branches published on The TA-ProxMenu Management menu can safely switch TA-ProxMenu between branches published on
its Git origin. Branch switching is refused when the installed repository has its Git origin. Branch switching is refused when the installed repository has
@@ -104,7 +105,7 @@ Pulse can also be deployed without installing TA-ProxMenu. Run the standalone
bootstrap as root on a Proxmox VE host: bootstrap as root on a Proxmox VE host:
```bash ```bash
bash <(curl -fsSL https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/V2/install-pulse.sh) bash <(curl -fsSL https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/main/install-pulse.sh)
``` ```
The bootstrap downloads the Pulse deployment module and its LXC storage helper The bootstrap downloads the Pulse deployment module and its LXC storage helper
@@ -167,7 +168,7 @@ without `https://` or a path. Repository updates use the installed
TA-ProxMenu checkout's configured Git `origin` and do not overwrite the system TA-ProxMenu checkout's configured Git `origin` and do not overwrite the system
configuration file. configuration file.
On the first V2 launch after installation or upgrade, TA-ProxMenu detects a On the first launch after installation or upgrade, TA-ProxMenu detects a
missing or incomplete `/etc/ta-proxmenu/config.env` and interactively requests missing or incomplete `/etc/ta-proxmenu/config.env` and interactively requests
both values. Inputs are validated and written atomically with mode `0600` both values. Inputs are validated and written atomically with mode `0600`
before update checks or menu actions continue. A non-interactive launch without before update checks or menu actions continue. A non-interactive launch without
@@ -176,7 +177,7 @@ a default company URL.
## Installation registry ## Installation registry
V2 creates a random installation UUID and 256-bit credential in TA-ProxMenu creates a random installation UUID and 256-bit credential in
`/var/lib/ta-proxmenu/identity.env`. The directory is mode `0700` and the file `/var/lib/ta-proxmenu/identity.env`. The directory is mode `0700` and the file
is mode `0600`. The first successful launch enrolls the host with the broker. is mode `0600`. The first successful launch enrolls the host with the broker.
Later launches make one best-effort HTTPS call on completion or failure to Later launches make one best-effort HTTPS call on completion or failure to
+1 -1
View File
@@ -71,7 +71,7 @@ TAPM_ENSURE_RUNTIME_CONFIG() {
exec 3>/dev/tty exec 3>/dev/tty
fi fi
printf '\nTA-ProxMenu V2 requires deployment service configuration.\n' \ printf '\nTA-ProxMenu requires deployment service configuration.\n' \
>&3 >&3
while true; do while true; do
printf 'TAPM broker HTTPS origin (example: https://tapm.example.com): ' \ printf 'TAPM broker HTTPS origin (example: https://tapm.example.com): ' \
+1 -1
View File
@@ -3,7 +3,7 @@
set -u -o pipefail set -u -o pipefail
TAPM_PULSE_SOURCE_BRANCH="${TAPM_PULSE_SOURCE_BRANCH:-V2}" TAPM_PULSE_SOURCE_BRANCH="${TAPM_PULSE_SOURCE_BRANCH:-main}"
TAPM_PULSE_SOURCE_BASE="${TAPM_PULSE_SOURCE_BASE:-https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/${TAPM_PULSE_SOURCE_BRANCH}}" TAPM_PULSE_SOURCE_BASE="${TAPM_PULSE_SOURCE_BASE:-https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/${TAPM_PULSE_SOURCE_BRANCH}}"
TAPM_PULSE_BOOTSTRAP_DIR='' TAPM_PULSE_BOOTSTRAP_DIR=''
TAPM_TEMP_DIR='' TAPM_TEMP_DIR=''
+8
View File
@@ -1,6 +1,14 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# TA-Proxmenu - Proxmox Setup Scripts for TA Use # TA-Proxmenu - Proxmox Setup Scripts for TA Use
# Legacy main installations update their worktree from the old preloader and
# then launch this newly downloaded script without restarting run.sh. Hand the
# first post-update launch back to the current preloader so all current startup
# configuration and registration procedures run before the menu is loaded.
if [[ "${TAPM_PRELOADER_ACTIVE:-0}" != 1 ]]; then
exec /opt/idssys/ta-proxmenu/run.sh \
"${1:-}" "${2:-}" "${3:-}" "${4:-}"
fi
[ "${2:-}" != "q" ] && source /opt/idssys/ta-proxmenu/colors.inc [ "${2:-}" != "q" ] && source /opt/idssys/ta-proxmenu/colors.inc
source /opt/idssys/ta-proxmenu/defaults.inc source /opt/idssys/ta-proxmenu/defaults.inc
+1 -1
View File
@@ -190,7 +190,7 @@ case "${1:-}" in
;; ;;
esac esac
/opt/idssys/ta-proxmenu/proxmenu-scripts.sh \ TAPM_PRELOADER_ACTIVE=1 /opt/idssys/ta-proxmenu/proxmenu-scripts.sh \
"${1:-}" "${2:-}" "${3:-}" "${4:-}" "${1:-}" "${2:-}" "${3:-}" "${4:-}"
exit $? exit $?
+4 -4
View File
@@ -6,8 +6,8 @@ source "${TEST_ROOT}/tests/testlib.sh"
TAPM_PULSE_STANDALONE_NO_MAIN=1 TAPM_PULSE_STANDALONE_NO_MAIN=1
source "${TEST_ROOT}/install-pulse.sh" source "${TEST_ROOT}/install-pulse.sh"
assert_success "default V2 source branch accepted" \ assert_success "default main source branch accepted" \
TAPM_PULSE_VALID_SOURCE_BRANCH V2 TAPM_PULSE_VALID_SOURCE_BRANCH main
assert_success "nested release branch accepted" \ assert_success "nested release branch accepted" \
TAPM_PULSE_VALID_SOURCE_BRANCH releases/pulse-6 TAPM_PULSE_VALID_SOURCE_BRANCH releases/pulse-6
assert_failure "empty source branch rejected" \ assert_failure "empty source branch rejected" \
@@ -16,9 +16,9 @@ assert_failure "source branch traversal rejected" \
TAPM_PULSE_VALID_SOURCE_BRANCH '../main' TAPM_PULSE_VALID_SOURCE_BRANCH '../main'
assert_success "HTTPS source base accepted" \ assert_success "HTTPS source base accepted" \
TAPM_PULSE_VALID_SOURCE_BASE \ TAPM_PULSE_VALID_SOURCE_BASE \
https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/V2 https://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/main
assert_failure "HTTP source base rejected" \ assert_failure "HTTP source base rejected" \
TAPM_PULSE_VALID_SOURCE_BASE \ TAPM_PULSE_VALID_SOURCE_BASE \
http://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/V2 http://tagit.technologyarch.com/TAI/TA-ProxMenu/raw/branch/main
finish_tests finish_tests
+6
View File
@@ -18,5 +18,11 @@ assert_success "ENTER2CONTINUE is bundled in TA-ProxMenu defaults" \
assert_failure "runtime launchers do not reference external iDS defaults" \ assert_failure "runtime launchers do not reference external iDS defaults" \
grep -E -q '/opt/idssys/defaults|iDS-Defaults' \ grep -E -q '/opt/idssys/defaults|iDS-Defaults' \
"${TEST_ROOT}/run.sh" "${TEST_ROOT}/proxmenu-scripts.sh" "${TEST_ROOT}/run.sh" "${TEST_ROOT}/proxmenu-scripts.sh"
assert_success "current preloader marks proxmenu launches" \
grep -q '^TAPM_PRELOADER_ACTIVE=1 /opt/idssys/ta-proxmenu/proxmenu-scripts.sh' \
"${TEST_ROOT}/run.sh"
assert_success "legacy post-update launch returns to current preloader" \
grep -q 'if \[\[ "${TAPM_PRELOADER_ACTIVE:-0}" != 1 \]\]; then' \
"${TEST_ROOT}/proxmenu-scripts.sh"
finish_tests finish_tests