gates / gates (push) Successful in 3m27s
- scripts/image_runtime.py: Node / Python Brotli / brotlicffi / apk / dpkg read from an image's registry config and layers (no pull; HEAD for the nightly digest; zstd via the zstd program where present; quay.io, index.docker.io). - security_watch.py: a „runtime" source (security_watch_runtimes.json), cached by digest in state.json (154 images, filled on DooPlex tonight); ghcr.io tag lists are paged; the DooPlex group (own block, homelab next-step). - dooplex_inventory.py + documentation/security-watch/dooplex-workloads.txt (89 images, homelab-manifests 5aeec8d). - Tests W10–W12 (58 checks) + test_image_runtime.py (13), each red-proved. - audits/http2shell-2026-10-27: the Home Assistant lane walk (proven), HOMELAB-LIST.md (19 to update), the run log. - 08 §11 design line; 09 §3 decision 276 (HA monthly = same main version; decided by CC unattended).
219 lines
7.2 KiB
JSON
219 lines
7.2 KiB
JSON
{
|
||
"app": "home-assistant",
|
||
"walk": "security",
|
||
"box_walk_version": 1,
|
||
"verdict": "proven",
|
||
"venue": "box 9202 (drill catalog), the guarded Update",
|
||
"from": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.9.4"
|
||
},
|
||
"to": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"observables_before": {
|
||
"pinned_images": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.9.4"
|
||
},
|
||
"installed_images": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.9.4"
|
||
},
|
||
"catalog_images": null,
|
||
"live_compose_image_lines": [
|
||
"image: ghcr.io/home-assistant/home-assistant:2026.9.4@sha256:3e6710a7ab2a61311d9d899b719f6c3657791c63e8f4942cec4ebc42401d6b76"
|
||
],
|
||
"docker_inspect": [
|
||
"home-assistant ghcr.io/home-assistant/home-assistant:2026.9.4@sha256:3e6710a7ab2a61311d9d899b719f6c3657791c63e8f4942cec4ebc42401d6b76 running=true restarts=0"
|
||
]
|
||
},
|
||
"setup_gate_before": {
|
||
"browser": {
|
||
"status": "302",
|
||
"redirect": "https://felhom.enkisfelhom.hu/__gate/start?…"
|
||
},
|
||
"script": {
|
||
"status": "401",
|
||
"redirect": null
|
||
}
|
||
},
|
||
"seed": "read_back",
|
||
"drill_commit": "9f2522e80bd1",
|
||
"sync_waited_s": 4.5,
|
||
"badge_before": {
|
||
"hu": [
|
||
{
|
||
"title": "Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.",
|
||
"text": "Frissítés elérhető — ma"
|
||
}
|
||
],
|
||
"en": [
|
||
{
|
||
"title": "A newer version of this app is available. Select the Update button to start it.",
|
||
"text": "Update available — today"
|
||
}
|
||
]
|
||
},
|
||
"measured_at": "2026-10-27T22:00:02Z",
|
||
"update": {
|
||
"accepted": true,
|
||
"http": "202",
|
||
"phases": [
|
||
{
|
||
"t": 0.0,
|
||
"phase": "backing-up",
|
||
"label": "Biztonsági mentés készül a frissítés előtt…",
|
||
"updating": true,
|
||
"error": null,
|
||
"hold": null
|
||
},
|
||
{
|
||
"t": 7.2,
|
||
"phase": "safety-dump",
|
||
"label": "Adatbázis pillanatkép…",
|
||
"updating": true,
|
||
"error": null,
|
||
"hold": null
|
||
},
|
||
{
|
||
"t": 8.2,
|
||
"phase": "pulling",
|
||
"label": "Új verzió letöltése…",
|
||
"updating": true,
|
||
"error": null,
|
||
"hold": null
|
||
},
|
||
{
|
||
"t": 113.9,
|
||
"phase": "copying",
|
||
"label": "Az adatok másolása a frissítés előtt…",
|
||
"updating": true,
|
||
"error": null,
|
||
"hold": null
|
||
},
|
||
{
|
||
"t": 125.2,
|
||
"phase": "verifying",
|
||
"label": "Működés ellenőrzése…",
|
||
"updating": true,
|
||
"error": null,
|
||
"hold": null
|
||
},
|
||
{
|
||
"t": 135.5,
|
||
"phase": "done",
|
||
"label": "Frissítve",
|
||
"updating": false,
|
||
"error": null,
|
||
"hold": null
|
||
}
|
||
],
|
||
"duration_s": 135.5,
|
||
"final_phase": "done",
|
||
"update_error": null,
|
||
"hold_reason": null,
|
||
"state": "running"
|
||
},
|
||
"observables_after": {
|
||
"pinned_images": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"installed_images": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"catalog_images": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"live_compose_image_lines": [
|
||
"image: ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
],
|
||
"docker_inspect": [
|
||
"home-assistant ghcr.io/home-assistant/home-assistant:2026.10.4 running=true restarts=0"
|
||
]
|
||
},
|
||
"badge_after": {
|
||
"hu": [
|
||
{
|
||
"title": "Ez az alkalmazás a legfrissebb elérhető változatot futtatja.",
|
||
"text": "Naprakész"
|
||
}
|
||
],
|
||
"en": [
|
||
{
|
||
"title": "This app is running the newest version available.",
|
||
"text": "Up to date"
|
||
}
|
||
]
|
||
},
|
||
"state_after": "running",
|
||
"hold_after": null,
|
||
"to_digests": {
|
||
"home-assistant": "sha256:23f4dfbb69ce76315dbc4de7915504f1c2dcecd7ca2648113a493a385972e133"
|
||
},
|
||
"four_observables": {
|
||
"pinned": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"installed": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"catalog": {
|
||
"home-assistant": "ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
},
|
||
"live_compose": [
|
||
"ghcr.io/home-assistant/home-assistant:2026.10.4"
|
||
]
|
||
},
|
||
"seed_read_after": true,
|
||
"setup_gate_after": {
|
||
"browser": {
|
||
"status": "404",
|
||
"redirect": null
|
||
},
|
||
"script": {
|
||
"status": "404",
|
||
"redirect": null
|
||
}
|
||
},
|
||
"memory": {
|
||
"soak_s": 600,
|
||
"interval_s": 10,
|
||
"samples": 60,
|
||
"containers": {
|
||
"home-assistant": {
|
||
"samples": 60,
|
||
"anon_peak_bytes": 328122368,
|
||
"limit_bytes": 1073741824,
|
||
"anon_peak_pct": 30.6,
|
||
"cgroup_peak_pct": 41.2,
|
||
"oom_kill_delta": 0,
|
||
"oom_killed_flag": false,
|
||
"restarts_delta": 0,
|
||
"running_all_samples": true,
|
||
"cgroup": "/sys/fs/cgroup/system.slice/docker-8a9bb18a5dd2eec74901443f9a0e65ea05d9ec8adc66fc0604ae443ae2af7905.scope"
|
||
}
|
||
},
|
||
"oom_kills": 0,
|
||
"restarts": 0,
|
||
"peak_pct": 30.6
|
||
},
|
||
"why": "the security-fix step ran on the box through the guarded Update; healthy, TO on all four observables, no undo, no hold, a clean soak, seed read back",
|
||
"log": [
|
||
"22:57:43 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}",
|
||
"22:59:44 [1] deployed, controller state=running, pinned={'home-assistant': 'ghcr.io/home-assistant/home-assistant:2026.9.4'}",
|
||
"22:59:44 gate: ha is gated — passed as the household (cookie set)",
|
||
"22:59:47 [2] setup gate as installed: {'browser': {'status': '302', 'redirect': 'https://felhom.enkisfelhom.hu/__gate/start?…'}, 'script': {'status': '401', 'redirect': None}}",
|
||
"22:59:48 home-assistant: /api/onboarding/users http=200",
|
||
"22:59:48 home-assistant: login as the seeded owner ok=True",
|
||
"22:59:49 [5] drill commit 9f2522e80bd1: home-assistant ghcr.io/home-assistant/home-assistant:2026.9.4 -> ghcr.io/home-assistant/home-assistant:2026.10.4 (push rc=0)",
|
||
"22:59:58 [5] the box's drill mirror now at 9f2522e8",
|
||
"23:00:03 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}",
|
||
"23:00:03 + 0.0s phase=backing-up label=Biztonsági mentés készül a frissítés előtt… err=None hold=None",
|
||
"23:00:10 + 7.2s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None",
|
||
"23:00:11 + 8.2s phase=pulling label=Új verzió letöltése… err=None hold=None",
|
||
"23:01:57 + 113.9s phase=copying label=Az adatok másolása a frissítés előtt… err=None hold=None",
|
||
"23:02:08 + 125.2s phase=verifying label=Működés ellenőrzése… err=None hold=None",
|
||
"23:02:18 + 135.5s phase=done label=Frissítve err=None hold=None",
|
||
"23:02:38 home-assistant: login as the seeded owner ok=True",
|
||
"23:02:38 [7] memory soak 600 s …",
|
||
"23:12:44 [7] soak: peak 30.6% of the limit (anon), kills 0, restarts 0"
|
||
]
|
||
} |