update V2
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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=''
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 $?
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user