From ec849afa9b06fe375ae29f8daf2a979e0876521f Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Tue, 4 Aug 2026 10:17:02 +0000 Subject: [PATCH] runtime: publish CONTEXT-AUTO-20260804T101701Z --- .../CONTEXT-AUTO-20260804T101701Z.json | 1 + .../history/CONTEXT-AUTO-20260804T101701Z.txt | 164 +++++++++++++++ runtime/latest.json | 39 +--- runtime/latest.txt | 186 +++++++++++++++--- 4 files changed, 324 insertions(+), 66 deletions(-) create mode 100644 runtime/history/CONTEXT-AUTO-20260804T101701Z.json create mode 100644 runtime/history/CONTEXT-AUTO-20260804T101701Z.txt diff --git a/runtime/history/CONTEXT-AUTO-20260804T101701Z.json b/runtime/history/CONTEXT-AUTO-20260804T101701Z.json new file mode 100644 index 0000000..07980b7 --- /dev/null +++ b/runtime/history/CONTEXT-AUTO-20260804T101701Z.json @@ -0,0 +1 @@ +{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20260804T101701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-08-04T10:17:01Z","finished_at_utc":"2026-08-04T10:17:02Z","reference_register_checked":true,"reference_sha256":"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e","error_register_checked":true,"error_register_sha256":"24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} diff --git a/runtime/history/CONTEXT-AUTO-20260804T101701Z.txt b/runtime/history/CONTEXT-AUTO-20260804T101701Z.txt new file mode 100644 index 0000000..5200106 --- /dev/null +++ b/runtime/history/CONTEXT-AUTO-20260804T101701Z.txt @@ -0,0 +1,164 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z +STATUS=OK +RC=0 +HOST=pve01 +COMPONENT=cluster-context +REFERENCE_SHA[PRIVATE_IP]f8edc75fcf[PRIVATE_IP]c[PRIVATE_IP]cc112ceccb6cf[PRIVATE_IP]a4deb8e +ERROR_REGISTER_SHA[PRIVATE_IP]c7fa[PRIVATE_IP]583c4aefac[PRIVATE_IP]1736ed[PRIVATE_IP]ab83 +OUTPUT_BEGIN +GENERATED_AT_UTC=[PRIVATE_IP]T10:17:01Z +Cluster information +------------------- +Name: homelab +Config Version: 3 +Transport: knet +Secure auth: on + +Quorum information +------------------ +Date: Tue Aug [PRIVATE_IP] 2026 +Quorum provider: corosync_votequorum +Nodes: 3 +Node ID: [PRIVATE_IP] +Ring ID: 1.db +Quorate: Yes + +Votequorum information +---------------------- +Expected votes: 3 +Highest expected: 3 +Total votes: 3 +Quorum: 2 +Flags: Quorate + +Membership information +---------------------- + Nodeid Votes Name +[PRIVATE_IP] [PRIVATE_IP].11 (local) +[PRIVATE_IP] [PRIVATE_IP].13 +[PRIVATE_IP] [PRIVATE_IP].12 + +Membership information +---------------------- + Nodeid Votes Name + 1 1 pve01 (local) + 2 1 pve03 + 3 1 pve02 +[{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":601801,"vmid":110},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":601884,"vmid":111},{"cpu":[PRIVATE_IP]275e-05,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":601846,"vmid":112},{"cpu":[PRIVATE_IP]465e-05,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":601888,"vmid":113},{"cpu":[PRIVATE_IP]44575,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":601825,"vmid":130},{"cpu":[PRIVATE_IP]27322,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"nextcloud","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601798,"vmid":150},{"cpu":[PRIVATE_IP]932359,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":601880,"vmid":160},{"cpu":[PRIVATE_IP]312,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601794,"vmid":170},{"cpu":[PRIVATE_IP]46258,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601791,"vmid":171},{"cpu":[PRIVATE_IP]08044,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/180","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"cluster-admin","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":601878,"vmid":180},{"cpu":[PRIVATE_IP]358097,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":601821,"vmid":190},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]89133,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":601842},{"cgroup-mode":2,"cpu":[PRIVATE_IP]43365,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":601903},{"cgroup-mode":2,"cpu":[PRIVATE_IP]82712,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":601921},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"}] +Name Type Status Total (KiB) Used (KiB) Available (KiB) % +local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 14.16% +local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 27.36% + UNIT LOAD ACTIVE SUB DESCRIPTION +● homelab-backup-matrix-refresh.service loaded failed failed Generate unified homelab backup matrix state +● homelab-crypto-portfolio-chart-health.service loaded failed failed Crypto portfolio chart health check +● skladchik-reports-monitor-supervisor.service loaded failed failed Skladchik reports monitor full supervisor + +Legend: LOAD → Reflects whether the unit definition was properly loaded. + ACTIVE → The high-level unit activation state, i.e. generalization of SUB. + SUB → The low-level unit activation state, values depend on unit type. + +3 loaded units listed. +NEXT LEFT LAST PASSED UNIT ACTIVATES +Tue [PRIVATE_IP] 13:17:14 MSK 12s Tue [PRIVATE_IP] 13:12:14 MSK 4min 47s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-cluster-admin-webpanel-sync.timer homelab-cluster-admin-webpanel-sync.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:12:26 MSK 4min 35s ago netbird-peers-health.timer netbird-peers-health.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service +Tue [PRIVATE_IP] 13:18:01 MSK 59s Tue [PRIVATE_IP] 13:16:57 MSK 4s ago homelab-router-watchdog.timer homelab-router-watchdog.service +Tue [PRIVATE_IP] 13:18:02 MSK 1min 0s Tue [PRIVATE_IP] 13:15:47 MSK 1min 14s ago homelab-cluster-admin-inventory-sync.timer homelab-cluster-admin-inventory-sync.service +Tue [PRIVATE_IP] 13:18:35 MSK 1min 33s Tue [PRIVATE_IP] 13:13:07 MSK 3min 54s ago homelab-health-metrics.timer homelab-health-metrics.service +Tue [PRIVATE_IP] 13:19:26 MSK 2min 24s Tue [PRIVATE_IP] 13:04:26 MSK 12min ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service +Tue [PRIVATE_IP] 13:21:07 MSK 4min 5s Tue [PRIVATE_IP] 13:11:07 MSK 5min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service +Tue [PRIVATE_IP] 13:21:31 MSK 4min 29s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-crypto-portfolio-chart-health.timer homelab-crypto-portfolio-chart-health.service +Tue [PRIVATE_IP] 13:21:47 MSK 4min 45s Tue [PRIVATE_IP] 13:06:47 MSK 10min ago homelab-disk-space-health.timer homelab-disk-space-health.service +Tue [PRIVATE_IP] 13:22:26 MSK 5min Tue [PRIVATE_IP] 13:07:26 MSK 9min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service +Tue [PRIVATE_IP] 13:24:14 MSK 7min Tue [PRIVATE_IP] 13:09:14 MSK 7min ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service +Tue [PRIVATE_IP] 13:30:00 MSK 12min Tue [PRIVATE_IP] 13:15:14 MSK 1min 47s ago homelab-incident-journal.timer homelab-incident-journal.service +Tue [PRIVATE_IP] 13:31:00 MSK 13min Tue [PRIVATE_IP] 13:16:07 MSK 54s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service +Tue [PRIVATE_IP] 13:31:02 MSK 14min Tue [PRIVATE_IP] 13:15:50 MSK 1min 11s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service +Tue [PRIVATE_IP] 13:31:10 MSK 14min Tue [PRIVATE_IP] 13:16:29 MSK 32s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service +Tue [PRIVATE_IP] 13:32:32 MSK 15min Tue [PRIVATE_IP] 13:03:14 MSK 13min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service +Tue [PRIVATE_IP] 13:33:56 MSK 16min Tue [PRIVATE_IP] 13:01:25 MSK 15min ago homelab-reference-refresh.timer homelab-reference-refresh.service +Tue [PRIVATE_IP] 14:08:26 MSK 51min Tue [PRIVATE_IP] 08:08:26 MSK 5h 8min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service +Tue [PRIVATE_IP] 14:20:26 MSK 1h 3min Mon [PRIVATE_IP] 14:20:26 MSK 22h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service +Wed [PRIVATE_IP] 00:00:00 MSK 10h Tue [PRIVATE_IP] 00:00:07 MSK 13h ago dpkg-db-backup.timer dpkg-db-backup.service +Wed [PRIVATE_IP] 00:08:04 MSK 10h Tue [PRIVATE_IP] 00:05:08 MSK 13h ago homelab-storage-capacity.timer homelab-storage-capacity.service +Wed [PRIVATE_IP] 00:08:47 MSK 10h Tue [PRIVATE_IP] 00:08:07 MSK 13h ago homelab-evidence-catalog.timer homelab-evidence-catalog.service +Wed [PRIVATE_IP] 00:13:19 MSK 10h Tue [PRIVATE_IP] 00:13:28 MSK 13h ago homelab-docker-health.timer homelab-docker-health.service +Wed [PRIVATE_IP] 00:18:54 MSK 11h Tue [PRIVATE_IP] 00:08:14 MSK 13h ago homelab-quality-gate.timer homelab-quality-gate.service +Wed [PRIVATE_IP] 00:51:16 MSK 11h Tue [PRIVATE_IP] 00:08:36 MSK 13h ago logrotate.timer logrotate.service +Wed [PRIVATE_IP] 01:56:09 MSK 12h Tue [PRIVATE_IP] 00:14:22 MSK 13h ago man-db.timer man-db.service +Wed [PRIVATE_IP] 03:50:00 MSK 14h Tue [PRIVATE_IP] 03:50:02 MSK 9h ago filebrowser-offhost-sync.timer filebrowser-offhost-sync.service +Wed [PRIVATE_IP] 04:05:55 MSK 14h Tue [PRIVATE_IP] 01:23:47 MSK 11h ago pve-daily-update.timer pve-daily-update.service +Wed [PRIVATE_IP] 04:48:13 MSK 15h Tue [PRIVATE_IP] 04:42:07 MSK 8h ago homelab-edge-vm-offhost-freshness.timer homelab-edge-vm-offhost-freshness.service +Wed [PRIVATE_IP] 04:58:15 MSK 15h Tue [PRIVATE_IP] 05:15:14 MSK 8h ago homelab-sops-edge-secret-coverage.timer homelab-sops-edge-secret-coverage.service +Wed [PRIVATE_IP] 05:30:03 MSK 16h Tue [PRIVATE_IP] 12:02:37 MSK 1h 14min ago apt-daily.timer apt-daily.service +Wed [PRIVATE_IP] 06:01:06 MSK 16h Tue [PRIVATE_IP] 06:53:08 MSK 6h ago apt-daily-upgrade.timer apt-daily-upgrade.service +Wed [PRIVATE_IP] 07:16:56 MSK 17h Tue [PRIVATE_IP] 07:03:50 MSK 6h ago homelab-drift-check.timer homelab-drift-check.service +Wed [PRIVATE_IP] 07:32:01 MSK 18h Tue [PRIVATE_IP] 07:39:26 MSK 5h 37min ago homelab-service-registry-check.timer homelab-service-registry-check.service +Wed [PRIVATE_IP] 07:48:22 MSK 18h Tue [PRIVATE_IP] 07:54:17 MSK 5h 22min ago homelab-desired-state-sync.timer homelab-desired-state-sync.service +Wed [PRIVATE_IP] 07:53:58 MSK 18h Tue [PRIVATE_IP] 07:46:07 MSK 5h 30min ago homelab-alerting-health.timer homelab-alerting-health.service +Wed [PRIVATE_IP] 07:56:28 MSK 18h Tue [PRIVATE_IP] 07:56:07 MSK 5h 20min ago homelab-dependency-map-check.timer homelab-dependency-map-check.service +Wed [PRIVATE_IP] 07:56:57 MSK 18h Tue [PRIVATE_IP] 07:56:50 MSK 5h 20min ago homelab-runbook-generate.timer homelab-runbook-generate.service +Wed [PRIVATE_IP] 08:06:21 MSK 18h Tue [PRIVATE_IP] 07:59:39 MSK 5h 17min ago homelab-duty-admin-report.timer homelab-duty-admin-report.service +Wed [PRIVATE_IP] 08:11:00 MSK 18h Tue [PRIVATE_IP] 08:03:50 MSK 5h 13min ago homelab-overall-health.timer homelab-overall-health.service +Wed [PRIVATE_IP] 08:16:53 MSK 18h Tue [PRIVATE_IP] 08:16:35 MSK 5h 0min ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service +Wed [PRIVATE_IP] 08:21:31 MSK 19h Tue [PRIVATE_IP] 08:12:26 MSK 5h 4min ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service +Wed [PRIVATE_IP] 08:30:08 MSK 19h Tue [PRIVATE_IP] 08:36:50 MSK 4h 40min ago homelab-capacity-risk.timer homelab-capacity-risk.service +Wed [PRIVATE_IP] 08:37:04 MSK 19h Tue [PRIVATE_IP] 08:52:38 MSK 4h 24min ago homelab-cluster-passport.timer homelab-cluster-passport.service +Wed [PRIVATE_IP] 08:40:47 MSK 19h Tue [PRIVATE_IP] 08:36:17 MSK 4h 40min ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service +Wed [PRIVATE_IP] 08:47:05 MSK 19h Tue [PRIVATE_IP] 08:54:47 MSK 4h 22min ago immich-media-offhost-sync.timer immich-media-offhost-sync.service +Wed [PRIVATE_IP] 08:55:12 MSK 19h Tue [PRIVATE_IP] 08:50:07 MSK 4h 26min ago homelab-golden-state-index.timer homelab-golden-state-index.service +Wed [PRIVATE_IP] 09:20:57 MSK 20h Tue [PRIVATE_IP] 09:06:50 MSK 4h 10min ago memos-offhost-sync.timer memos-offhost-sync.service +Wed [PRIVATE_IP] 10:15:00 MSK 20h Tue [PRIVATE_IP] 10:15:14 MSK 3h 1min ago skladchik-reports-monitor-monthly-selftest-watch.timer skladchik-reports-monitor-monthly-selftest-watch.service +Sun [PRIVATE_IP] 03:10:38 MSK 4 days Sun [PRIVATE_IP] 03:10:25 MSK 2 days ago xfs_scrub_all.timer xfs_scrub_all.service +Sun [PRIVATE_IP] 03:10:48 MSK 4 days Sun [PRIVATE_IP] 03:10:50 MSK 2 days ago e2scrub_all.timer e2scrub_all.service +Mon [PRIVATE_IP] 00:03:56 MSK 5 days Mon [PRIVATE_IP] 00:11:50 MSK 1 day 13h ago homelab-secret-sanity.timer homelab-secret-sanity.service +Mon [PRIVATE_IP] 01:11:21 MSK 5 days Mon [PRIVATE_IP] 01:17:56 MSK 1 day 11h ago fstrim.timer fstrim.service +- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service +- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service +- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service + +58 timers listed. +- Обрезанная, повреждённая или частично вставленная команда считается невыполненной; сначала проводится side-effect audit. +- Хвост parse-ошибки закрывается только после доказательства отсутствия изменений и временных артефактов. +- Proof: /var/lib/homelab-change-sets/operator-command-size-guard-v[PRIVATE_IP]T182653Z/report.txt + +## HOMELAB_ADMIN_CLI_CONTRACT_[PRIVATE_IP] +- Поддерживаемые команды: version, status, lint TASK_DIR, validate TASK_DIR, run TASK_DIR PHASE. +- Отдельная команда --help отсутствует. Неизвестный аргумент печатает usage и штатно возвращает RC=64. +- Нельзя трактовать RC=64 от --help как неисправность runner. +- Для проверки доступности runner использовать homelab-admin version; для структуры CLI использовать зафиксированную usage-строку. +- Proof: /var/lib/homelab-change-sets/homelab-admin-cli-contract-fix-v[PRIVATE_IP]T183338Z/report.txt + +AUTOMATIC_CLUSTER_CONTEXT_REFRESH_[PRIVATE_IP] +Collector: /usr/local/sbin/homelab-context-collect +Scheduler: hourly at minute 17 via /etc/cron.d/homelab-context-refresh +Destination: immutable Gitea runtime history with CONTEXT-AUTO UTC command IDs. + +AUTOMATIC_CLUSTER_CONTEXT_REFRESH_DIRECT_[PRIVATE_IP] +Publisher: /usr/local/sbin/homelab-context-refresh-direct +Schedule: hourly at minute 17. +Destination: immutable assistant-runtime history with CONTEXT-AUTO UTC IDs. +ANTI_REGRESSION_TOKEN=HOMELAB_VM_2CLOUD_444_OUTER_LAUNCHER_BOUNDARY_REQUIRED +- Anti-regression: validate the complete outer launcher with a shell syntax check and verify the wrapper argument boundary before issuing it. +- Infrastructure action executed: none. +- Backup payload impact: none. +- Production impact: none. +- Status: CLOSED; UNRESOLVED_TAIL_COUNT=0. +- Registered at: [PRIVATE_IP]T11:20:32Z + +## ERROR_[PRIVATE_IP]_HOMELAB_VM_2CLOUD_DRAIN_CLOSURE_PREFLIGHT_446 +COMMAND_ID=HOMELAB-VM-2CLOUD-DRAIN-CLOSURE-PREFLIGHT-446 +- Symptom: homelab-chat-run-linked printed Usage and skipped result-feed publication as invalid input. +- Root cause: the diagnostic script was piped to wrapper stdin and the mandatory double-dash command separator was omitted. +- Correction: invoke homelab-chat-run-linked as COMMAND_ID MODE COMPONENT -- command arguments; stdin is not its command interface. +ANTI_REGRESSION_TOKEN=HOMELAB_CHAT_RUN_COMMAND_REQUIRES_DOUBLE_DASH +- Anti-regression: treat wrapper Usage as the authoritative CLI contract and syntax-check the complete launcher, not only its inner payload. +- Infrastructure action executed: none. +- Backup payload impact: none. +- Production impact: none. +- Status: CLOSED; UNRESOLVED_TAIL_COUNT=0. +- Registered at: [PRIVATE_IP]T11:20:32Z +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 4c5926e..07980b7 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1 @@ -{ - "schema_version": 1, - "channel": "homelab-runtime", - "command_id": "HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z", - "status": "FAIL", - "rc": 1, - "host": "pve01", - "mode": "verify", - "component": "homepage-newfilya-public-tls-read-only-plan-fix3-v12", - "started_at_utc": "2026-08-04T09:50:40Z", - "finished_at_utc": "2026-08-04T09:50:43Z", - "reference_register_checked": true, - "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", - "error_register_checked": true, - "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "54ecaf5977858caa5a64e76d6acafabe9618d9e28181f4e7f4854bce969e07c7", - "duplicate_failed_command_blocked": false, - "block_reason": null, - "execution_started": true, - "change_declared": false, - "result_contract_valid": true, - "result_contract_status": null, - "result_contract_error": null, - "command_rc": 1, - "changes_made": false, - "rollback_started": false, - "rollback_restored": null, - "mutation_outcome": "NO_MUTATION", - "sanitized": true, - "secrets_included": false, - "private_addresses_included": false, - "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "9f9ba05a451c9a7f4b2ff4426e3c26380738d212c6071fc73585177ed5dcda29", - "sanitized_output_sha256": "9f9ba05a451c9a7f4b2ff4426e3c26380738d212c6071fc73585177ed5dcda29", - "output_truncated_in_json": false, - "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n{\"PLAN_SHA256\":null,\"action\":null,\"blockers\":[\"CURRENT_SELF_SIGNED_CERTIFICATE_NOT_VALID_NOW\",\"EDGE_PRIVATE_KEY_PRIVACY_INVALID\",\"EDGE_ROUTE_PRIVACY_CONTRACT_INVALID\",\"NEWFILYA_EDGE_CERTIFICATE_NOT_IDENTIFIED\",\"NEWFILYA_EDGE_PRIVATE_KEY_MISSING\",\"NEWFILYA_PROXY_ACME_ROUTE_NOT_READY\",\"NEWFILYA_PROXY_ROUTE_NOT_UNIQUE\",\"NEWFILYA_PROXY_ROUTE_RISKY_DIRECTIVES\",\"NEWFILYA_PUBLIC_RESPONSE_INVALID\",\"NEWFILYA_UPSTREAM_NOT_CONFIGURED\",\"NEWFILYA_UPSTREAM_SHAPE_INVALID\",\"PUBLIC_EDGE_CERTIFICATE_MISMATCH\"],\"body_returned\":false,\"certificate_changed\":false,\"certificate_contents_returned\":false,\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z\",\"container_restarted\":false,\"control_plane_error\":null,\"desired_state_changed\":false,\"diagnosis\":\"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED\",\"dns_changed\":false,\"duration_ms\":3147,\"edge\":{\"certbot_account_count\":2,\"certbot_account_path_set_sha256\":\"27b94e58c9c61e1300cfe7d73f5061f93b31c7966a8e8f101f2fd68c7fcff31e\",\"certbot_available\":true,\"certbot_config_metadata_exact\":true,\"certbot_config_stat_sha256\":\"ac465eeb18a1b03028ed66ef0589dc6b5bdf2a432efe01445044987a3b7ff08d\",\"certbot_root_kind\":\"directory\",\"certbot_selected_webroot\":\"/data/tls/certbot/acme-challenge\",\"certbot_selected_webroot_sha256\":\"30d7909b816648baae928075d5896e0f899e97c81b6af645d41645df2cd87ec7\",\"certbot_strategy\":\"CERTBOT_WEBROOT_HTTP_01_PERSISTENT\",\"certbot_webroot_metadata_exact\":true,\"certificate_config_path_sha256\":null,\"certificate_configured\":null,\"certificate_covers_domain\":null,\"certificate_path_sha256\":null,\"certificate_private_key_read\":null,\"certificate_remaining_seconds_bucket\":null,\"certificate_sha256\":null,\"certificate_valid_now\":null,\"command_audit_count\":14,\"command_audit_output_returned\":false,\"command_audit_stage_set_sha256\":\"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a\",\"diagnosis\":\"EDGE_PROXY_PREFLIGHT_BLOCKED\",\"domain_match_count\":0,\"effective_nginx_bytes\":117434,\"effective_nginx_sha256\":\"65a2bc2c284ecc78b0d8d08b222d0cdab377c34305e87ceee367a26316829403\",\"failed_checks\":[\"generic_reference_transform_ready\",\"one_valid_domain_certificate\",\"upstream_live_exact\",\"upstream_ready_exact\"],\"failed_checks_allowlisted\":true,\"failure_evidence\":null,\"key_content_read\":null,\"key_exists\":null,\"key_path_sha256\":null,\"nginx_test_rc\":0,\"npmplus_container_id_sha256\":\"493576b742fc30ff359bab4661f9f1aedde0bdb840b9bf61012388d9559ad296\",\"npmplus_data_mount_exact\":true,\"npmplus_health\":\"healthy\",\"npmplus_image_sha256\":\"d16df105013397a10fa5200e967d82c9e9144b1e81737fe30f91165f65a35402\",\"npmplus_running\":true,\"npmplus_started_at_sha256\":\"2e3db5e8a35be23cae35c3ad39b177cb0750fe38dbbcec8902f77352a56b8ba0\",\"ok\":false,\"persistent_acme_http_route_count\":46,\"persistent_acme_http_route_present\":true,\"primary_certificate_path_states\":{\"archive\":{\"exists\":false,\"kind\":null},\"live\":{\"exists\":false,\"kind\":null},\"renewal\":{\"exists\":false,\"kind\":null}},\"primary_certificate_paths_absent\":true,\"private_addresses_included\":false,\"proxy_file_count\":56,\"proxy_tree_sha256\":\"4064198ad6357b7ab19ad3746f3c382776277e6299be945780af31425b303fb3\",\"route_bytes\":null,\"route_content_returned\":null,\"route_domain_exact\":null,\"route_filename\":null,\"route_persistent_acme_root_count\":null,\"route_private_addresses_returned\":null,\"route_risky_directives\":null,\"route_safe_acme_allow\":null,\"route_sha256\":null,\"secret_files_read\":false,\"secrets_included\":false,\"status\":\"FAIL\",\"upstream_host_configured\":null,\"upstream_host_sha256\":null,\"upstream_port\":null,\"upstream_proxy_pass_present\":null,\"upstream_scheme\":null,\"upstream_style\":null},\"gate\":\"BLOCKED\",\"gitea_changed\":false,\"homepage\":{\"backup_bytes\":12005,\"backup_mode\":\"0o600\",\"backup_sha256\":\"6468974ef09b3d9899bae5df4d8a7fa711d6cf16edda00b116747192277dcb2c\",\"card_count\":65,\"contains_private_dispatch_material\":false,\"failed_checks\":[],\"group_count\":7,\"hbarhub_card_exact\":true,\"homepage_api_sha256\":\"a1ece968406ec5ce5ba02197d5270d1e3ce34da451a69cc3cc5f38b6081ada0d\",\"homepage_api_target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1},\"homepage_image_id_sha256\":\"242e6332e372aaffcf7c821cff66dcbc12c42b2cd4ae282db9533b640892ac79\",\"homepage_image_reference_sha256\":\"b0c046cffbc1a48af0e6b240575c63b6f405debba0b2c50fa190616b5ea62808\",\"homepage_mount_exact\":true,\"homepage_restart_count\":0,\"newfilya_card_exact\":true,\"newfilya_monitor_enabled\":false,\"ok\":true,\"secret_file_read\":false,\"secrets_included\":false,\"services_bytes\":12308,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"services_structure_sha256\":\"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82\",\"source_contents_returned\":false,\"status\":\"OK\",\"target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1}},\"homepage_changed\":false,\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"NEWFILYA_PUBLIC_TLS_PLAN_FIX\",\"npmplus_reloaded\":false,\"parent_v10_failure_evidence\":{\"capsule_bytes\":91586,\"capsule_sha256\":\"e459b6b04c842ec43e23d44935163c488460d529ee456a14906e4bfb8a5f79c2\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX1-V10-20260804T092000Z\",\"command_sha256\":\"eb8cae611596457796446a6f7e06c46315bdbaf5b72d87a9b3371ae67da603b5\",\"diagnosis\":\"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED\",\"edge_remote_rc\":1,\"edge_remote_stdout_bytes\":4825,\"edge_remote_stdout_sha256\":\"a46985e99ba1160268e81e1f6c920fb294d68491f014d29a084ef9674daae8aa\",\"gate\":\"BLOCKED\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"f03ab62f3c66920f27ac5aa0b8ad278bac481236138ff8167c3ea0bd4c3f410e\",\"public_leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"status\":\"FAIL\",\"tls_state\":\"SELF_SIGNED\"},\"parent_v11_failure_evidence\":{\"capsule_bytes\":92648,\"capsule_sha256\":\"ef73e94cd9dc195543296ea42f8e82243e823b88aa56a54380357403aa11e65f\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX2-V11-20260804T094000Z\",\"command_sha256\":\"b181fddb8f08dc98c269c3cbdd9dac57d6391f4587cb02bc2e3c8d7c076515c5\",\"diagnosis\":\"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED\",\"edge_command_audit_count\":14,\"edge_command_audit_stage_set_sha256\":\"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a\",\"edge_failure_message_bytes\":55,\"edge_failure_message_sha256\":\"e1113f6f16265ce603b8123c8d38d4bb5d395acf458ff0531003ce72605916b5\",\"edge_failure_type\":\"AttributeError\",\"edge_remote_rc\":1,\"edge_remote_stdout_bytes\":4825,\"edge_remote_stdout_sha256\":\"0f25798ade036d428a9eb8fe98687d511de833d44eee7198b0f972b02daf385b\",\"gate\":\"BLOCKED\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"6d690c1f670fa38abfb8bdef4127cf386c4bf602812e9013ff56875139bdca71\",\"public_leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"runner_json_sha256\":\"0a17bb0f76432969699a9738f3a4d0bd99ad57b91f1894f0906c300a222317c5\",\"runner_text_sha256\":\"f84b9635d25ef8a9e18e86ba85b23055b32b17f7cc778a249985e22dd80a8c76\",\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"status\":\"FAIL\",\"tls_state\":\"SELF_SIGNED\"},\"parent_v8_evidence\":{\"capsule_bytes\":119374,\"capsule_sha256\":\"e5689bf4a8cfd99f2b0b7427936018d7c4f82ef535ca3b2046f87311fd829418\",\"card_count\":65,\"changes_made\":true,\"command_id\":\"HOMEPAGE-ADD-NEWFILYA-HBARHUB-ATOMIC-LIVE-APPLY-INDENT-FIX1-V8-20260804T083000Z\",\"gate\":\"APPLIED_AND_VERIFIED\",\"group_count\":7,\"hbarhub_monitor_enabled\":true,\"mutation_outcome\":\"MUTATED\",\"newfilya_monitor_enabled\":false,\"output_sha256\":\"0b8fccd5235c8a460a5c477a1747b03299c0f908310f029e728afe9cd6c2e706\",\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"runner_command_sha256\":\"a253ded2c86ff0445c7317080bc94c7138dc71ad20bd7bf9452e161aff8efbb1\",\"services_bytes\":12308,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"services_structure_sha256\":\"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82\",\"status\":\"OK\",\"target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1}},\"parent_v9_failure_evidence\":{\"capsule_bytes\":90705,\"capsule_sha256\":\"8e3918d06c8dda6e27c54836d71f1bcfed9b51bb5b006ae8525815cd287841e7\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-V9-20260804T090000Z\",\"command_sha256\":\"214195c7f7e365f8d2d20e31115a8d17b8fded41ef72c9c8a5d6e1f478d98059\",\"diagnosis\":\"CONTROL_PLANE_EXCEPTION\",\"failure_type\":\"TypeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"8e9abfc55dc183e11da09fa973e9b1cd121b991eab0294aa10471911bf7c6a16\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\"},\"plan\":{\"action\":null,\"apply_scope\":{\"certificate_domain_count\":1,\"certificate_strategy\":\"PRIMARY_NAME_IF_ABSENT_ELSE_NEW_ISOLATED_LINEAGE\",\"desired_state_changes\":false,\"dns_changes\":false,\"edge_vm_restart_forbidden\":true,\"first_mutation\":\"HOMEPAGE_MONITOR_ONLY\",\"gitea_changes\":false,\"homepage_restart_forbidden\":true,\"homepage_site_monitor_lines_added_eventually\":1,\"nginx_config_test_required\":true,\"nginx_reload_allowed\":false,\"npmplus_restart_forbidden\":true,\"other_homepage_cards_changed\":0,\"private_addresses_in_output\":false,\"private_keys_read\":false,\"proxy_directives_allowed\":[\"ssl_certificate\",\"ssl_certificate_key\"],\"selected_proxy_file_count\":1},\"domain\":\"newfilya.ru\",\"edge_lock\":{\"certbot_account_count\":2,\"certbot_account_path_set_sha256\":\"27b94e58c9c61e1300cfe7d73f5061f93b31c7966a8e8f101f2fd68c7fcff31e\",\"certbot_available\":true,\"certbot_config_metadata_exact\":true,\"certbot_config_stat_sha256\":\"ac465eeb18a1b03028ed66ef0589dc6b5bdf2a432efe01445044987a3b7ff08d\",\"certbot_root_kind\":\"directory\",\"certbot_selected_webroot\":\"/data/tls/certbot/acme-challenge\",\"certbot_selected_webroot_sha256\":\"30d7909b816648baae928075d5896e0f899e97c81b6af645d41645df2cd87ec7\",\"certbot_strategy\":\"CERTBOT_WEBROOT_HTTP_01_PERSISTENT\",\"certbot_webroot_metadata_exact\":true,\"certificate_config_path_sha256\":null,\"certificate_configured\":null,\"certificate_covers_domain\":null,\"certificate_path_sha256\":null,\"certificate_private_key_read\":null,\"certificate_remaining_seconds_bucket\":null,\"certificate_sha256\":null,\"certificate_valid_now\":null,\"command_audit_count\":14,\"command_audit_output_returned\":false,\"command_audit_stage_set_sha256\":\"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a\",\"diagnosis\":\"EDGE_PROXY_PREFLIGHT_BLOCKED\",\"domain_match_count\":0,\"effective_nginx_bytes\":117434,\"effective_nginx_sha256\":\"65a2bc2c284ecc78b0d8d08b222d0cdab377c34305e87ceee367a26316829403\",\"failed_checks\":[\"generic_reference_transform_ready\",\"one_valid_domain_certificate\",\"upstream_live_exact\",\"upstream_ready_exact\"],\"failed_checks_allowlisted\":true,\"failure_evidence\":null,\"key_content_read\":null,\"key_exists\":null,\"key_path_sha256\":null,\"nginx_test_rc\":0,\"npmplus_container_id_sha256\":\"493576b742fc30ff359bab4661f9f1aedde0bdb840b9bf61012388d9559ad296\",\"npmplus_data_mount_exact\":true,\"npmplus_health\":\"healthy\",\"npmplus_image_sha256\":\"d16df105013397a10fa5200e967d82c9e9144b1e81737fe30f91165f65a35402\",\"npmplus_running\":true,\"npmplus_started_at_sha256\":\"2e3db5e8a35be23cae35c3ad39b177cb0750fe38dbbcec8902f77352a56b8ba0\",\"ok\":false,\"persistent_acme_http_route_count\":46,\"persistent_acme_http_route_present\":true,\"primary_certificate_path_states\":{\"archive\":{\"exists\":false,\"kind\":null},\"live\":{\"exists\":false,\"kind\":null},\"renewal\":{\"exists\":false,\"kind\":null}},\"primary_certificate_paths_absent\":true,\"private_addresses_included\":false,\"proxy_file_count\":56,\"proxy_tree_sha256\":\"4064198ad6357b7ab19ad3746f3c382776277e6299be945780af31425b303fb3\",\"route_bytes\":null,\"route_content_returned\":null,\"route_domain_exact\":null,\"route_filename\":null,\"route_persistent_acme_root_count\":null,\"route_private_addresses_returned\":null,\"route_risky_directives\":null,\"route_safe_acme_allow\":null,\"route_sha256\":null,\"secret_files_read\":false,\"secrets_included\":false,\"status\":\"FAIL\",\"upstream_host_configured\":null,\"upstream_host_sha256\":null,\"upstream_port\":null,\"upstream_proxy_pass_present\":null,\"upstream_scheme\":null,\"upstream_style\":null},\"homepage_lock\":{\"backup_bytes\":12005,\"backup_mode\":\"0o600\",\"backup_sha256\":\"6468974ef09b3d9899bae5df4d8a7fa711d6cf16edda00b116747192277dcb2c\",\"card_count\":65,\"contains_private_dispatch_material\":false,\"failed_checks\":[],\"group_count\":7,\"hbarhub_card_exact\":true,\"homepage_api_sha256\":\"a1ece968406ec5ce5ba02197d5270d1e3ce34da451a69cc3cc5f38b6081ada0d\",\"homepage_api_target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1},\"homepage_image_id_sha256\":\"242e6332e372aaffcf7c821cff66dcbc12c42b2cd4ae282db9533b640892ac79\",\"homepage_image_reference_sha256\":\"b0c046cffbc1a48af0e6b240575c63b6f405debba0b2c50fa190616b5ea62808\",\"homepage_mount_exact\":true,\"homepage_restart_count\":0,\"newfilya_card_exact\":true,\"newfilya_monitor_enabled\":false,\"ok\":true,\"secret_file_read\":false,\"secrets_included\":false,\"services_bytes\":12308,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"services_structure_sha256\":\"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82\",\"source_contents_returned\":false,\"status\":\"OK\",\"target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1}},\"next_stage\":\"NEWFILYA_PUBLIC_TLS_PLAN_FIX\",\"operation\":\"NEWFILYA_PUBLIC_TLS_THEN_HOMEPAGE_MONITOR\",\"parent_v8_evidence\":{\"capsule_bytes\":119374,\"capsule_sha256\":\"e5689bf4a8cfd99f2b0b7427936018d7c4f82ef535ca3b2046f87311fd829418\",\"card_count\":65,\"changes_made\":true,\"command_id\":\"HOMEPAGE-ADD-NEWFILYA-HBARHUB-ATOMIC-LIVE-APPLY-INDENT-FIX1-V8-20260804T083000Z\",\"gate\":\"APPLIED_AND_VERIFIED\",\"group_count\":7,\"hbarhub_monitor_enabled\":true,\"mutation_outcome\":\"MUTATED\",\"newfilya_monitor_enabled\":false,\"output_sha256\":\"0b8fccd5235c8a460a5c477a1747b03299c0f908310f029e728afe9cd6c2e706\",\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"runner_command_sha256\":\"a253ded2c86ff0445c7317080bc94c7138dc71ad20bd7bf9452e161aff8efbb1\",\"services_bytes\":12308,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"services_structure_sha256\":\"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82\",\"status\":\"OK\",\"target_href_counts\":{\"hbarhub.ru\":1,\"newfilya.ru\":1}},\"predecessor_v10_failure_evidence\":{\"capsule_bytes\":91586,\"capsule_sha256\":\"e459b6b04c842ec43e23d44935163c488460d529ee456a14906e4bfb8a5f79c2\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX1-V10-20260804T092000Z\",\"command_sha256\":\"eb8cae611596457796446a6f7e06c46315bdbaf5b72d87a9b3371ae67da603b5\",\"diagnosis\":\"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED\",\"edge_remote_rc\":1,\"edge_remote_stdout_bytes\":4825,\"edge_remote_stdout_sha256\":\"a46985e99ba1160268e81e1f6c920fb294d68491f014d29a084ef9674daae8aa\",\"gate\":\"BLOCKED\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"f03ab62f3c66920f27ac5aa0b8ad278bac481236138ff8167c3ea0bd4c3f410e\",\"public_leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"status\":\"FAIL\",\"tls_state\":\"SELF_SIGNED\"},\"predecessor_v11_failure_evidence\":{\"capsule_bytes\":92648,\"capsule_sha256\":\"ef73e94cd9dc195543296ea42f8e82243e823b88aa56a54380357403aa11e65f\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX2-V11-20260804T094000Z\",\"command_sha256\":\"b181fddb8f08dc98c269c3cbdd9dac57d6391f4587cb02bc2e3c8d7c076515c5\",\"diagnosis\":\"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED\",\"edge_command_audit_count\":14,\"edge_command_audit_stage_set_sha256\":\"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a\",\"edge_failure_message_bytes\":55,\"edge_failure_message_sha256\":\"e1113f6f16265ce603b8123c8d38d4bb5d395acf458ff0531003ce72605916b5\",\"edge_failure_type\":\"AttributeError\",\"edge_remote_rc\":1,\"edge_remote_stdout_bytes\":4825,\"edge_remote_stdout_sha256\":\"0f25798ade036d428a9eb8fe98687d511de833d44eee7198b0f972b02daf385b\",\"gate\":\"BLOCKED\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"6d690c1f670fa38abfb8bdef4127cf386c4bf602812e9013ff56875139bdca71\",\"public_leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"runner_json_sha256\":\"0a17bb0f76432969699a9738f3a4d0bd99ad57b91f1894f0906c300a222317c5\",\"runner_text_sha256\":\"f84b9635d25ef8a9e18e86ba85b23055b32b17f7cc778a249985e22dd80a8c76\",\"services_sha256\":\"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928\",\"status\":\"FAIL\",\"tls_state\":\"SELF_SIGNED\"},\"predecessor_v9_failure_evidence\":{\"capsule_bytes\":90705,\"capsule_sha256\":\"8e3918d06c8dda6e27c54836d71f1bcfed9b51bb5b006ae8525815cd287841e7\",\"changes_made\":false,\"command_id\":\"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-V9-20260804T090000Z\",\"command_sha256\":\"214195c7f7e365f8d2d20e31115a8d17b8fded41ef72c9c8a5d6e1f478d98059\",\"diagnosis\":\"CONTROL_PLANE_EXCEPTION\",\"failure_type\":\"TypeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"8e9abfc55dc183e11da09fa973e9b1cd121b991eab0294aa10471911bf7c6a16\",\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\"},\"public_lock\":{\"acme_http\":{\"completed\":true,\"final_hop\":{\"body_bytes\":124,\"body_sha256\":\"8cdc5c9588e8cc315d89a7c73f1bea4d41f8d68ae165756df0ec4a7db6a49892\",\"certificate_validation_disabled\":true,\"completed\":true,\"header_values_returned\":false,\"location_present\":false,\"status\":404},\"first_hop\":{\"body_bytes\":140,\"body_sha256\":\"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a\",\"completed\":true,\"header_values_returned\":false,\"location_matches_expected_https\":true,\"location_present\":true,\"status\":301},\"header_values_returned\":false,\"path_sha256\":\"e607916d673bf51a6f3308ddd6069ae2da45daaec36dd78c419a41250a81f1af\",\"redirect_count\":1,\"route_model\":\"HTTP_TO_HTTPS_404\",\"route_proven\":true},\"addresses_returned\":false,\"anchor_dns\":{\"address_set_sha256\":\"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13\",\"addresses_returned\":false,\"public_target_count\":1,\"record_count\":1,\"resolved\":true},\"body_returned\":false,\"certificate_contents_returned\":false,\"dns\":{\"address_set_sha256\":\"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13\",\"addresses_returned\":false,\"families\":[\"IPv4\"],\"public_target_count\":1,\"record_count\":1,\"rejected_non_public_count\":0,\"resolved\":true},\"dns_matches_hbarhub_anchor\":true,\"http\":{\"bad_gateway\":false,\"body_bytes\":140,\"body_sha256\":\"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a\",\"completed\":true,\"connection_mode\":\"PINNED_GLOBAL_TARGET\",\"header_values_returned\":false,\"npmplus_default\":false,\"redirects_to_expected_https\":true,\"status\":301},\"https_unverified\":{\"bad_gateway\":false,\"body_bytes\":2056,\"body_returned\":false,\"body_sha256\":\"808dfeea0cf787d85e03645e62ab18b97ab8138924420966413edcfe22ef4879\",\"certificate_validation_disabled\":true,\"completed\":true,\"connection_mode\":\"PINNED_GLOBAL_TARGET_WITH_SNI\",\"leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"npmplus_default\":true,\"status\":200},\"tcp_443\":{\"addresses_returned\":false,\"attempt_count\":1,\"error_types\":{},\"reachable\":true,\"success_count\":1},\"tls_443\":{\"addresses_returned\":false,\"attempt_count\":1,\"certificate_contents_returned\":false,\"unverified\":{\"certificate_contents_returned\":false,\"certificate_validation_disabled\":true,\"completed\":true,\"error_types\":{},\"leaf_certificate_count\":1,\"leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"leaf_set_sha256\":\"620f5c3147455134d92b987f4f0c17c97663931b52966c15d089b43e1e452c1b\",\"protocols\":[\"TLSv1.3\"],\"success_count\":1},\"verified\":false,\"verified_leaf_certificate_sha256\":null,\"verified_protocol\":null,\"verified_success_count\":0,\"verify_codes\":{\"18\":1}}},\"rollback_requirements\":[\"backup selected proxy config before TLS path swap\",\"remove only newly created certbot lineage when apply fails\",\"restore proxy config byte-for-byte and validate nginx before reload\",\"enable Homepage monitoring only after trusted public TLS is verified\"],\"schema\":1},\"private_addresses_included\":false,\"private_keys_read\":false,\"production_site_changed\":false,\"public\":{\"acme_http\":{\"completed\":true,\"final_hop\":{\"body_bytes\":124,\"body_sha256\":\"8cdc5c9588e8cc315d89a7c73f1bea4d41f8d68ae165756df0ec4a7db6a49892\",\"certificate_validation_disabled\":true,\"completed\":true,\"header_values_returned\":false,\"location_present\":false,\"status\":404},\"first_hop\":{\"body_bytes\":140,\"body_sha256\":\"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a\",\"completed\":true,\"header_values_returned\":false,\"location_matches_expected_https\":true,\"location_present\":true,\"status\":301},\"header_values_returned\":false,\"path_sha256\":\"e607916d673bf51a6f3308ddd6069ae2da45daaec36dd78c419a41250a81f1af\",\"redirect_count\":1,\"route_model\":\"HTTP_TO_HTTPS_404\",\"route_proven\":true},\"addresses_returned\":false,\"anchor_dns\":{\"address_set_sha256\":\"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13\",\"addresses_returned\":false,\"public_target_count\":1,\"record_count\":1,\"resolved\":true},\"body_returned\":false,\"certificate_contents_returned\":false,\"dns\":{\"address_set_sha256\":\"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13\",\"addresses_returned\":false,\"families\":[\"IPv4\"],\"public_target_count\":1,\"record_count\":1,\"rejected_non_public_count\":0,\"resolved\":true},\"dns_matches_hbarhub_anchor\":true,\"http\":{\"bad_gateway\":false,\"body_bytes\":140,\"body_sha256\":\"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a\",\"completed\":true,\"connection_mode\":\"PINNED_GLOBAL_TARGET\",\"header_values_returned\":false,\"npmplus_default\":false,\"redirects_to_expected_https\":true,\"status\":301},\"https_unverified\":{\"bad_gateway\":false,\"body_bytes\":2056,\"body_returned\":false,\"body_sha256\":\"808dfeea0cf787d85e03645e62ab18b97ab8138924420966413edcfe22ef4879\",\"certificate_validation_disabled\":true,\"completed\":true,\"connection_mode\":\"PINNED_GLOBAL_TARGET_WITH_SNI\",\"leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"npmplus_default\":true,\"status\":200},\"tcp_443\":{\"addresses_returned\":false,\"attempt_count\":1,\"error_types\":{},\"reachable\":true,\"success_count\":1},\"tls_443\":{\"addresses_returned\":false,\"attempt_count\":1,\"certificate_contents_returned\":false,\"unverified\":{\"certificate_contents_returned\":false,\"certificate_validation_disabled\":true,\"completed\":true,\"error_types\":{},\"leaf_certificate_count\":1,\"leaf_certificate_sha256\":\"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93\",\"leaf_set_sha256\":\"620f5c3147455134d92b987f4f0c17c97663931b52966c15d089b43e1e452c1b\",\"protocols\":[\"TLSv1.3\"],\"success_count\":1},\"verified\":false,\"verified_leaf_certificate_sha256\":null,\"verified_protocol\":null,\"verified_success_count\":0,\"verify_codes\":{\"18\":1}}},\"public_proxy_changed\":false,\"rc\":1,\"read_only\":true,\"ready_for_apply\":false,\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secret_files_read\":false,\"secrets_included\":false,\"source_contents_returned\":false,\"status\":\"FAIL\",\"tls_state\":\"SELF_SIGNED\",\"transport\":{\"core\":{\"config_view\":\"service-view\",\"mode\":\"DIRECT_QGA\",\"private_addresses_returned\":false,\"qga_step_count\":6,\"qga_step_set_sha256\":\"a7e91bb1bc28f1eb32e48844ca165f85170f0dfbe014d347e6751e5303d9b771\",\"remote_rc\":0,\"remote_stdout_bytes\":2806,\"remote_stdout_sha256\":\"565fda84f910a587fafcd1bfe10c35c6652dcca3851fd2b240c7d5b98fdf8e0f\",\"socket_view\":\"service-view\",\"vm_name\":\"core-apps\",\"vmid\":170},\"edge\":{\"config_view\":\"service-view\",\"mode\":\"STRICT_SSH_TO_OWNING_NODE_THEN_DIRECT_QGA\",\"node\":\"pve03\",\"private_addresses_returned\":false,\"qga_step_count\":10,\"qga_step_set_sha256\":\"8884f06763a4541832d96ceebc7ac2d866043949574ae04709a711d21f9962b2\",\"remote_rc\":1,\"remote_stdout_bytes\":12060,\"remote_stdout_sha256\":\"d7f9bd738cf4abb3b7e0caa18b98f57883fea0e3eefff7cffbcb5dfc74f27723\",\"socket_view\":\"service-view\",\"ssh_rc\":0,\"vm_name\":\"edge-vm\",\"vmid\":130}}}\n" -} +{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20260804T101701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-08-04T10:17:01Z","finished_at_utc":"2026-08-04T10:17:02Z","reference_register_checked":true,"reference_sha256":"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e","error_register_checked":true,"error_register_sha256":"24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} diff --git a/runtime/latest.txt b/runtime/latest.txt index 670419f..5200106 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,34 +1,164 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z -STATUS=FAIL -RC=1 +COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z +STATUS=OK +RC=0 HOST=pve01 -MODE=verify -COMPONENT=homepage-newfilya-public-tls-read-only-plan-fix3-v12 -REFERENCE_REGISTER_CHECK=OK -REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e -ERROR_REGISTER_CHECK=OK -ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=54ecaf5977858caa5a64e76d6acafabe9618d9e28181f4e7f4854bce969e07c7 -DUPLICATE_FAILED_COMMAND_BLOCKED=false -EXECUTION_STARTED=true -CHANGE_DECLARED=false -RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=NOT_APPLICABLE -RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=1 -CHANGES_MADE=false -ROLLBACK_STARTED=false -ROLLBACK_RESTORED=null -MUTATION_OUTCOME=NO_MUTATION -SANITIZED=yes -SECRETS_INCLUDED=no -PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=9f9ba05a451c9a7f4b2ff4426e3c26380738d212c6071fc73585177ed5dcda29 -SANITIZED_OUTPUT_SHA256=9f9ba05a451c9a7f4b2ff4426e3c26380738d212c6071fc73585177ed5dcda29 +COMPONENT=cluster-context +REFERENCE_SHA[PRIVATE_IP]f8edc75fcf[PRIVATE_IP]c[PRIVATE_IP]cc112ceccb6cf[PRIVATE_IP]a4deb8e +ERROR_REGISTER_SHA[PRIVATE_IP]c7fa[PRIVATE_IP]583c4aefac[PRIVATE_IP]1736ed[PRIVATE_IP]ab83 OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} -{"PLAN_SHA256":null,"action":null,"blockers":["CURRENT_SELF_SIGNED_CERTIFICATE_NOT_VALID_NOW","EDGE_PRIVATE_KEY_PRIVACY_INVALID","EDGE_ROUTE_PRIVACY_CONTRACT_INVALID","NEWFILYA_EDGE_CERTIFICATE_NOT_IDENTIFIED","NEWFILYA_EDGE_PRIVATE_KEY_MISSING","NEWFILYA_PROXY_ACME_ROUTE_NOT_READY","NEWFILYA_PROXY_ROUTE_NOT_UNIQUE","NEWFILYA_PROXY_ROUTE_RISKY_DIRECTIVES","NEWFILYA_PUBLIC_RESPONSE_INVALID","NEWFILYA_UPSTREAM_NOT_CONFIGURED","NEWFILYA_UPSTREAM_SHAPE_INVALID","PUBLIC_EDGE_CERTIFICATE_MISMATCH"],"body_returned":false,"certificate_changed":false,"certificate_contents_returned":false,"changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX3-V12-20260804T100000Z","container_restarted":false,"control_plane_error":null,"desired_state_changed":false,"diagnosis":"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED","dns_changed":false,"duration_ms":3147,"edge":{"certbot_account_count":2,"certbot_account_path_set_sha256":"27b94e58c9c61e1300cfe7d73f5061f93b31c7966a8e8f101f2fd68c7fcff31e","certbot_available":true,"certbot_config_metadata_exact":true,"certbot_config_stat_sha256":"ac465eeb18a1b03028ed66ef0589dc6b5bdf2a432efe01445044987a3b7ff08d","certbot_root_kind":"directory","certbot_selected_webroot":"/data/tls/certbot/acme-challenge","certbot_selected_webroot_sha256":"30d7909b816648baae928075d5896e0f899e97c81b6af645d41645df2cd87ec7","certbot_strategy":"CERTBOT_WEBROOT_HTTP_01_PERSISTENT","certbot_webroot_metadata_exact":true,"certificate_config_path_sha256":null,"certificate_configured":null,"certificate_covers_domain":null,"certificate_path_sha256":null,"certificate_private_key_read":null,"certificate_remaining_seconds_bucket":null,"certificate_sha256":null,"certificate_valid_now":null,"command_audit_count":14,"command_audit_output_returned":false,"command_audit_stage_set_sha256":"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a","diagnosis":"EDGE_PROXY_PREFLIGHT_BLOCKED","domain_match_count":0,"effective_nginx_bytes":117434,"effective_nginx_sha256":"65a2bc2c284ecc78b0d8d08b222d0cdab377c34305e87ceee367a26316829403","failed_checks":["generic_reference_transform_ready","one_valid_domain_certificate","upstream_live_exact","upstream_ready_exact"],"failed_checks_allowlisted":true,"failure_evidence":null,"key_content_read":null,"key_exists":null,"key_path_sha256":null,"nginx_test_rc":0,"npmplus_container_id_sha256":"493576b742fc30ff359bab4661f9f1aedde0bdb840b9bf61012388d9559ad296","npmplus_data_mount_exact":true,"npmplus_health":"healthy","npmplus_image_sha256":"d16df105013397a10fa5200e967d82c9e9144b1e81737fe30f91165f65a35402","npmplus_running":true,"npmplus_started_at_sha256":"2e3db5e8a35be23cae35c3ad39b177cb0750fe38dbbcec8902f77352a56b8ba0","ok":false,"persistent_acme_http_route_count":46,"persistent_acme_http_route_present":true,"primary_certificate_path_states":{"archive":{"exists":false,"kind":null},"live":{"exists":false,"kind":null},"renewal":{"exists":false,"kind":null}},"primary_certificate_paths_absent":true,"private_addresses_included":false,"proxy_file_count":56,"proxy_tree_sha256":"4064198ad6357b7ab19ad3746f3c382776277e6299be945780af31425b303fb3","route_bytes":null,"route_content_returned":null,"route_domain_exact":null,"route_filename":null,"route_persistent_acme_root_count":null,"route_private_addresses_returned":null,"route_risky_directives":null,"route_safe_acme_allow":null,"route_sha256":null,"secret_files_read":false,"secrets_included":false,"status":"FAIL","upstream_host_configured":null,"upstream_host_sha256":null,"upstream_port":null,"upstream_proxy_pass_present":null,"upstream_scheme":null,"upstream_style":null},"gate":"BLOCKED","gitea_changed":false,"homepage":{"backup_bytes":12005,"backup_mode":"0o600","backup_sha256":"6468974ef09b3d9899bae5df4d8a7fa711d6cf16edda00b116747192277dcb2c","card_count":65,"contains_private_dispatch_material":false,"failed_checks":[],"group_count":7,"hbarhub_card_exact":true,"homepage_api_sha256":"a1ece968406ec5ce5ba02197d5270d1e3ce34da451a69cc3cc5f38b6081ada0d","homepage_api_target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1},"homepage_image_id_sha256":"242e6332e372aaffcf7c821cff66dcbc12c42b2cd4ae282db9533b640892ac79","homepage_image_reference_sha256":"b0c046cffbc1a48af0e6b240575c63b6f405debba0b2c50fa190616b5ea62808","homepage_mount_exact":true,"homepage_restart_count":0,"newfilya_card_exact":true,"newfilya_monitor_enabled":false,"ok":true,"secret_file_read":false,"secrets_included":false,"services_bytes":12308,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","services_structure_sha256":"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82","source_contents_returned":false,"status":"OK","target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1}},"homepage_changed":false,"mutation_outcome":"NO_MUTATION","next_stage":"NEWFILYA_PUBLIC_TLS_PLAN_FIX","npmplus_reloaded":false,"parent_v10_failure_evidence":{"capsule_bytes":91586,"capsule_sha256":"e459b6b04c842ec43e23d44935163c488460d529ee456a14906e4bfb8a5f79c2","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX1-V10-20260804T092000Z","command_sha256":"eb8cae611596457796446a6f7e06c46315bdbaf5b72d87a9b3371ae67da603b5","diagnosis":"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED","edge_remote_rc":1,"edge_remote_stdout_bytes":4825,"edge_remote_stdout_sha256":"a46985e99ba1160268e81e1f6c920fb294d68491f014d29a084ef9674daae8aa","gate":"BLOCKED","mutation_outcome":"NO_MUTATION","output_sha256":"f03ab62f3c66920f27ac5aa0b8ad278bac481236138ff8167c3ea0bd4c3f410e","public_leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","rc":1,"rollback_restored":null,"rollback_started":false,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","status":"FAIL","tls_state":"SELF_SIGNED"},"parent_v11_failure_evidence":{"capsule_bytes":92648,"capsule_sha256":"ef73e94cd9dc195543296ea42f8e82243e823b88aa56a54380357403aa11e65f","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX2-V11-20260804T094000Z","command_sha256":"b181fddb8f08dc98c269c3cbdd9dac57d6391f4587cb02bc2e3c8d7c076515c5","diagnosis":"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED","edge_command_audit_count":14,"edge_command_audit_stage_set_sha256":"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a","edge_failure_message_bytes":55,"edge_failure_message_sha256":"e1113f6f16265ce603b8123c8d38d4bb5d395acf458ff0531003ce72605916b5","edge_failure_type":"AttributeError","edge_remote_rc":1,"edge_remote_stdout_bytes":4825,"edge_remote_stdout_sha256":"0f25798ade036d428a9eb8fe98687d511de833d44eee7198b0f972b02daf385b","gate":"BLOCKED","mutation_outcome":"NO_MUTATION","output_sha256":"6d690c1f670fa38abfb8bdef4127cf386c4bf602812e9013ff56875139bdca71","public_leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","rc":1,"rollback_restored":null,"rollback_started":false,"runner_json_sha256":"0a17bb0f76432969699a9738f3a4d0bd99ad57b91f1894f0906c300a222317c5","runner_text_sha256":"f84b9635d25ef8a9e18e86ba85b23055b32b17f7cc778a249985e22dd80a8c76","services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","status":"FAIL","tls_state":"SELF_SIGNED"},"parent_v8_evidence":{"capsule_bytes":119374,"capsule_sha256":"e5689bf4a8cfd99f2b0b7427936018d7c4f82ef535ca3b2046f87311fd829418","card_count":65,"changes_made":true,"command_id":"HOMEPAGE-ADD-NEWFILYA-HBARHUB-ATOMIC-LIVE-APPLY-INDENT-FIX1-V8-20260804T083000Z","gate":"APPLIED_AND_VERIFIED","group_count":7,"hbarhub_monitor_enabled":true,"mutation_outcome":"MUTATED","newfilya_monitor_enabled":false,"output_sha256":"0b8fccd5235c8a460a5c477a1747b03299c0f908310f029e728afe9cd6c2e706","rc":0,"rollback_restored":null,"rollback_started":false,"runner_command_sha256":"a253ded2c86ff0445c7317080bc94c7138dc71ad20bd7bf9452e161aff8efbb1","services_bytes":12308,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","services_structure_sha256":"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82","status":"OK","target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1}},"parent_v9_failure_evidence":{"capsule_bytes":90705,"capsule_sha256":"8e3918d06c8dda6e27c54836d71f1bcfed9b51bb5b006ae8525815cd287841e7","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-V9-20260804T090000Z","command_sha256":"214195c7f7e365f8d2d20e31115a8d17b8fded41ef72c9c8a5d6e1f478d98059","diagnosis":"CONTROL_PLANE_EXCEPTION","failure_type":"TypeError","mutation_outcome":"NO_MUTATION","output_sha256":"8e9abfc55dc183e11da09fa973e9b1cd121b991eab0294aa10471911bf7c6a16","rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL"},"plan":{"action":null,"apply_scope":{"certificate_domain_count":1,"certificate_strategy":"PRIMARY_NAME_IF_ABSENT_ELSE_NEW_ISOLATED_LINEAGE","desired_state_changes":false,"dns_changes":false,"edge_vm_restart_forbidden":true,"first_mutation":"HOMEPAGE_MONITOR_ONLY","gitea_changes":false,"homepage_restart_forbidden":true,"homepage_site_monitor_lines_added_eventually":1,"nginx_config_test_required":true,"nginx_reload_allowed":false,"npmplus_restart_forbidden":true,"other_homepage_cards_changed":0,"private_addresses_in_output":false,"private_keys_read":false,"proxy_directives_allowed":["ssl_certificate","ssl_certificate_key"],"selected_proxy_file_count":1},"domain":"newfilya.ru","edge_lock":{"certbot_account_count":2,"certbot_account_path_set_sha256":"27b94e58c9c61e1300cfe7d73f5061f93b31c7966a8e8f101f2fd68c7fcff31e","certbot_available":true,"certbot_config_metadata_exact":true,"certbot_config_stat_sha256":"ac465eeb18a1b03028ed66ef0589dc6b5bdf2a432efe01445044987a3b7ff08d","certbot_root_kind":"directory","certbot_selected_webroot":"/data/tls/certbot/acme-challenge","certbot_selected_webroot_sha256":"30d7909b816648baae928075d5896e0f899e97c81b6af645d41645df2cd87ec7","certbot_strategy":"CERTBOT_WEBROOT_HTTP_01_PERSISTENT","certbot_webroot_metadata_exact":true,"certificate_config_path_sha256":null,"certificate_configured":null,"certificate_covers_domain":null,"certificate_path_sha256":null,"certificate_private_key_read":null,"certificate_remaining_seconds_bucket":null,"certificate_sha256":null,"certificate_valid_now":null,"command_audit_count":14,"command_audit_output_returned":false,"command_audit_stage_set_sha256":"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a","diagnosis":"EDGE_PROXY_PREFLIGHT_BLOCKED","domain_match_count":0,"effective_nginx_bytes":117434,"effective_nginx_sha256":"65a2bc2c284ecc78b0d8d08b222d0cdab377c34305e87ceee367a26316829403","failed_checks":["generic_reference_transform_ready","one_valid_domain_certificate","upstream_live_exact","upstream_ready_exact"],"failed_checks_allowlisted":true,"failure_evidence":null,"key_content_read":null,"key_exists":null,"key_path_sha256":null,"nginx_test_rc":0,"npmplus_container_id_sha256":"493576b742fc30ff359bab4661f9f1aedde0bdb840b9bf61012388d9559ad296","npmplus_data_mount_exact":true,"npmplus_health":"healthy","npmplus_image_sha256":"d16df105013397a10fa5200e967d82c9e9144b1e81737fe30f91165f65a35402","npmplus_running":true,"npmplus_started_at_sha256":"2e3db5e8a35be23cae35c3ad39b177cb0750fe38dbbcec8902f77352a56b8ba0","ok":false,"persistent_acme_http_route_count":46,"persistent_acme_http_route_present":true,"primary_certificate_path_states":{"archive":{"exists":false,"kind":null},"live":{"exists":false,"kind":null},"renewal":{"exists":false,"kind":null}},"primary_certificate_paths_absent":true,"private_addresses_included":false,"proxy_file_count":56,"proxy_tree_sha256":"4064198ad6357b7ab19ad3746f3c382776277e6299be945780af31425b303fb3","route_bytes":null,"route_content_returned":null,"route_domain_exact":null,"route_filename":null,"route_persistent_acme_root_count":null,"route_private_addresses_returned":null,"route_risky_directives":null,"route_safe_acme_allow":null,"route_sha256":null,"secret_files_read":false,"secrets_included":false,"status":"FAIL","upstream_host_configured":null,"upstream_host_sha256":null,"upstream_port":null,"upstream_proxy_pass_present":null,"upstream_scheme":null,"upstream_style":null},"homepage_lock":{"backup_bytes":12005,"backup_mode":"0o600","backup_sha256":"6468974ef09b3d9899bae5df4d8a7fa711d6cf16edda00b116747192277dcb2c","card_count":65,"contains_private_dispatch_material":false,"failed_checks":[],"group_count":7,"hbarhub_card_exact":true,"homepage_api_sha256":"a1ece968406ec5ce5ba02197d5270d1e3ce34da451a69cc3cc5f38b6081ada0d","homepage_api_target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1},"homepage_image_id_sha256":"242e6332e372aaffcf7c821cff66dcbc12c42b2cd4ae282db9533b640892ac79","homepage_image_reference_sha256":"b0c046cffbc1a48af0e6b240575c63b6f405debba0b2c50fa190616b5ea62808","homepage_mount_exact":true,"homepage_restart_count":0,"newfilya_card_exact":true,"newfilya_monitor_enabled":false,"ok":true,"secret_file_read":false,"secrets_included":false,"services_bytes":12308,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","services_structure_sha256":"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82","source_contents_returned":false,"status":"OK","target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1}},"next_stage":"NEWFILYA_PUBLIC_TLS_PLAN_FIX","operation":"NEWFILYA_PUBLIC_TLS_THEN_HOMEPAGE_MONITOR","parent_v8_evidence":{"capsule_bytes":119374,"capsule_sha256":"e5689bf4a8cfd99f2b0b7427936018d7c4f82ef535ca3b2046f87311fd829418","card_count":65,"changes_made":true,"command_id":"HOMEPAGE-ADD-NEWFILYA-HBARHUB-ATOMIC-LIVE-APPLY-INDENT-FIX1-V8-20260804T083000Z","gate":"APPLIED_AND_VERIFIED","group_count":7,"hbarhub_monitor_enabled":true,"mutation_outcome":"MUTATED","newfilya_monitor_enabled":false,"output_sha256":"0b8fccd5235c8a460a5c477a1747b03299c0f908310f029e728afe9cd6c2e706","rc":0,"rollback_restored":null,"rollback_started":false,"runner_command_sha256":"a253ded2c86ff0445c7317080bc94c7138dc71ad20bd7bf9452e161aff8efbb1","services_bytes":12308,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","services_structure_sha256":"eff9a7e610218ffdd092d704d2fcfad357db5d3b75ee0cc584c606ae4ee61f82","status":"OK","target_href_counts":{"hbarhub.ru":1,"newfilya.ru":1}},"predecessor_v10_failure_evidence":{"capsule_bytes":91586,"capsule_sha256":"e459b6b04c842ec43e23d44935163c488460d529ee456a14906e4bfb8a5f79c2","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX1-V10-20260804T092000Z","command_sha256":"eb8cae611596457796446a6f7e06c46315bdbaf5b72d87a9b3371ae67da603b5","diagnosis":"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED","edge_remote_rc":1,"edge_remote_stdout_bytes":4825,"edge_remote_stdout_sha256":"a46985e99ba1160268e81e1f6c920fb294d68491f014d29a084ef9674daae8aa","gate":"BLOCKED","mutation_outcome":"NO_MUTATION","output_sha256":"f03ab62f3c66920f27ac5aa0b8ad278bac481236138ff8167c3ea0bd4c3f410e","public_leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","rc":1,"rollback_restored":null,"rollback_started":false,"services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","status":"FAIL","tls_state":"SELF_SIGNED"},"predecessor_v11_failure_evidence":{"capsule_bytes":92648,"capsule_sha256":"ef73e94cd9dc195543296ea42f8e82243e823b88aa56a54380357403aa11e65f","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-FIX2-V11-20260804T094000Z","command_sha256":"b181fddb8f08dc98c269c3cbdd9dac57d6391f4587cb02bc2e3c8d7c076515c5","diagnosis":"NEWFILYA_PUBLIC_TLS_PLAN_BLOCKED","edge_command_audit_count":14,"edge_command_audit_stage_set_sha256":"fd877d1138be7b704e1309015bd27cfc6388acc0c84a13cd85cf94a1aac0b68a","edge_failure_message_bytes":55,"edge_failure_message_sha256":"e1113f6f16265ce603b8123c8d38d4bb5d395acf458ff0531003ce72605916b5","edge_failure_type":"AttributeError","edge_remote_rc":1,"edge_remote_stdout_bytes":4825,"edge_remote_stdout_sha256":"0f25798ade036d428a9eb8fe98687d511de833d44eee7198b0f972b02daf385b","gate":"BLOCKED","mutation_outcome":"NO_MUTATION","output_sha256":"6d690c1f670fa38abfb8bdef4127cf386c4bf602812e9013ff56875139bdca71","public_leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","rc":1,"rollback_restored":null,"rollback_started":false,"runner_json_sha256":"0a17bb0f76432969699a9738f3a4d0bd99ad57b91f1894f0906c300a222317c5","runner_text_sha256":"f84b9635d25ef8a9e18e86ba85b23055b32b17f7cc778a249985e22dd80a8c76","services_sha256":"0b7360dc34b9bd3e25073eae449f3c0c5a6609f7eb9f4bb2feca72b6e04fc928","status":"FAIL","tls_state":"SELF_SIGNED"},"predecessor_v9_failure_evidence":{"capsule_bytes":90705,"capsule_sha256":"8e3918d06c8dda6e27c54836d71f1bcfed9b51bb5b006ae8525815cd287841e7","changes_made":false,"command_id":"HOMEPAGE-NEWFILYA-PUBLIC-TLS-READ-ONLY-PLAN-V9-20260804T090000Z","command_sha256":"214195c7f7e365f8d2d20e31115a8d17b8fded41ef72c9c8a5d6e1f478d98059","diagnosis":"CONTROL_PLANE_EXCEPTION","failure_type":"TypeError","mutation_outcome":"NO_MUTATION","output_sha256":"8e9abfc55dc183e11da09fa973e9b1cd121b991eab0294aa10471911bf7c6a16","rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL"},"public_lock":{"acme_http":{"completed":true,"final_hop":{"body_bytes":124,"body_sha256":"8cdc5c9588e8cc315d89a7c73f1bea4d41f8d68ae165756df0ec4a7db6a49892","certificate_validation_disabled":true,"completed":true,"header_values_returned":false,"location_present":false,"status":404},"first_hop":{"body_bytes":140,"body_sha256":"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a","completed":true,"header_values_returned":false,"location_matches_expected_https":true,"location_present":true,"status":301},"header_values_returned":false,"path_sha256":"e607916d673bf51a6f3308ddd6069ae2da45daaec36dd78c419a41250a81f1af","redirect_count":1,"route_model":"HTTP_TO_HTTPS_404","route_proven":true},"addresses_returned":false,"anchor_dns":{"address_set_sha256":"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13","addresses_returned":false,"public_target_count":1,"record_count":1,"resolved":true},"body_returned":false,"certificate_contents_returned":false,"dns":{"address_set_sha256":"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13","addresses_returned":false,"families":["IPv4"],"public_target_count":1,"record_count":1,"rejected_non_public_count":0,"resolved":true},"dns_matches_hbarhub_anchor":true,"http":{"bad_gateway":false,"body_bytes":140,"body_sha256":"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a","completed":true,"connection_mode":"PINNED_GLOBAL_TARGET","header_values_returned":false,"npmplus_default":false,"redirects_to_expected_https":true,"status":301},"https_unverified":{"bad_gateway":false,"body_bytes":2056,"body_returned":false,"body_sha256":"808dfeea0cf787d85e03645e62ab18b97ab8138924420966413edcfe22ef4879","certificate_validation_disabled":true,"completed":true,"connection_mode":"PINNED_GLOBAL_TARGET_WITH_SNI","leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","npmplus_default":true,"status":200},"tcp_443":{"addresses_returned":false,"attempt_count":1,"error_types":{},"reachable":true,"success_count":1},"tls_443":{"addresses_returned":false,"attempt_count":1,"certificate_contents_returned":false,"unverified":{"certificate_contents_returned":false,"certificate_validation_disabled":true,"completed":true,"error_types":{},"leaf_certificate_count":1,"leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","leaf_set_sha256":"620f5c3147455134d92b987f4f0c17c97663931b52966c15d089b43e1e452c1b","protocols":["TLSv1.3"],"success_count":1},"verified":false,"verified_leaf_certificate_sha256":null,"verified_protocol":null,"verified_success_count":0,"verify_codes":{"18":1}}},"rollback_requirements":["backup selected proxy config before TLS path swap","remove only newly created certbot lineage when apply fails","restore proxy config byte-for-byte and validate nginx before reload","enable Homepage monitoring only after trusted public TLS is verified"],"schema":1},"private_addresses_included":false,"private_keys_read":false,"production_site_changed":false,"public":{"acme_http":{"completed":true,"final_hop":{"body_bytes":124,"body_sha256":"8cdc5c9588e8cc315d89a7c73f1bea4d41f8d68ae165756df0ec4a7db6a49892","certificate_validation_disabled":true,"completed":true,"header_values_returned":false,"location_present":false,"status":404},"first_hop":{"body_bytes":140,"body_sha256":"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a","completed":true,"header_values_returned":false,"location_matches_expected_https":true,"location_present":true,"status":301},"header_values_returned":false,"path_sha256":"e607916d673bf51a6f3308ddd6069ae2da45daaec36dd78c419a41250a81f1af","redirect_count":1,"route_model":"HTTP_TO_HTTPS_404","route_proven":true},"addresses_returned":false,"anchor_dns":{"address_set_sha256":"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13","addresses_returned":false,"public_target_count":1,"record_count":1,"resolved":true},"body_returned":false,"certificate_contents_returned":false,"dns":{"address_set_sha256":"c76b6b888b15b83623f3fc36fe6617dc24550f6b09b0d8f73c92ea22016e3a13","addresses_returned":false,"families":["IPv4"],"public_target_count":1,"record_count":1,"rejected_non_public_count":0,"resolved":true},"dns_matches_hbarhub_anchor":true,"http":{"bad_gateway":false,"body_bytes":140,"body_sha256":"367cbd2bd4bb3ccdbff9b81ad94e4c1d9c66ee80e9df3ffcd7080f2000cbac6a","completed":true,"connection_mode":"PINNED_GLOBAL_TARGET","header_values_returned":false,"npmplus_default":false,"redirects_to_expected_https":true,"status":301},"https_unverified":{"bad_gateway":false,"body_bytes":2056,"body_returned":false,"body_sha256":"808dfeea0cf787d85e03645e62ab18b97ab8138924420966413edcfe22ef4879","certificate_validation_disabled":true,"completed":true,"connection_mode":"PINNED_GLOBAL_TARGET_WITH_SNI","leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","npmplus_default":true,"status":200},"tcp_443":{"addresses_returned":false,"attempt_count":1,"error_types":{},"reachable":true,"success_count":1},"tls_443":{"addresses_returned":false,"attempt_count":1,"certificate_contents_returned":false,"unverified":{"certificate_contents_returned":false,"certificate_validation_disabled":true,"completed":true,"error_types":{},"leaf_certificate_count":1,"leaf_certificate_sha256":"c14d6f3eda27dcd7e8c8a44c18844f8009b4f23a74ab82d49475f138ddef0b93","leaf_set_sha256":"620f5c3147455134d92b987f4f0c17c97663931b52966c15d089b43e1e452c1b","protocols":["TLSv1.3"],"success_count":1},"verified":false,"verified_leaf_certificate_sha256":null,"verified_protocol":null,"verified_success_count":0,"verify_codes":{"18":1}}},"public_proxy_changed":false,"rc":1,"read_only":true,"ready_for_apply":false,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secret_files_read":false,"secrets_included":false,"source_contents_returned":false,"status":"FAIL","tls_state":"SELF_SIGNED","transport":{"core":{"config_view":"service-view","mode":"DIRECT_QGA","private_addresses_returned":false,"qga_step_count":6,"qga_step_set_sha256":"a7e91bb1bc28f1eb32e48844ca165f85170f0dfbe014d347e6751e5303d9b771","remote_rc":0,"remote_stdout_bytes":2806,"remote_stdout_sha256":"565fda84f910a587fafcd1bfe10c35c6652dcca3851fd2b240c7d5b98fdf8e0f","socket_view":"service-view","vm_name":"core-apps","vmid":170},"edge":{"config_view":"service-view","mode":"STRICT_SSH_TO_OWNING_NODE_THEN_DIRECT_QGA","node":"pve03","private_addresses_returned":false,"qga_step_count":10,"qga_step_set_sha256":"8884f06763a4541832d96ceebc7ac2d866043949574ae04709a711d21f9962b2","remote_rc":1,"remote_stdout_bytes":12060,"remote_stdout_sha256":"d7f9bd738cf4abb3b7e0caa18b98f57883fea0e3eefff7cffbcb5dfc74f27723","socket_view":"service-view","ssh_rc":0,"vm_name":"edge-vm","vmid":130}}} +GENERATED_AT_UTC=[PRIVATE_IP]T10:17:01Z +Cluster information +------------------- +Name: homelab +Config Version: 3 +Transport: knet +Secure auth: on +Quorum information +------------------ +Date: Tue Aug [PRIVATE_IP] 2026 +Quorum provider: corosync_votequorum +Nodes: 3 +Node ID: [PRIVATE_IP] +Ring ID: 1.db +Quorate: Yes + +Votequorum information +---------------------- +Expected votes: 3 +Highest expected: 3 +Total votes: 3 +Quorum: 2 +Flags: Quorate + +Membership information +---------------------- + Nodeid Votes Name +[PRIVATE_IP] [PRIVATE_IP].11 (local) +[PRIVATE_IP] [PRIVATE_IP].13 +[PRIVATE_IP] [PRIVATE_IP].12 + +Membership information +---------------------- + Nodeid Votes Name + 1 1 pve01 (local) + 2 1 pve03 + 3 1 pve02 +[{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":601801,"vmid":110},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":601884,"vmid":111},{"cpu":[PRIVATE_IP]275e-05,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":601846,"vmid":112},{"cpu":[PRIVATE_IP]465e-05,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":601888,"vmid":113},{"cpu":[PRIVATE_IP]44575,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":601825,"vmid":130},{"cpu":[PRIVATE_IP]27322,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"nextcloud","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601798,"vmid":150},{"cpu":[PRIVATE_IP]932359,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":601880,"vmid":160},{"cpu":[PRIVATE_IP]312,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601794,"vmid":170},{"cpu":[PRIVATE_IP]46258,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":601791,"vmid":171},{"cpu":[PRIVATE_IP]08044,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/180","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"cluster-admin","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":601878,"vmid":180},{"cpu":[PRIVATE_IP]358097,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":601821,"vmid":190},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]89133,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":601842},{"cgroup-mode":2,"cpu":[PRIVATE_IP]43365,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":601903},{"cgroup-mode":2,"cpu":[PRIVATE_IP]82712,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":601921},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,backup,import,iso","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"}] +Name Type Status Total (KiB) Used (KiB) Available (KiB) % +local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 14.16% +local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 27.36% + UNIT LOAD ACTIVE SUB DESCRIPTION +● homelab-backup-matrix-refresh.service loaded failed failed Generate unified homelab backup matrix state +● homelab-crypto-portfolio-chart-health.service loaded failed failed Crypto portfolio chart health check +● skladchik-reports-monitor-supervisor.service loaded failed failed Skladchik reports monitor full supervisor + +Legend: LOAD → Reflects whether the unit definition was properly loaded. + ACTIVE → The high-level unit activation state, i.e. generalization of SUB. + SUB → The low-level unit activation state, values depend on unit type. + +3 loaded units listed. +NEXT LEFT LAST PASSED UNIT ACTIVATES +Tue [PRIVATE_IP] 13:17:14 MSK 12s Tue [PRIVATE_IP] 13:12:14 MSK 4min 47s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-cluster-admin-webpanel-sync.timer homelab-cluster-admin-webpanel-sync.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:12:26 MSK 4min 35s ago netbird-peers-health.timer netbird-peers-health.service +Tue [PRIVATE_IP] 13:17:26 MSK 24s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service +Tue [PRIVATE_IP] 13:18:01 MSK 59s Tue [PRIVATE_IP] 13:16:57 MSK 4s ago homelab-router-watchdog.timer homelab-router-watchdog.service +Tue [PRIVATE_IP] 13:18:02 MSK 1min 0s Tue [PRIVATE_IP] 13:15:47 MSK 1min 14s ago homelab-cluster-admin-inventory-sync.timer homelab-cluster-admin-inventory-sync.service +Tue [PRIVATE_IP] 13:18:35 MSK 1min 33s Tue [PRIVATE_IP] 13:13:07 MSK 3min 54s ago homelab-health-metrics.timer homelab-health-metrics.service +Tue [PRIVATE_IP] 13:19:26 MSK 2min 24s Tue [PRIVATE_IP] 13:04:26 MSK 12min ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service +Tue [PRIVATE_IP] 13:21:07 MSK 4min 5s Tue [PRIVATE_IP] 13:11:07 MSK 5min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service +Tue [PRIVATE_IP] 13:21:31 MSK 4min 29s Tue [PRIVATE_IP] 13:16:26 MSK 35s ago homelab-crypto-portfolio-chart-health.timer homelab-crypto-portfolio-chart-health.service +Tue [PRIVATE_IP] 13:21:47 MSK 4min 45s Tue [PRIVATE_IP] 13:06:47 MSK 10min ago homelab-disk-space-health.timer homelab-disk-space-health.service +Tue [PRIVATE_IP] 13:22:26 MSK 5min Tue [PRIVATE_IP] 13:07:26 MSK 9min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service +Tue [PRIVATE_IP] 13:24:14 MSK 7min Tue [PRIVATE_IP] 13:09:14 MSK 7min ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service +Tue [PRIVATE_IP] 13:30:00 MSK 12min Tue [PRIVATE_IP] 13:15:14 MSK 1min 47s ago homelab-incident-journal.timer homelab-incident-journal.service +Tue [PRIVATE_IP] 13:31:00 MSK 13min Tue [PRIVATE_IP] 13:16:07 MSK 54s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service +Tue [PRIVATE_IP] 13:31:02 MSK 14min Tue [PRIVATE_IP] 13:15:50 MSK 1min 11s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service +Tue [PRIVATE_IP] 13:31:10 MSK 14min Tue [PRIVATE_IP] 13:16:29 MSK 32s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service +Tue [PRIVATE_IP] 13:32:32 MSK 15min Tue [PRIVATE_IP] 13:03:14 MSK 13min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service +Tue [PRIVATE_IP] 13:33:56 MSK 16min Tue [PRIVATE_IP] 13:01:25 MSK 15min ago homelab-reference-refresh.timer homelab-reference-refresh.service +Tue [PRIVATE_IP] 14:08:26 MSK 51min Tue [PRIVATE_IP] 08:08:26 MSK 5h 8min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service +Tue [PRIVATE_IP] 14:20:26 MSK 1h 3min Mon [PRIVATE_IP] 14:20:26 MSK 22h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service +Wed [PRIVATE_IP] 00:00:00 MSK 10h Tue [PRIVATE_IP] 00:00:07 MSK 13h ago dpkg-db-backup.timer dpkg-db-backup.service +Wed [PRIVATE_IP] 00:08:04 MSK 10h Tue [PRIVATE_IP] 00:05:08 MSK 13h ago homelab-storage-capacity.timer homelab-storage-capacity.service +Wed [PRIVATE_IP] 00:08:47 MSK 10h Tue [PRIVATE_IP] 00:08:07 MSK 13h ago homelab-evidence-catalog.timer homelab-evidence-catalog.service +Wed [PRIVATE_IP] 00:13:19 MSK 10h Tue [PRIVATE_IP] 00:13:28 MSK 13h ago homelab-docker-health.timer homelab-docker-health.service +Wed [PRIVATE_IP] 00:18:54 MSK 11h Tue [PRIVATE_IP] 00:08:14 MSK 13h ago homelab-quality-gate.timer homelab-quality-gate.service +Wed [PRIVATE_IP] 00:51:16 MSK 11h Tue [PRIVATE_IP] 00:08:36 MSK 13h ago logrotate.timer logrotate.service +Wed [PRIVATE_IP] 01:56:09 MSK 12h Tue [PRIVATE_IP] 00:14:22 MSK 13h ago man-db.timer man-db.service +Wed [PRIVATE_IP] 03:50:00 MSK 14h Tue [PRIVATE_IP] 03:50:02 MSK 9h ago filebrowser-offhost-sync.timer filebrowser-offhost-sync.service +Wed [PRIVATE_IP] 04:05:55 MSK 14h Tue [PRIVATE_IP] 01:23:47 MSK 11h ago pve-daily-update.timer pve-daily-update.service +Wed [PRIVATE_IP] 04:48:13 MSK 15h Tue [PRIVATE_IP] 04:42:07 MSK 8h ago homelab-edge-vm-offhost-freshness.timer homelab-edge-vm-offhost-freshness.service +Wed [PRIVATE_IP] 04:58:15 MSK 15h Tue [PRIVATE_IP] 05:15:14 MSK 8h ago homelab-sops-edge-secret-coverage.timer homelab-sops-edge-secret-coverage.service +Wed [PRIVATE_IP] 05:30:03 MSK 16h Tue [PRIVATE_IP] 12:02:37 MSK 1h 14min ago apt-daily.timer apt-daily.service +Wed [PRIVATE_IP] 06:01:06 MSK 16h Tue [PRIVATE_IP] 06:53:08 MSK 6h ago apt-daily-upgrade.timer apt-daily-upgrade.service +Wed [PRIVATE_IP] 07:16:56 MSK 17h Tue [PRIVATE_IP] 07:03:50 MSK 6h ago homelab-drift-check.timer homelab-drift-check.service +Wed [PRIVATE_IP] 07:32:01 MSK 18h Tue [PRIVATE_IP] 07:39:26 MSK 5h 37min ago homelab-service-registry-check.timer homelab-service-registry-check.service +Wed [PRIVATE_IP] 07:48:22 MSK 18h Tue [PRIVATE_IP] 07:54:17 MSK 5h 22min ago homelab-desired-state-sync.timer homelab-desired-state-sync.service +Wed [PRIVATE_IP] 07:53:58 MSK 18h Tue [PRIVATE_IP] 07:46:07 MSK 5h 30min ago homelab-alerting-health.timer homelab-alerting-health.service +Wed [PRIVATE_IP] 07:56:28 MSK 18h Tue [PRIVATE_IP] 07:56:07 MSK 5h 20min ago homelab-dependency-map-check.timer homelab-dependency-map-check.service +Wed [PRIVATE_IP] 07:56:57 MSK 18h Tue [PRIVATE_IP] 07:56:50 MSK 5h 20min ago homelab-runbook-generate.timer homelab-runbook-generate.service +Wed [PRIVATE_IP] 08:06:21 MSK 18h Tue [PRIVATE_IP] 07:59:39 MSK 5h 17min ago homelab-duty-admin-report.timer homelab-duty-admin-report.service +Wed [PRIVATE_IP] 08:11:00 MSK 18h Tue [PRIVATE_IP] 08:03:50 MSK 5h 13min ago homelab-overall-health.timer homelab-overall-health.service +Wed [PRIVATE_IP] 08:16:53 MSK 18h Tue [PRIVATE_IP] 08:16:35 MSK 5h 0min ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service +Wed [PRIVATE_IP] 08:21:31 MSK 19h Tue [PRIVATE_IP] 08:12:26 MSK 5h 4min ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service +Wed [PRIVATE_IP] 08:30:08 MSK 19h Tue [PRIVATE_IP] 08:36:50 MSK 4h 40min ago homelab-capacity-risk.timer homelab-capacity-risk.service +Wed [PRIVATE_IP] 08:37:04 MSK 19h Tue [PRIVATE_IP] 08:52:38 MSK 4h 24min ago homelab-cluster-passport.timer homelab-cluster-passport.service +Wed [PRIVATE_IP] 08:40:47 MSK 19h Tue [PRIVATE_IP] 08:36:17 MSK 4h 40min ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service +Wed [PRIVATE_IP] 08:47:05 MSK 19h Tue [PRIVATE_IP] 08:54:47 MSK 4h 22min ago immich-media-offhost-sync.timer immich-media-offhost-sync.service +Wed [PRIVATE_IP] 08:55:12 MSK 19h Tue [PRIVATE_IP] 08:50:07 MSK 4h 26min ago homelab-golden-state-index.timer homelab-golden-state-index.service +Wed [PRIVATE_IP] 09:20:57 MSK 20h Tue [PRIVATE_IP] 09:06:50 MSK 4h 10min ago memos-offhost-sync.timer memos-offhost-sync.service +Wed [PRIVATE_IP] 10:15:00 MSK 20h Tue [PRIVATE_IP] 10:15:14 MSK 3h 1min ago skladchik-reports-monitor-monthly-selftest-watch.timer skladchik-reports-monitor-monthly-selftest-watch.service +Sun [PRIVATE_IP] 03:10:38 MSK 4 days Sun [PRIVATE_IP] 03:10:25 MSK 2 days ago xfs_scrub_all.timer xfs_scrub_all.service +Sun [PRIVATE_IP] 03:10:48 MSK 4 days Sun [PRIVATE_IP] 03:10:50 MSK 2 days ago e2scrub_all.timer e2scrub_all.service +Mon [PRIVATE_IP] 00:03:56 MSK 5 days Mon [PRIVATE_IP] 00:11:50 MSK 1 day 13h ago homelab-secret-sanity.timer homelab-secret-sanity.service +Mon [PRIVATE_IP] 01:11:21 MSK 5 days Mon [PRIVATE_IP] 01:17:56 MSK 1 day 11h ago fstrim.timer fstrim.service +- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service +- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service +- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service + +58 timers listed. +- Обрезанная, повреждённая или частично вставленная команда считается невыполненной; сначала проводится side-effect audit. +- Хвост parse-ошибки закрывается только после доказательства отсутствия изменений и временных артефактов. +- Proof: /var/lib/homelab-change-sets/operator-command-size-guard-v[PRIVATE_IP]T182653Z/report.txt + +## HOMELAB_ADMIN_CLI_CONTRACT_[PRIVATE_IP] +- Поддерживаемые команды: version, status, lint TASK_DIR, validate TASK_DIR, run TASK_DIR PHASE. +- Отдельная команда --help отсутствует. Неизвестный аргумент печатает usage и штатно возвращает RC=64. +- Нельзя трактовать RC=64 от --help как неисправность runner. +- Для проверки доступности runner использовать homelab-admin version; для структуры CLI использовать зафиксированную usage-строку. +- Proof: /var/lib/homelab-change-sets/homelab-admin-cli-contract-fix-v[PRIVATE_IP]T183338Z/report.txt + +AUTOMATIC_CLUSTER_CONTEXT_REFRESH_[PRIVATE_IP] +Collector: /usr/local/sbin/homelab-context-collect +Scheduler: hourly at minute 17 via /etc/cron.d/homelab-context-refresh +Destination: immutable Gitea runtime history with CONTEXT-AUTO UTC command IDs. + +AUTOMATIC_CLUSTER_CONTEXT_REFRESH_DIRECT_[PRIVATE_IP] +Publisher: /usr/local/sbin/homelab-context-refresh-direct +Schedule: hourly at minute 17. +Destination: immutable assistant-runtime history with CONTEXT-AUTO UTC IDs. +ANTI_REGRESSION_TOKEN=HOMELAB_VM_2CLOUD_444_OUTER_LAUNCHER_BOUNDARY_REQUIRED +- Anti-regression: validate the complete outer launcher with a shell syntax check and verify the wrapper argument boundary before issuing it. +- Infrastructure action executed: none. +- Backup payload impact: none. +- Production impact: none. +- Status: CLOSED; UNRESOLVED_TAIL_COUNT=0. +- Registered at: [PRIVATE_IP]T11:20:32Z + +## ERROR_[PRIVATE_IP]_HOMELAB_VM_2CLOUD_DRAIN_CLOSURE_PREFLIGHT_446 +COMMAND_ID=HOMELAB-VM-2CLOUD-DRAIN-CLOSURE-PREFLIGHT-446 +- Symptom: homelab-chat-run-linked printed Usage and skipped result-feed publication as invalid input. +- Root cause: the diagnostic script was piped to wrapper stdin and the mandatory double-dash command separator was omitted. +- Correction: invoke homelab-chat-run-linked as COMMAND_ID MODE COMPONENT -- command arguments; stdin is not its command interface. +ANTI_REGRESSION_TOKEN=HOMELAB_CHAT_RUN_COMMAND_REQUIRES_DOUBLE_DASH +- Anti-regression: treat wrapper Usage as the authoritative CLI contract and syntax-check the complete launcher, not only its inner payload. +- Infrastructure action executed: none. +- Backup payload impact: none. +- Production impact: none. +- Status: CLOSED; UNRESOLVED_TAIL_COUNT=0. +- Registered at: [PRIVATE_IP]T11:20:32Z OUTPUT_END CHAT_OUTPUT_END