Files
felhom.eu/documentation/audits/dataloss-hunt-2026-10-20/C3-R1187e-fab-family-gate/step4.py
T

18 lines
1.0 KiB
Python

#!/usr/bin/env python3
"""Step 4 of fab_gate_proof.py re-run alone: the first run's bundle-list parse found nothing (harness slip); the
export's own status gave the path."""
import sys
sys.argv = ["x"]
exec(open("fab_gate_proof.py").read().split('say("== 1 deploy glance")')[0])
path = "/mnt/felhom-drives/scratch_hdd/exports/glance_20261020-104935.fab"
say("== 4 import the bundle", path)
code, d = ctl.call("POST", "/api/export/import", {"path": path, "password": ""})
say("import start ->", code, str(d)[:200])
poll("/api/export/import/status")
st = wait_stack(lambda s: s.get("deployed") and s.get("state") in ("running", "unhealthy", "degraded"), n=40)
say("state after import:", st.get("state"), "family_gate in app_config:", bool((st.get("app_config") or {}).get("family_gate")),
"app_config keys:", sorted((st.get("app_config") or {}).keys()))
time.sleep(40)
observe("4 FAULT after import")
say("controller log:", guest("docker logs --since 6m felhom-controller 2>&1 | grep -iE 'family|import|glance' | grep -vE 'GET /api|ScanStacks|Env vars' | tail -15"))