backend: harden rootless app lifecycle orchestration

This commit is contained in:
archipelago
2026-06-11 00:24:32 -04:00
parent 09ec64932f
commit c393b96da3
56 changed files with 7543 additions and 1994 deletions

View File

@@ -421,6 +421,20 @@ deploy_secondary() {
rm -f /tmp/archipelago.service
' 2>/dev/null || true
fi
if [ -n "${TELEMETRY_COLLECTOR_URL:-}" ]; then
echo " Syncing telemetry collector config to .$SEC_LABEL..."
TMP_TELEMETRY_ENV="$(mktemp)"
printf 'TELEMETRY_COLLECTOR_URL=%s\n' "$TELEMETRY_COLLECTOR_URL" > "$TMP_TELEMETRY_ENV"
scp $SSH_OPTS "$TMP_TELEMETRY_ENV" "$SEC_TARGET:/tmp/telemetry.env" 2>/dev/null || true
rm -f "$TMP_TELEMETRY_ENV"
ssh $SSH_OPTS "$SEC_TARGET" '
sudo mkdir -p /var/lib/archipelago
sudo cp /tmp/telemetry.env /var/lib/archipelago/telemetry.env
sudo chown archipelago:archipelago /var/lib/archipelago/telemetry.env
sudo chmod 600 /var/lib/archipelago/telemetry.env
rm -f /tmp/telemetry.env
' 2>/dev/null || true
fi
# Deploy udev rule for mesh radio
UDEV_RULE="$PROJECT_DIR/image-recipe/configs/99-mesh-radio.rules"
@@ -682,6 +696,20 @@ if [ "$LIVE" = true ]; then
rm -f /tmp/archipelago.service
' 2>/dev/null || true
fi
if [ -n "${TELEMETRY_COLLECTOR_URL:-}" ]; then
progress "Syncing telemetry collector config"
TMP_TELEMETRY_ENV="$(mktemp)"
printf 'TELEMETRY_COLLECTOR_URL=%s\n' "$TELEMETRY_COLLECTOR_URL" > "$TMP_TELEMETRY_ENV"
scp $SSH_OPTS "$TMP_TELEMETRY_ENV" "$TARGET_HOST:/tmp/telemetry.env" 2>/dev/null || true
rm -f "$TMP_TELEMETRY_ENV"
ssh $SSH_OPTS "$TARGET_HOST" '
sudo mkdir -p /var/lib/archipelago
sudo cp /tmp/telemetry.env /var/lib/archipelago/telemetry.env
sudo chown archipelago:archipelago /var/lib/archipelago/telemetry.env
sudo chmod 600 /var/lib/archipelago/telemetry.env
rm -f /tmp/telemetry.env
' 2>/dev/null || true
fi
# Deploy udev rule for mesh radio stable naming (/dev/mesh-radio)
UDEV_RULE="$PROJECT_DIR/image-recipe/configs/99-mesh-radio.rules"