update
This commit is contained in:
@@ -178,14 +178,15 @@ a default company URL.
|
|||||||
V2 creates a random installation UUID and 256-bit credential in
|
V2 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`. On each interactive launch, TA-ProxMenu makes best-effort HTTPS
|
is mode `0600`. On each interactive launch, TA-ProxMenu makes best-effort HTTPS
|
||||||
calls to the configured broker to record installation/upgrade state, start and
|
calls to the configured broker to record the hostname, installation/upgrade
|
||||||
completion status, duration, TA-ProxMenu and Git versions, PVE/OS/kernel
|
state, start and completion status, duration, TA-ProxMenu and Git versions,
|
||||||
versions, architecture, and whether the host is clustered. No background
|
PVE/OS/kernel versions, architecture, and whether the host is clustered. No
|
||||||
service is installed, and broker availability never prevents the menu from
|
background service is installed, and broker availability never prevents the
|
||||||
running.
|
menu from running.
|
||||||
|
|
||||||
The registry does not send hostnames, machine IDs, MAC addresses, usernames,
|
The hostname is treated as a limited operational identifier. The registry does
|
||||||
customer names, VM/container inventory, deployment codes, authorization
|
not send machine IDs, MAC addresses, usernames, VM/container inventory,
|
||||||
tokens, or command output. The broker stores only a digest of the random host
|
deployment codes, authorization tokens, credentials, or command output. The
|
||||||
credential. A successful deployment-code exchange links the already-random
|
broker stores only a digest of the random host credential. A successful
|
||||||
installation ID to a verified registry entry.
|
deployment-code exchange carrying the same random installation ID marks that
|
||||||
|
registry entry as verified.
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
action="${1:-}"
|
action="${1:-}"
|
||||||
FOLDER='/opt/idssys/ta-proxmenu'
|
FOLDER='/opt/idssys/ta-proxmenu'
|
||||||
VERS='2026.7.28-2'
|
VERS='2026.7.28-3'
|
||||||
|
|
||||||
noupdate=' '
|
noupdate=' '
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ TAPM_FLEET_LAST_VERSION=''
|
|||||||
TAPM_FLEET_REGISTERED=0
|
TAPM_FLEET_REGISTERED=0
|
||||||
TAPM_FLEET_STARTED_AT=0
|
TAPM_FLEET_STARTED_AT=0
|
||||||
TAPM_FLEET_VERSION=''
|
TAPM_FLEET_VERSION=''
|
||||||
|
TAPM_FLEET_HOSTNAME=''
|
||||||
|
|
||||||
TAPM_FLEET_READ_VALUE() {
|
TAPM_FLEET_READ_VALUE() {
|
||||||
local key="$1"
|
local key="$1"
|
||||||
@@ -67,6 +68,7 @@ TAPM_FLEET_ENSURE_IDENTITY() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TAPM_FLEET_COLLECT_METADATA() {
|
TAPM_FLEET_COLLECT_METADATA() {
|
||||||
|
TAPM_FLEET_HOSTNAME="$(hostname -s 2>/dev/null || hostname 2>/dev/null || true)"
|
||||||
TAPM_FLEET_GIT_COMMIT="$(git -C "${FOLDER:-/opt/idssys/ta-proxmenu}" rev-parse HEAD 2>/dev/null || true)"
|
TAPM_FLEET_GIT_COMMIT="$(git -C "${FOLDER:-/opt/idssys/ta-proxmenu}" rev-parse HEAD 2>/dev/null || true)"
|
||||||
TAPM_FLEET_PVE_VERSION="$(pveversion 2>/dev/null | head -n 1 || true)"
|
TAPM_FLEET_PVE_VERSION="$(pveversion 2>/dev/null | head -n 1 || true)"
|
||||||
TAPM_FLEET_OS_VERSION="$(
|
TAPM_FLEET_OS_VERSION="$(
|
||||||
@@ -102,6 +104,7 @@ TAPM_FLEET_JSON() {
|
|||||||
TAPM_FLEET_ERROR_CODE="$error_code" \
|
TAPM_FLEET_ERROR_CODE="$error_code" \
|
||||||
TAPM_FLEET_DURATION="$duration" \
|
TAPM_FLEET_DURATION="$duration" \
|
||||||
TAPM_FLEET_INSTALLATION_ID="$TAPM_FLEET_INSTALLATION_ID" \
|
TAPM_FLEET_INSTALLATION_ID="$TAPM_FLEET_INSTALLATION_ID" \
|
||||||
|
TAPM_FLEET_HOSTNAME="$TAPM_FLEET_HOSTNAME" \
|
||||||
TAPM_FLEET_CREDENTIAL="$TAPM_FLEET_CREDENTIAL" \
|
TAPM_FLEET_CREDENTIAL="$TAPM_FLEET_CREDENTIAL" \
|
||||||
TAPM_FLEET_VERSION="$TAPM_FLEET_VERSION" \
|
TAPM_FLEET_VERSION="$TAPM_FLEET_VERSION" \
|
||||||
TAPM_FLEET_GIT_COMMIT="$TAPM_FLEET_GIT_COMMIT" \
|
TAPM_FLEET_GIT_COMMIT="$TAPM_FLEET_GIT_COMMIT" \
|
||||||
@@ -116,6 +119,7 @@ import json, os, sys
|
|||||||
payload = {
|
payload = {
|
||||||
"schema_version": 1,
|
"schema_version": 1,
|
||||||
"installation_id": os.environ["TAPM_FLEET_INSTALLATION_ID"],
|
"installation_id": os.environ["TAPM_FLEET_INSTALLATION_ID"],
|
||||||
|
"hostname": os.environ["TAPM_FLEET_HOSTNAME"],
|
||||||
"event": os.environ["TAPM_FLEET_EVENT"],
|
"event": os.environ["TAPM_FLEET_EVENT"],
|
||||||
"result": os.environ["TAPM_FLEET_RESULT"],
|
"result": os.environ["TAPM_FLEET_RESULT"],
|
||||||
"proxmenu_version": os.environ["TAPM_FLEET_VERSION"],
|
"proxmenu_version": os.environ["TAPM_FLEET_VERSION"],
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ if [[ "$identity_mode" != 600 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
TAPM_FLEET_VERSION='2026.7.26-7'
|
TAPM_FLEET_VERSION='2026.7.26-7'
|
||||||
|
TAPM_FLEET_HOSTNAME='pve01'
|
||||||
TAPM_FLEET_GIT_COMMIT='0123456789abcdef0123456789abcdef01234567'
|
TAPM_FLEET_GIT_COMMIT='0123456789abcdef0123456789abcdef01234567'
|
||||||
TAPM_FLEET_PVE_VERSION='pve-manager/9.0.3/abc~1'
|
TAPM_FLEET_PVE_VERSION='pve-manager/9.0.3/abc~1'
|
||||||
TAPM_FLEET_OS_VERSION='Debian GNU/Linux 13 (trixie)'
|
TAPM_FLEET_OS_VERSION='Debian GNU/Linux 13 (trixie)'
|
||||||
@@ -40,6 +41,7 @@ REGISTRATION_JSON="$registration_json" python3 -c '
|
|||||||
import json, os
|
import json, os
|
||||||
payload = json.loads(os.environ["REGISTRATION_JSON"])
|
payload = json.loads(os.environ["REGISTRATION_JSON"])
|
||||||
assert payload["installation_id"]
|
assert payload["installation_id"]
|
||||||
|
assert payload["hostname"] == "pve01"
|
||||||
assert len(payload["credential"]) == 64
|
assert len(payload["credential"]) == 64
|
||||||
assert payload["proxmenu_version"] == "2026.7.26-7"
|
assert payload["proxmenu_version"] == "2026.7.26-7"
|
||||||
assert payload["clustered"] is True
|
assert payload["clustered"] is True
|
||||||
@@ -73,6 +75,7 @@ python3 -c '
|
|||||||
import json, os
|
import json, os
|
||||||
payload = json.loads(os.environ["EVENT_BODY"])
|
payload = json.loads(os.environ["EVENT_BODY"])
|
||||||
assert payload["event"] == "run_completed"
|
assert payload["event"] == "run_completed"
|
||||||
|
assert payload["hostname"] == "pve01"
|
||||||
assert payload["result"] == "success"
|
assert payload["result"] == "success"
|
||||||
assert payload["duration_seconds"] == 12
|
assert payload["duration_seconds"] == 12
|
||||||
assert "credential" not in payload
|
assert "credential" not in payload
|
||||||
|
|||||||
Reference in New Issue
Block a user