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:
```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
@@ -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
hosts retain the local-only update behavior.
When testing this branch, use `tapm main` to switch the installed copy back to
the published main branch. The command refuses to switch when local changes,
local-only commits, or diverged branch history would be at risk.
Legacy installations automatically update from the published `main` branch.
On their first launch after receiving this version, control is handed to the
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
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:
```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
@@ -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
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
both values. Inputs are validated and written atomically with mode `0600`
before update checks or menu actions continue. A non-interactive launch without
@@ -176,7 +177,7 @@ a default company URL.
## 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
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
+1 -1
View File
@@ -71,7 +71,7 @@ TAPM_ENSURE_RUNTIME_CONFIG() {
exec 3>/dev/tty
fi
printf '\nTA-ProxMenu V2 requires deployment service configuration.\n' \
printf '\nTA-ProxMenu requires deployment service configuration.\n' \
>&3
while true; do
printf 'TAPM broker HTTPS origin (example: https://tapm.example.com): ' \
+1 -1
View File
@@ -3,7 +3,7 @@
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_BOOTSTRAP_DIR=''
TAPM_TEMP_DIR=''
+8
View File
@@ -1,6 +1,14 @@
#!/usr/bin/env bash
# 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
source /opt/idssys/ta-proxmenu/defaults.inc
+1 -1
View File
@@ -190,7 +190,7 @@ case "${1:-}" in
;;
esac
/opt/idssys/ta-proxmenu/proxmenu-scripts.sh \
TAPM_PRELOADER_ACTIVE=1 /opt/idssys/ta-proxmenu/proxmenu-scripts.sh \
"${1:-}" "${2:-}" "${3:-}" "${4:-}"
exit $?
+4 -4
View File
@@ -6,8 +6,8 @@ source "${TEST_ROOT}/tests/testlib.sh"
TAPM_PULSE_STANDALONE_NO_MAIN=1
source "${TEST_ROOT}/install-pulse.sh"
assert_success "default V2 source branch accepted" \
TAPM_PULSE_VALID_SOURCE_BRANCH V2
assert_success "default main source branch accepted" \
TAPM_PULSE_VALID_SOURCE_BRANCH main
assert_success "nested release branch accepted" \
TAPM_PULSE_VALID_SOURCE_BRANCH releases/pulse-6
assert_failure "empty source branch rejected" \
@@ -16,9 +16,9 @@ assert_failure "source branch traversal rejected" \
TAPM_PULSE_VALID_SOURCE_BRANCH '../main'
assert_success "HTTPS source base accepted" \
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" \
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
+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" \
grep -E -q '/opt/idssys/defaults|iDS-Defaults' \
"${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