Files
felhom.eu/documentation/audits/dockerhub-bigsteps-2026-10-28/termix_xff_install.py
T

32 lines
1.5 KiB
Python

#!/usr/bin/env python3
"""termix_xff_install.py LABEL — install Termix from the drill on 9202 through the product, make the first account (the
fixture's own sign-up: it lifts the setup gate), run termix_xff.py LABEL, remove the app through the product."""
import os, runpy, sys
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
import box_walk as w
import upgrade_fixtures_box28 as f28
w.login()
try:
if w.stack("termix").get("deployed"):
w.remove("termix")
w.refresh_box_mirror(); w.sync_rescan()
if not w.deploy("termix", "termix"):
print("install failed"); sys.exit(1)
t = f28.FIXTURES28["termix"].seed(w, "termix", w.say)
print("seed:", bool(t))
# 2.9.2 dropped its route for a while right after the first install (502, then 404 — 2026-10-28): wait until the
# container is healthy and stays so for 60 s before the test
import time
for _ in range(40):
if w.guest("docker inspect -f '{{.State.Health.Status}}' termix").strip() == "healthy":
break
time.sleep(10)
time.sleep(60)
print("health before the test:", w.guest("docker inspect -f '{{.State.Health.Status}} {{.RestartCount}}' termix").strip())
sys.argv = ["termix_xff.py", sys.argv[1]]
runpy.run_path(os.path.join(os.path.dirname(os.path.abspath(__file__)), "termix_xff.py"), run_name="__main__")
finally:
if w.stack("termix").get("deployed"):
w.remove("termix")
print("\n".join(w.LOG[-3:]))