From 45638dc02e15c5c758062dc8d651b3e27bf67627 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Fri, 11 Sep 2026 04:06:23 +0000 Subject: [PATCH] runtime: publish SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1 --- ...1-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.json | 38 ++++++++++++++ ...11-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.txt | 52 +++++++++++++++++++ runtime/latest.json | 16 +++--- runtime/latest.txt | 34 ++++++------ 4 files changed, 115 insertions(+), 25 deletions(-) create mode 100644 runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.json create mode 100644 runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.txt diff --git a/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.json b/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.json new file mode 100644 index 00000000..69b56e66 --- /dev/null +++ b/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "infra-dr-vps-historical-route-pve01", + "started_at_utc": "2026-09-11T04:06:20Z", + "finished_at_utc": "2026-09-11T04:06:22Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "6662eddd5f2259b6f4a096b9c586e239a15c91a6c8e7e0328b76f15c1fa79e6c", + "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": 0, + "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": "a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7", + "sanitized_output_sha256": "a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "INFRA172_BEGIN\nCOMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1\nMODE=READ_ONLY\nPRIOR_171_COMMIT=4ac5820682bd86c4bcd385692139c75369b0be03\nINFRA172_ROLE_DNS={\"MD_RELAY\":{\"hostname\":\"nb.pvepro.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0},\"SPB_INGRESS\":{\"hostname\":\"newfi.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"identity_marker\":\"HISTORICAL_SPB_INGRESS\",\"ip_sha256\":\"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5\"}],\"rc\":0},\"US_NETBIRD\":{\"hostname\":\"nb.gram1.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0}}\nINFRA172_CURRENT_RESIDUE={\"file_count\":4,\"rows\":[{\"assignments\":[{\"key\":\"User\",\"kind\":\"USER\",\"line\":9,\"value\":\"root\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Create current ingress recovery artifact on cold standby node\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"User=root\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":11}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"kind\":\"CURRENT\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Daily ingress cold standby recovery artifact refresh\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Unit=homelab-ingress-standby-refresh.service\"},\"line\":8}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"kind\":\"CURRENT\",\"path_sha256\":\"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1\"}},{\"assignments\":[{\"key\":\"DEST\",\"kind\":\"HOST_EXPR\",\"line\":120,\"value_sha256\":\"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK=\\\"/run/lock/homelab-ingress-standby-refresh.lock\\\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-ingress-standby\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"RELAY=\\\"$(mktemp)\\\"\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"rm -f \\\"$TMP_STATE\\\" \\\"$RELAY\\\" \\\"$RESOURCES\\\"\"},\"line\":16},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":26},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \\\"$DRILL_REPORT\\\"\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_VMID=\\\"$(sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":29},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_NODE=\\\"$(sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":30},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$node\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":60},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$node\\\" \\\"$@\\\"\"},\"line\":63},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":91},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat \\\"$SOURCE_BACKUP\\\" >\\\"$RELAY\\\"\"},\"line\":92},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$SOURCE_NODE\\\" \\\"cat '$SOURCE_BACKUP'\\\" >\\\"$RELAY\\\"\"},\"line\":94},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(stat -c %s \\\"$RELAY\\\")\\\" = \\\"$SOURCE_SIZE\\\"\"},\"line\":97},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(sha256sum \\\"$RELAY\\\" | awk '{print $1}')\\\" = \\\"$SOURCE_SHA256\\\"\"},\"line\":98},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DEST_DIR=\\\"/var/backups/ingress-standby-source\\\"\"},\"line\":100}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh\",\"kind\":\"CURRENT\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-health/ingress-failover\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK_FILE=\\\"/run/lock/homelab-ingress-failover.lock\\\"\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"INGRESS_FAILOVER_LOCK=BUSY\\\"\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":19},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":22},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json\"},\"line\":48},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import sys\"},\"line\":49},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] ||\"},\"line\":71},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"[ \\\"$node\\\" = \\\"$(hostname)\\\" ]\"},\"line\":72},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh \\\\\"},\"line\":76},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":196},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"ACTIVE_INGRESS=$active\\\"\"},\"line\":241}],\"source\":{\"basename\":\"homelab-ingress-failover\",\"kind\":\"CURRENT\",\"path\":\"/usr/local/sbin/homelab-ingress-failover\"}}]}\nINFRA172_GIT_META={\"commit_count\":11,\"file_count\":17,\"git_rcs\":[0,0,0,0],\"repo_present\":true}\nINFRA172_GIT_EVIDENCE={\"count\":17,\"rows\":[{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"H=\\\"/var/lib/homelab-health/edge-ingress-hardening.txt\\\"\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LAN_IP=\\\"$(hostname -I | tr ' ' '\\\\n' | grep -m1 '^192\\\\.168\\\\.50\\\\.' || true)\\\"\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"# NetBird uses UDP/51820. Do not block it on edge.\"},\"line\":38},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"delete_rule_if_exists \\\"$IPT\\\" -p udp --dport 51820 -j DROP\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"delete_rule_if_exists \\\"$IP6T\\\" -p udp --dport 51820 -j DROP\"},\"line\":40},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"# Allow private NetBird overlay peers to reach NPMplus web entrypoints.\"},\"line\":42},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IPT\\\" -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT\"},\"line\":43},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if \\\"$IPT\\\" -C INPUT -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT 2>/dev/null; then\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -I INPUT 1 -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT\"},\"line\":50},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IPT\\\" -p tcp --dport 81 ! -i lo -j DROP\"},\"line\":55},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IP6T\\\" -p tcp --dport 81 ! -i lo -j DROP\"},\"line\":56},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -C INPUT -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT 2>/dev/null || status=ERROR\"},\"line\":61},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"[ -z \\\"${KUMA_IP:-}\\\" ] || \\\"$IPT\\\" -C INPUT -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT 2>/dev/null || status=ERROR\"},\"line\":62},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -C INPUT -p tcp --dport 81 ! -i lo -j DROP 2>/dev/null || status=ERROR\"},\"line\":63},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if \\\"$IPT\\\" -C INPUT -p udp --dport 51820 -j DROP 2>/dev/null; then\"},\"line\":64},{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"afec0cfc0d1fd30371b43a57bd6bb2c5e7abf28c5f31e7c0b1b915200f891fa4\",\"var_refs\":[]},\"line\":68}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"c50956c9b33835940d70a6b64d295b3d0ddeeca304b11deadcc91145f5c6c97d\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Homelab edge ingress hardening rules\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"WantedBy=multi-user.target\"},\"line\":12}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening.service\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"46fd7f5094fd54a19665dc8d535c977b492de7ee4a52970a5c7c309428282e95\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Re-apply homelab edge ingress hardening rules\"},\"line\":2}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening.timer\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"9f00ab8ac998a1c9b2cf556fb6e257e737c2cbd62608f7a38310ba3d547e1df5\"}},{\"assignments\":[{\"key\":\"VPS_IP\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"VPS_IP=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":6}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-backup.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"c9ec7a06c04903e50186b3ee98b8aadfb39632d401824b8741cde5f2c1803013\"}},{\"assignments\":[{\"key\":\"DST_HOST\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PRIVATE\",\"ip_sha256\":\"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-offhost\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DST_HOST=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_LATEST=20260701T013054Z\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_FILES=30\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_SIZE=466M\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-offhost.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"24ad9010c9b2a63d0200e4eab876ed55d0a6674865ec29eba0e5ffa0cadb9caf\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-restore-validation\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/netbird-vps-backup.tgz\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT_NETBIRD_ENTRIES=7\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-restore.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"03182de1081e8461f8305079d0f1e53ab00801963b0f094053428bb9e4fddd0c\"}},{\"assignments\":[{\"key\":\"STATUS\",\"kind\":\"SECRET_REDACTED\",\"line\":1,\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\"}],\"evidence\":[{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\",\"var_refs\":[]},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-clean-seal.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"1a9ca0f3db859fbb8ee746a8b92af49c40c32f6f447cec1beed77050a8acb15c\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md\"},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-closure.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"130cdd6f02e08d3f6c81c06b9847451adae99e0a083cae5830079abe7a6917af\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_ID=netbird_vps_backup\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_NAME=netbird-vps-backup\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"TIMER=netbird-vps-backup.timer\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup.service\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/0-netbird-vps-trust.txt\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt\"},\"line\":21},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"CANONICAL_JOB_ID=netbird_vps_backup\"},\"line\":22}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"f7fba6fb4a8c37260757f75d0327db5e0c63d753d0e859d4f4c60df8bcbd3f2f\"}},{\"assignments\":[{\"key\":\"User\",\"kind\":\"USER\",\"line\":9,\"value\":\"root\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Create current ingress recovery artifact on cold standby node\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"User=root\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":11}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"344df7907257f81499a2bdc6531b3f203edb4e4d3df0a586bbfe5a6b357ea02b\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Daily ingress cold standby recovery artifact refresh\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Unit=homelab-ingress-standby-refresh.service\"},\"line\":8}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"7c9e49d69d774458a73ef95449cfabb56b79e5601174bf609548a63ee197cdc7\"}},{\"assignments\":[{\"key\":\"VPS_IP\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"VPS_IP=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":6}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-backup.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"ff0d6f530cf4369d1bd150444195b755fdd35211d2653282b9f7c4b94b185fe8\"}},{\"assignments\":[{\"key\":\"DST_HOST\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PRIVATE\",\"ip_sha256\":\"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-offhost\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DST_HOST=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_LATEST=20260701T013054Z\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_FILES=30\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_SIZE=466M\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-offhost.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"4daf227b611bbc2e721c8f827be86e845c18724d8dd011110fef7749dd59246b\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-restore-validation\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/netbird-vps-backup.tgz\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT_NETBIRD_ENTRIES=7\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-restore.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"016df98d88a53e58eb13a37c7448de465d5c626181e63a8c7e36508790679abc\"}},{\"assignments\":[{\"key\":\"STATUS\",\"kind\":\"SECRET_REDACTED\",\"line\":1,\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\"}],\"evidence\":[{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\",\"var_refs\":[]},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-clean-seal.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"6c209e239afa21900a8a52e9bc48880daf3a471cc9a76782c8b4fe653584ae25\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md\"},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-closure.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"59d5c1cbd74daa8014c62a4545760605ec77238a1befd138d9f60d989e61bfd0\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_ID=netbird_vps_backup\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_NAME=netbird-vps-backup\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"TIMER=netbird-vps-backup.timer\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup.service\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/0-netbird-vps-trust.txt\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt\"},\"line\":21},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"CANONICAL_JOB_ID=netbird_vps_backup\"},\"line\":22}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"7b48060cff67cb75166dd86dcd1f32cb4bc1ddd13da4d3c683b4480b5bb7a813\"}}]}\nINFRA172_JOURNAL_EVIDENCE={\"rows\":[{\"rc\":0,\"selected_rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":1},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-14T01:28:39Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-15T01:39:00Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-16T01:25:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":10},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":11},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":13},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-17T01:31:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":14},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":16}],\"unit\":\"netbird-vps-backup.service\"},{\"rc\":0,\"selected_rows\":[],\"unit\":\"netbird-vps-backup-restore.service\"},{\"rc\":0,\"selected_rows\":[],\"unit\":\"netbird-vps-backup-offhost.service\"},{\"rc\":0,\"selected_rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node...\"},\"line\":1},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"homelab-ingress-standby-refresh.service: Main process exited, code=exited, status=1/FAILURE\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"homelab-ingress-standby-refresh.service: Failed with result 'exit-code'.\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Failed to start homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node.\"},\"line\":4}],\"unit\":\"homelab-ingress-standby-refresh.service\"}]}\nINFRA172_ROUTE_CANDIDATES={\"count\":0,\"rows\":[]}\nINFRA172_ROLE_ROUTE_SUMMARY={\"MD_RELAY\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"SPB_INGRESS\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"US_NETBIRD\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]}}\nINFRA172_SUMMARY={\"decision\":\"HOLD_EXTERNAL_SSH_HISTORICAL_ROUTE_INCOMPLETE\",\"holds\":[\"US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN\"],\"roles_hold\":[\"US_NETBIRD\",\"MD_RELAY\",\"SPB_INGRESS\"],\"roles_ready\":[]}\nEXTERNAL_SSH_ATTEMPTS=0\nSSH_KEYSCAN_ATTEMPTS=0\nKNOWN_HOSTS_WRITES=0\nSSH_CONFIG_WRITES=0\nCONFIGURATION_WRITES=0\nFILE_WRITES_BY_PROBE=0\nSECRETS_PRINTED=NO\nINFRA172_END\n" +} diff --git a/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.txt b/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.txt new file mode 100644 index 00000000..ccd31468 --- /dev/null +++ b/runtime/history/SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1.txt @@ -0,0 +1,52 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=infra-dr-vps-historical-route-pve01 +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=6662eddd5f2259b6f4a096b9c586e239a15c91a6c8e7e0328b76f15c1fa79e6c +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=0 +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=a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7 +SANITIZED_OUTPUT_SHA256=a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7 +OUTPUT_BEGIN +INFRA172_BEGIN +COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1 +MODE=READ_ONLY +PRIOR_171_COMMIT=4ac5820682bd86c4bcd385692139c75369b0be03 +INFRA172_ROLE_DNS={"MD_RELAY":{"hostname":"nb.pvepro.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0},"SPB_INGRESS":{"hostname":"newfi.ru","ip_refs":[{"address_class":"PUBLIC","identity_marker":"HISTORICAL_SPB_INGRESS","ip_sha256":"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5"}],"rc":0},"US_NETBIRD":{"hostname":"nb.gram1.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0}} +INFRA172_CURRENT_RESIDUE={"file_count":4,"rows":[{"assignments":[{"key":"User","kind":"USER","line":9,"value":"root"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Create current ingress recovery artifact on cold standby node"},"line":2},{"evidence":{"kind":"SANITIZED","text":"User=root"},"line":9},{"evidence":{"kind":"SANITIZED","text":""},"line":11}],"source":{"basename":"homelab-ingress-standby-refresh.service","kind":"CURRENT","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Daily ingress cold standby recovery artifact refresh"},"line":2},{"evidence":{"kind":"SANITIZED","text":"Unit=homelab-ingress-standby-refresh.service"},"line":8}],"source":{"basename":"homelab-ingress-standby-refresh.timer","kind":"CURRENT","path_sha256":"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1"}},{"assignments":[{"key":"DEST","kind":"HOST_EXPR","line":120,"value_sha256":"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"LOCK=\"/run/lock/homelab-ingress-standby-refresh.lock\""},"line":5},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-ingress-standby\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"RELAY=\"$(mktemp)\""},"line":12},{"evidence":{"kind":"SANITIZED","text":"rm -f \"$TMP_STATE\" \"$RELAY\" \"$RESOURCES\""},"line":16},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":26},{"evidence":{"kind":"SANITIZED","text":"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \"$DRILL_REPORT\""},"line":27},{"evidence":{"kind":"SANITIZED","text":"STANDBY_VMID=\"$(sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":29},{"evidence":{"kind":"SANITIZED","text":"STANDBY_NODE=\"$(sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":30},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":39},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":47},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] || [ \"$node\" = \"$(hostname)\" ]; then"},"line":60},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$node\" \"$@\""},"line":63},{"evidence":{"kind":"SANITIZED","text":"if [ \"$SOURCE_NODE\" = \"$(hostname -s)\" ] || [ \"$SOURCE_NODE\" = \"$(hostname)\" ]; then"},"line":91},{"evidence":{"kind":"SANITIZED","text":"cat \"$SOURCE_BACKUP\" >\"$RELAY\""},"line":92},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$SOURCE_NODE\" \"cat '$SOURCE_BACKUP'\" >\"$RELAY\""},"line":94},{"evidence":{"kind":"SANITIZED","text":"test \"$(stat -c %s \"$RELAY\")\" = \"$SOURCE_SIZE\""},"line":97},{"evidence":{"kind":"SANITIZED","text":"test \"$(sha256sum \"$RELAY\" | awk '{print $1}')\" = \"$SOURCE_SHA256\""},"line":98},{"evidence":{"kind":"SANITIZED","text":"DEST_DIR=\"/var/backups/ingress-standby-source\""},"line":100}],"source":{"basename":"homelab-ingress-standby-refresh","kind":"CURRENT","path":"/usr/local/sbin/homelab-ingress-standby-refresh"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-health/ingress-failover\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"LOCK_FILE=\"/run/lock/homelab-ingress-failover.lock\""},"line":9},{"evidence":{"kind":"SANITIZED","text":"echo \"INGRESS_FAILOVER_LOCK=BUSY\""},"line":15},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":19},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" |"},"line":22},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" |"},"line":27},{"evidence":{"kind":"SANITIZED","text":"import json"},"line":48},{"evidence":{"kind":"SANITIZED","text":"import sys"},"line":49},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] ||"},"line":71},{"evidence":{"kind":"SANITIZED","text":"[ \"$node\" = \"$(hostname)\" ]"},"line":72},{"evidence":{"kind":"SANITIZED","text":"ssh \\"},"line":76},{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":196},{"evidence":{"kind":"SANITIZED","text":"echo \"ACTIVE_INGRESS=$active\""},"line":241}],"source":{"basename":"homelab-ingress-failover","kind":"CURRENT","path":"/usr/local/sbin/homelab-ingress-failover"}}]} +INFRA172_GIT_META={"commit_count":11,"file_count":17,"git_rcs":[0,0,0,0],"repo_present":true} +INFRA172_GIT_EVIDENCE={"count":17,"rows":[{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"H=\"/var/lib/homelab-health/edge-ingress-hardening.txt\""},"line":4},{"evidence":{"kind":"SANITIZED","text":"LAN_IP=\"$(hostname -I | tr ' ' '\\n' | grep -m1 '^192\\.168\\.50\\.' || true)\""},"line":9},{"evidence":{"kind":"SANITIZED","text":"# NetBird uses UDP/51820. Do not block it on edge."},"line":38},{"evidence":{"kind":"SANITIZED","text":"delete_rule_if_exists \"$IPT\" -p udp --dport 51820 -j DROP"},"line":39},{"evidence":{"kind":"SANITIZED","text":"delete_rule_if_exists \"$IP6T\" -p udp --dport 51820 -j DROP"},"line":40},{"evidence":{"kind":"SANITIZED","text":"# Allow private NetBird overlay peers to reach NPMplus web entrypoints."},"line":42},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IPT\" -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT"},"line":43},{"evidence":{"kind":"SANITIZED","text":"if \"$IPT\" -C INPUT -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT 2>/dev/null; then"},"line":47},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -I INPUT 1 -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT"},"line":50},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IPT\" -p tcp --dport 81 ! -i lo -j DROP"},"line":55},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IP6T\" -p tcp --dport 81 ! -i lo -j DROP"},"line":56},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -C INPUT -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT 2>/dev/null || status=ERROR"},"line":61},{"evidence":{"kind":"SANITIZED","text":"[ -z \"${KUMA_IP:-}\" ] || \"$IPT\" -C INPUT -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT 2>/dev/null || status=ERROR"},"line":62},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -C INPUT -p tcp --dport 81 ! -i lo -j DROP 2>/dev/null || status=ERROR"},"line":63},{"evidence":{"kind":"SANITIZED","text":"if \"$IPT\" -C INPUT -p udp --dport 51820 -j DROP 2>/dev/null; then"},"line":64},{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"afec0cfc0d1fd30371b43a57bd6bb2c5e7abf28c5f31e7c0b1b915200f891fa4","var_refs":[]},"line":68}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"c50956c9b33835940d70a6b64d295b3d0ddeeca304b11deadcc91145f5c6c97d"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Homelab edge ingress hardening rules"},"line":2},{"evidence":{"kind":"SANITIZED","text":""},"line":8},{"evidence":{"kind":"SANITIZED","text":"WantedBy=multi-user.target"},"line":12}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening.service","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"46fd7f5094fd54a19665dc8d535c977b492de7ee4a52970a5c7c309428282e95"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Re-apply homelab edge ingress hardening rules"},"line":2}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening.timer","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"9f00ab8ac998a1c9b2cf556fb6e257e737c2cbd62608f7a38310ba3d547e1df5"}},{"assignments":[{"key":"VPS_IP","kind":"HOST","line":4,"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup"},"line":2},{"evidence":{"kind":"SANITIZED","text":"VPS_IP="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":""},"line":6}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-backup.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"c9ec7a06c04903e50186b3ee98b8aadfb39632d401824b8741cde5f2c1803013"}},{"assignments":[{"key":"DST_HOST","kind":"HOST","line":4,"value":{"address_class":"PRIVATE","ip_sha256":"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-offhost"},"line":2},{"evidence":{"kind":"SANITIZED","text":"DST_HOST="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":"REMOTE_LATEST=20260701T013054Z"},"line":7},{"evidence":{"kind":"SANITIZED","text":"REMOTE_FILES=30"},"line":8},{"evidence":{"kind":"SANITIZED","text":"REMOTE_SIZE=466M"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-offhost.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"24ad9010c9b2a63d0200e4eab876ed55d0a6674865ec29eba0e5ffa0cadb9caf"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-restore-validation"},"line":2},{"evidence":{"kind":"SANITIZED","text":"/netbird-vps-backup.tgz"},"line":5},{"evidence":{"kind":"SANITIZED","text":"ROOT_NETBIRD_ENTRIES=7"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-restore.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"03182de1081e8461f8305079d0f1e53ab00801963b0f094053428bb9e4fddd0c"}},{"assignments":[{"key":"STATUS","kind":"SECRET_REDACTED","line":1,"line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692"}],"evidence":[{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692","var_refs":[]},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-clean-seal.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"1a9ca0f3db859fbb8ee746a8b92af49c40c32f6f447cec1beed77050a8acb15c"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md"},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-closure.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"130cdd6f02e08d3f6c81c06b9847451adae99e0a083cae5830079abe7a6917af"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"JOB_ID=netbird_vps_backup"},"line":4},{"evidence":{"kind":"SANITIZED","text":"JOB_NAME=netbird-vps-backup"},"line":5},{"evidence":{"kind":"SANITIZED","text":"TIMER=netbird-vps-backup.timer"},"line":7},{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup.service"},"line":8},{"evidence":{"kind":"SANITIZED","text":"/0-netbird-vps-trust.txt"},"line":15},{"evidence":{"kind":"SANITIZED","text":"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt"},"line":21},{"evidence":{"kind":"SANITIZED","text":"CANONICAL_JOB_ID=netbird_vps_backup"},"line":22}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"f7fba6fb4a8c37260757f75d0327db5e0c63d753d0e859d4f4c60df8bcbd3f2f"}},{"assignments":[{"key":"User","kind":"USER","line":9,"value":"root"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Create current ingress recovery artifact on cold standby node"},"line":2},{"evidence":{"kind":"SANITIZED","text":"User=root"},"line":9},{"evidence":{"kind":"SANITIZED","text":""},"line":11}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-ingress-standby-refresh.service","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"344df7907257f81499a2bdc6531b3f203edb4e4d3df0a586bbfe5a6b357ea02b"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Daily ingress cold standby recovery artifact refresh"},"line":2},{"evidence":{"kind":"SANITIZED","text":"Unit=homelab-ingress-standby-refresh.service"},"line":8}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-ingress-standby-refresh.timer","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"7c9e49d69d774458a73ef95449cfabb56b79e5601174bf609548a63ee197cdc7"}},{"assignments":[{"key":"VPS_IP","kind":"HOST","line":4,"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup"},"line":2},{"evidence":{"kind":"SANITIZED","text":"VPS_IP="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":""},"line":6}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-backup.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"ff0d6f530cf4369d1bd150444195b755fdd35211d2653282b9f7c4b94b185fe8"}},{"assignments":[{"key":"DST_HOST","kind":"HOST","line":4,"value":{"address_class":"PRIVATE","ip_sha256":"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-offhost"},"line":2},{"evidence":{"kind":"SANITIZED","text":"DST_HOST="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":"REMOTE_LATEST=20260701T013054Z"},"line":7},{"evidence":{"kind":"SANITIZED","text":"REMOTE_FILES=30"},"line":8},{"evidence":{"kind":"SANITIZED","text":"REMOTE_SIZE=466M"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-offhost.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"4daf227b611bbc2e721c8f827be86e845c18724d8dd011110fef7749dd59246b"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-restore-validation"},"line":2},{"evidence":{"kind":"SANITIZED","text":"/netbird-vps-backup.tgz"},"line":5},{"evidence":{"kind":"SANITIZED","text":"ROOT_NETBIRD_ENTRIES=7"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-restore.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"016df98d88a53e58eb13a37c7448de465d5c626181e63a8c7e36508790679abc"}},{"assignments":[{"key":"STATUS","kind":"SECRET_REDACTED","line":1,"line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692"}],"evidence":[{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692","var_refs":[]},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-clean-seal.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"6c209e239afa21900a8a52e9bc48880daf3a471cc9a76782c8b4fe653584ae25"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md"},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-closure.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"59d5c1cbd74daa8014c62a4545760605ec77238a1befd138d9f60d989e61bfd0"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"JOB_ID=netbird_vps_backup"},"line":4},{"evidence":{"kind":"SANITIZED","text":"JOB_NAME=netbird-vps-backup"},"line":5},{"evidence":{"kind":"SANITIZED","text":"TIMER=netbird-vps-backup.timer"},"line":7},{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup.service"},"line":8},{"evidence":{"kind":"SANITIZED","text":"/0-netbird-vps-trust.txt"},"line":15},{"evidence":{"kind":"SANITIZED","text":"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt"},"line":21},{"evidence":{"kind":"SANITIZED","text":"CANONICAL_JOB_ID=netbird_vps_backup"},"line":22}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"7b48060cff67cb75166dd86dcd1f32cb4bc1ddd13da4d3c683b4480b5bb7a813"}}]} +INFRA172_JOURNAL_EVIDENCE={"rows":[{"rc":0,"selected_rows":[{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":1},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-14T01:28:39Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":2},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":3},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":4},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":5},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-15T01:39:00Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":6},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":7},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":8},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":9},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-16T01:25:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":10},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":11},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":12},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":13},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-17T01:31:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":14},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":15},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":16}],"unit":"netbird-vps-backup.service"},{"rc":0,"selected_rows":[],"unit":"netbird-vps-backup-restore.service"},{"rc":0,"selected_rows":[],"unit":"netbird-vps-backup-offhost.service"},{"rc":0,"selected_rows":[{"evidence":{"kind":"SANITIZED","text":"Starting homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node..."},"line":1},{"evidence":{"kind":"SANITIZED","text":"homelab-ingress-standby-refresh.service: Main process exited, code=exited, status=1/FAILURE"},"line":2},{"evidence":{"kind":"SANITIZED","text":"homelab-ingress-standby-refresh.service: Failed with result 'exit-code'."},"line":3},{"evidence":{"kind":"SANITIZED","text":"Failed to start homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node."},"line":4}],"unit":"homelab-ingress-standby-refresh.service"}]} +INFRA172_ROUTE_CANDIDATES={"count":0,"rows":[]} +INFRA172_ROLE_ROUTE_SUMMARY={"MD_RELAY":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"SPB_INGRESS":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"US_NETBIRD":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]}} +INFRA172_SUMMARY={"decision":"HOLD_EXTERNAL_SSH_HISTORICAL_ROUTE_INCOMPLETE","holds":["US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN","MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN","SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN"],"roles_hold":["US_NETBIRD","MD_RELAY","SPB_INGRESS"],"roles_ready":[]} +EXTERNAL_SSH_ATTEMPTS=0 +SSH_KEYSCAN_ATTEMPTS=0 +KNOWN_HOSTS_WRITES=0 +SSH_CONFIG_WRITES=0 +CONFIGURATION_WRITES=0 +FILE_WRITES_BY_PROBE=0 +SECRETS_PRINTED=NO +INFRA172_END + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index e0160a21..69b56e66 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260911-INFRA-DR-VPS-UNIT-TRACE-171R1", + "command_id": "SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "infra-dr-vps-unit-trace-pve01", - "started_at_utc": "2026-09-11T03:49:23Z", - "finished_at_utc": "2026-09-11T03:49:23Z", + "component": "infra-dr-vps-historical-route-pve01", + "started_at_utc": "2026-09-11T04:06:20Z", + "finished_at_utc": "2026-09-11T04:06:22Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "59ac720637b5a262dac71928edd44bbbf906f7be1b225a371a55f1074eb0a4a4", + "command_sha256": "6662eddd5f2259b6f4a096b9c586e239a15c91a6c8e7e0328b76f15c1fa79e6c", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "5e8e4e3d538b446a7c0c0deb37ca79eba873606c075765fd974bc6b0cbf7936e", - "sanitized_output_sha256": "5e8e4e3d538b446a7c0c0deb37ca79eba873606c075765fd974bc6b0cbf7936e", + "raw_evidence_sha256": "a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7", + "sanitized_output_sha256": "a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "INFRA171_BEGIN\nCOMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-UNIT-TRACE-171R1\nMODE=READ_ONLY\nPRIOR_170_COMMIT=5c9001893ac691f04b4b8551c801a41c2ddd507c\nINFRA171_ROLE_DNS={\"MD_RELAY\":{\"hostname\":\"nb.pvepro.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0},\"SPB_INGRESS\":{\"hostname\":\"newfi.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"identity_marker\":\"HISTORICAL_SPB_INGRESS\",\"ip_sha256\":\"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5\"}],\"rc\":0},\"US_NETBIRD\":{\"hostname\":\"nb.gram1.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0}}\nINFRA171_UNITS={\"count\":2,\"rows\":[{\"directives\":[{\"key\":\"User\",\"line\":9,\"value\":{\"kind\":\"SANITIZED\",\"text\":\"root\"}},{\"key\":\"Group\",\"line\":10,\"value\":{\"kind\":\"SANITIZED\",\"text\":\"root\"}},{\"key\":\"ExecStart\",\"line\":11,\"value\":{\"kind\":\"SANITIZED\",\"text\":\"/usr/local/sbin/homelab-ingress-standby-refresh\"}}],\"file\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\",\"scope\":\"ETC\"}},{\"directives\":[],\"file\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"path_sha256\":\"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1\",\"scope\":\"ETC\"}}]}\nINFRA171_FILES={\"bytes_read\":21032,\"count\":6,\"files\":[{\"basename\":\"homelab-ingress-standby-refresh.service\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\",\"scope\":\"ETC\"},{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"path_sha256\":\"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1\",\"scope\":\"ETC\"},{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},{\"basename\":\"homelab-ingress-failover\",\"path\":\"/usr/local/sbin/homelab-ingress-failover\",\"scope\":\"USR_LOCAL\"},{\"basename\":\"homelab-ingress-standby-refresh\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\",\"scope\":\"USR_LOCAL\"}]}\nINFRA171_SAFE_ASSIGNMENTS={\"count\":19,\"rows\":[{\"key\":\"User\",\"kind\":\"USER\",\"line\":9,\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\",\"scope\":\"ETC\"},\"value\":\"root\"},{\"key\":\"ExecStart\",\"kind\":\"RELEVANT_KEY\",\"line\":11,\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\",\"scope\":\"ETC\"},\"value_sha256\":\"13d114d64c8f3496ac6b3a8eee4a94ae9e583182842310e10dc40f15561e400c\"},{\"key\":\"REPORT\",\"kind\":\"RELEVANT_KEY\",\"line\":5,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"16de6e2523ad6290564a03adb219172bc0031e08d824a49be9838f00eb297f61\"},{\"key\":\"vps_trust\",\"kind\":\"RELEVANT_KEY\",\"line\":37,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"33003123cbc00728f9934444716841ec1ff9b529c997839691bb14c20d436e53\"},{\"key\":\"trusted_netbird_identity\",\"kind\":\"RELEVANT_KEY\",\"line\":38,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"ebb24cf2960c2243b155740605cba8127cedb6e016de2d44b914019d3fdbe085\"},{\"key\":\"trusted_netbird_ip\",\"kind\":\"RELEVANT_KEY\",\"line\":39,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"5649415146501fa3dc7b2e08f469ef80b6b04e46b86079acd21229eb875e9440\"},{\"key\":\"public_vps_ip\",\"kind\":\"HOST\",\"line\":40,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}},{\"key\":\"public_vps_decision\",\"kind\":\"RELEVANT_KEY\",\"line\":41,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"348e0553be62997b4c48bd45853803cba5a55da3b958f8e9b9419fa3c734b19d\"},{\"key\":\"backup_hostkeys\",\"kind\":\"RELEVANT_KEY\",\"line\":42,\"source\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"2526f72dab61a237d504a652be0ab5e869e292ba1290fe76f9d34ea5578d980d\"},{\"key\":\"REPORT\",\"kind\":\"RELEVANT_KEY\",\"line\":5,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"16de6e2523ad6290564a03adb219172bc0031e08d824a49be9838f00eb297f61\"},{\"key\":\"vps_trust\",\"kind\":\"RELEVANT_KEY\",\"line\":36,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"33003123cbc00728f9934444716841ec1ff9b529c997839691bb14c20d436e53\"},{\"key\":\"trusted_netbird_identity\",\"kind\":\"RELEVANT_KEY\",\"line\":37,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"ebb24cf2960c2243b155740605cba8127cedb6e016de2d44b914019d3fdbe085\"},{\"key\":\"trusted_netbird_ip\",\"kind\":\"RELEVANT_KEY\",\"line\":38,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"5649415146501fa3dc7b2e08f469ef80b6b04e46b86079acd21229eb875e9440\"},{\"key\":\"public_vps_ip\",\"kind\":\"HOST\",\"line\":39,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}},{\"key\":\"public_vps_decision\",\"kind\":\"RELEVANT_KEY\",\"line\":40,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"348e0553be62997b4c48bd45853803cba5a55da3b958f8e9b9419fa3c734b19d\"},{\"key\":\"backup_hostkeys\",\"kind\":\"RELEVANT_KEY\",\"line\":41,\"source\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"2526f72dab61a237d504a652be0ab5e869e292ba1290fe76f9d34ea5578d980d\"},{\"key\":\"DRILL_REPORT\",\"kind\":\"RELEVANT_KEY\",\"line\":6,\"source\":{\"basename\":\"homelab-ingress-failover\",\"path\":\"/usr/local/sbin/homelab-ingress-failover\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"242de3f3a1197026b997b7565bcd2a7c61a69229904a4e133f1988e206575baf\"},{\"key\":\"DRILL_REPORT\",\"kind\":\"RELEVANT_KEY\",\"line\":6,\"source\":{\"basename\":\"homelab-ingress-standby-refresh\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"242de3f3a1197026b997b7565bcd2a7c61a69229904a4e133f1988e206575baf\"},{\"key\":\"DEST\",\"kind\":\"HOST_EXPR\",\"line\":120,\"source\":{\"basename\":\"homelab-ingress-standby-refresh\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\",\"scope\":\"USR_LOCAL\"},\"value_sha256\":\"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e\"}]}\nINFRA171_FILE_EVIDENCE={\"count\":6,\"rows\":[{\"file\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\",\"scope\":\"ETC\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Create current ingress recovery artifact on cold standby node\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"After=network-online.target pve-cluster.service\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Wants=network-online.target\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"User=root\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":11}]},{\"file\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"path_sha256\":\"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1\",\"scope\":\"ETC\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Daily ingress cold standby recovery artifact refresh\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Unit=homelab-ingress-standby-refresh.service\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"WantedBy=timers.target\"},\"line\":11}]},{\"file\":{\"basename\":\"homelab-external-probe-vps\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps\",\"scope\":\"USR_LOCAL\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT=\\\"/var/lib/homelab-external-probe-vps\\\"\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"HEALTH=\\\"/var/lib/homelab-health/external-probe-vps.txt\\\"\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REPORT=\\\"$ROOT/latest.md\\\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"^STATUS=OK\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"^STATUS=OK\\\" /var/lib/homelab-health/netbird-vps-trust-closure.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":10},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"TRUSTED_NETBIRD_IDENTITY=edge-vm\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":13},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat > \\\"$REPORT\\\" <\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"public_vps_ip=\"},\"line\":40},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"public_vps_decision=REJECTED_HOSTKEY_MISMATCH\"},\"line\":41},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"backup_hostkeys=not_used_public_vps_rejected\"},\"line\":42},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":45},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":46},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"closed_tail=no_known_hosts_change\"},\"line\":48},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"STATUS=$STATUS TS=$TS TYPE=external-probe-vps BAD=$BAD WARN=$WARN MODE=STRATEGY_ONLY_NO_INDEPENDENT_RUNNER DEPLOYED=NO DEPLOY_DECISION=NO_DEPLOY VPS_TRUST=edge_vm_trusted_public_vps_rejected BACKUP_HOSTKEYS=not_used_public_vps_rejected PVE01_PUBLIC_SMOKE_BAD=$PVE01_PUBLIC_SMOKE_BAD INDEPENDENT_RUNNER=missing INDEPENDENT_RUNNER_AVAILABLE=no TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH REPORT=$REPORT\\\" > \\\"$HEALTH\\\"\"},\"line\":51}]},{\"file\":{\"basename\":\"homelab-external-probe-vps-health\",\"path\":\"/usr/local/sbin/homelab-external-probe-vps-health\",\"scope\":\"USR_LOCAL\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT=\\\"/var/lib/homelab-external-probe-vps\\\"\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"HEALTH=\\\"/var/lib/homelab-health/external-probe-vps.txt\\\"\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REPORT=\\\"$ROOT/latest.md\\\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"for url in $URLS; do safe=\\\"$(echo \\\"$url\\\" | sed \\\"s#[^A-Za-z0-9]#_#g\\\")\\\"; body=\\\"/tmp/external-probe-vps-health-${safe}.body\\\"; code=\\\"$(curl -k -sS -o \\\"$body\\\" -w \\\"%{http_code}\\\" --connect-timeout 8 --max-time 18 \\\"$url\\\" 2>/tmp/external-probe-vps-health.err)\\\"; first=\\\"$(head -n1 \\\"$body\\\" 2>/dev/null | tr -cd \\\"[:print:]\\\")\\\"; bytes=\\\"$(wc -c < \\\"$body\\\" 2>/dev/null || echo 0)\\\"; printf \\\"%s\\\\t%s\\\\t%s\\\\t%s\\\\n\\\" \\\"$url\\\" \\\"$code\\\" \\\"$bytes\\\" \\\"$first\\\" >> \\\"$SMOKE_TSV\\\"; case \\\"$code:$first\\\" in 200:STATUS=*) : ;; *) PVE01_PUBLIC_SMOKE_BAD=$((PVE01_PUBLIC_SMOKE_BAD+1));; esac; done\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"^STATUS=OK\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":13},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"^STATUS=OK\\\" /var/lib/homelab-health/netbird-vps-trust-closure.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":14},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"TRUSTED_NETBIRD_IDENTITY=edge-vm\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":16},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q \\\"PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH\\\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))\"},\"line\":17},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat > \\\"$REPORT\\\" <\"},\"line\":38},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"public_vps_ip=\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"public_vps_decision=REJECTED_HOSTKEY_MISMATCH\"},\"line\":40},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"backup_hostkeys=not_used_public_vps_rejected\"},\"line\":41},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":44},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":45},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"closed_tail=no_known_hosts_change\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"STATUS=$STATUS TS=$TS TYPE=external-probe-vps BAD=$BAD WARN=$WARN DEPLOYED=NO DEPLOY_DECISION=NO_DEPLOY VPS_TRUST=edge_vm_trusted_public_vps_rejected BACKUP_HOSTKEYS=not_used_public_vps_rejected PVE01_PUBLIC_SMOKE_BAD=$PVE01_PUBLIC_SMOKE_BAD INDEPENDENT_RUNNER=missing INDEPENDENT_RUNNER_AVAILABLE=no TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH REPORT=$REPORT\\\" > \\\"$HEALTH\\\"\"},\"line\":54}]},{\"file\":{\"basename\":\"homelab-ingress-failover\",\"path\":\"/usr/local/sbin/homelab-ingress-failover\",\"scope\":\"USR_LOCAL\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-health/ingress-failover\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK_FILE=\\\"/run/lock/homelab-ingress-failover.lock\\\"\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"INGRESS_FAILOVER_LOCK=BUSY\\\"\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":19},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":22},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json\"},\"line\":48},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import sys\"},\"line\":49},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] ||\"},\"line\":71},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"[ \\\"$node\\\" = \\\"$(hostname)\\\" ]\"},\"line\":72},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh \\\\\"},\"line\":76},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":196},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -Rqs \\\"server_name[[:space:]]*git\\\\.gram1\\\\.ru\\\" \\\\\"},\"line\":213},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"ACTIVE_INGRESS=$active\\\"\"},\"line\":241}]},{\"file\":{\"basename\":\"homelab-ingress-standby-refresh\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\",\"scope\":\"USR_LOCAL\"},\"rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK=\\\"/run/lock/homelab-ingress-standby-refresh.lock\\\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-ingress-standby\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"RELAY=\\\"$(mktemp)\\\"\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"rm -f \\\"$TMP_STATE\\\" \\\"$RELAY\\\" \\\"$RESOURCES\\\"\"},\"line\":16},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":26},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \\\"$DRILL_REPORT\\\"\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_VMID=\\\"$(sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":29},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_NODE=\\\"$(sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":30},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$node\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":60},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$node\\\" \\\"$@\\\"\"},\"line\":63},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":91},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat \\\"$SOURCE_BACKUP\\\" >\\\"$RELAY\\\"\"},\"line\":92},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$SOURCE_NODE\\\" \\\"cat '$SOURCE_BACKUP'\\\" >\\\"$RELAY\\\"\"},\"line\":94},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(stat -c %s \\\"$RELAY\\\")\\\" = \\\"$SOURCE_SIZE\\\"\"},\"line\":97},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(sha256sum \\\"$RELAY\\\" | awk '{print $1}')\\\" = \\\"$SOURCE_SHA256\\\"\"},\"line\":98},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DEST_DIR=\\\"/var/backups/ingress-standby-source\\\"\"},\"line\":100},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$STANDBY_NODE\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$STANDBY_NODE\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":108},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat \\\"$RELAY\\\" >\\\"$DEST_TMP\\\"\"},\"line\":109},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$STANDBY_NODE\\\" \\\"cat >'$DEST_TMP'\\\" <\\\"$RELAY\\\"\"},\"line\":111},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$SOURCE_NODE\\\" \\\"$STANDBY_VMID\\\" \\\"$KEEP\\\" <<'REMOTE'\"},\"line\":116},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE\"},\"line\":171}]}]}\nINFRA171_ROUTE_CANDIDATES={\"count\":0,\"rows\":[]}\nINFRA171_ROLE_ROUTE_SUMMARY={\"MD_RELAY\":{\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"SPB_INGRESS\":{\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"US_NETBIRD\":{\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]}}\nINFRA171_SUMMARY={\"decision\":\"HOLD_EXTERNAL_SSH_UNIT_TRACE_INCOMPLETE\",\"holds\":[\"US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN\"],\"roles_hold\":[\"US_NETBIRD\",\"MD_RELAY\",\"SPB_INGRESS\"],\"roles_ready\":[]}\nEXTERNAL_SSH_ATTEMPTS=0\nSSH_KEYSCAN_ATTEMPTS=0\nKNOWN_HOSTS_WRITES=0\nSSH_CONFIG_WRITES=0\nCONFIGURATION_WRITES=0\nFILE_WRITES_BY_PROBE=0\nSECRETS_PRINTED=NO\nINFRA171_END\n" + "output": "INFRA172_BEGIN\nCOMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1\nMODE=READ_ONLY\nPRIOR_171_COMMIT=4ac5820682bd86c4bcd385692139c75369b0be03\nINFRA172_ROLE_DNS={\"MD_RELAY\":{\"hostname\":\"nb.pvepro.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0},\"SPB_INGRESS\":{\"hostname\":\"newfi.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"identity_marker\":\"HISTORICAL_SPB_INGRESS\",\"ip_sha256\":\"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5\"}],\"rc\":0},\"US_NETBIRD\":{\"hostname\":\"nb.gram1.ru\",\"ip_refs\":[{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16\"}],\"rc\":0}}\nINFRA172_CURRENT_RESIDUE={\"file_count\":4,\"rows\":[{\"assignments\":[{\"key\":\"User\",\"kind\":\"USER\",\"line\":9,\"value\":\"root\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Create current ingress recovery artifact on cold standby node\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"User=root\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":11}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"kind\":\"CURRENT\",\"path_sha256\":\"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Daily ingress cold standby recovery artifact refresh\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Unit=homelab-ingress-standby-refresh.service\"},\"line\":8}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"kind\":\"CURRENT\",\"path_sha256\":\"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1\"}},{\"assignments\":[{\"key\":\"DEST\",\"kind\":\"HOST_EXPR\",\"line\":120,\"value_sha256\":\"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK=\\\"/run/lock/homelab-ingress-standby-refresh.lock\\\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-ingress-standby\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"RELAY=\\\"$(mktemp)\\\"\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"rm -f \\\"$TMP_STATE\\\" \\\"$RELAY\\\" \\\"$RESOURCES\\\"\"},\"line\":16},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":26},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \\\"$DRILL_REPORT\\\"\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_VMID=\\\"$(sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":29},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STANDBY_NODE=\\\"$(sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" | head -n 1)\\\"\"},\"line\":30},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json, sys\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$node\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":60},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$node\\\" \\\"$@\\\"\"},\"line\":63},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname -s)\\\" ] || [ \\\"$SOURCE_NODE\\\" = \\\"$(hostname)\\\" ]; then\"},\"line\":91},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"cat \\\"$SOURCE_BACKUP\\\" >\\\"$RELAY\\\"\"},\"line\":92},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\\\"$SOURCE_NODE\\\" \\\"cat '$SOURCE_BACKUP'\\\" >\\\"$RELAY\\\"\"},\"line\":94},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(stat -c %s \\\"$RELAY\\\")\\\" = \\\"$SOURCE_SIZE\\\"\"},\"line\":97},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test \\\"$(sha256sum \\\"$RELAY\\\" | awk '{print $1}')\\\" = \\\"$SOURCE_SHA256\\\"\"},\"line\":98},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DEST_DIR=\\\"/var/backups/ingress-standby-source\\\"\"},\"line\":100}],\"source\":{\"basename\":\"homelab-ingress-standby-refresh\",\"kind\":\"CURRENT\",\"path\":\"/usr/local/sbin/homelab-ingress-standby-refresh\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DRILL_REPORT=\\\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\\\"\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATE_DIR=\\\"/var/lib/homelab-health/ingress-failover\\\"\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LOCK_FILE=\\\"/run/lock/homelab-ingress-failover.lock\\\"\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"INGRESS_FAILOVER_LOCK=BUSY\\\"\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"test -f \\\"$DRILL_REPORT\\\"\"},\"line\":19},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_VMID=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":22},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"sed -n 's/^STANDBY_NODE=//p' \\\"$DRILL_REPORT\\\" |\"},\"line\":27},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import json\"},\"line\":48},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"import sys\"},\"line\":49},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if [ \\\"$node\\\" = \\\"$(hostname -s)\\\" ] ||\"},\"line\":71},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"[ \\\"$node\\\" = \\\"$(hostname)\\\" ]\"},\"line\":72},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ssh \\\\\"},\"line\":76},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"export LC_ALL=C\"},\"line\":196},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"echo \\\"ACTIVE_INGRESS=$active\\\"\"},\"line\":241}],\"source\":{\"basename\":\"homelab-ingress-failover\",\"kind\":\"CURRENT\",\"path\":\"/usr/local/sbin/homelab-ingress-failover\"}}]}\nINFRA172_GIT_META={\"commit_count\":11,\"file_count\":17,\"git_rcs\":[0,0,0,0],\"repo_present\":true}\nINFRA172_GIT_EVIDENCE={\"count\":17,\"rows\":[{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"H=\\\"/var/lib/homelab-health/edge-ingress-hardening.txt\\\"\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LAN_IP=\\\"$(hostname -I | tr ' ' '\\\\n' | grep -m1 '^192\\\\.168\\\\.50\\\\.' || true)\\\"\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"# NetBird uses UDP/51820. Do not block it on edge.\"},\"line\":38},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"delete_rule_if_exists \\\"$IPT\\\" -p udp --dport 51820 -j DROP\"},\"line\":39},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"delete_rule_if_exists \\\"$IP6T\\\" -p udp --dport 51820 -j DROP\"},\"line\":40},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"# Allow private NetBird overlay peers to reach NPMplus web entrypoints.\"},\"line\":42},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IPT\\\" -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT\"},\"line\":43},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if \\\"$IPT\\\" -C INPUT -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT 2>/dev/null; then\"},\"line\":47},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -I INPUT 1 -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT\"},\"line\":50},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IPT\\\" -p tcp --dport 81 ! -i lo -j DROP\"},\"line\":55},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"add_input_rule \\\"$IP6T\\\" -p tcp --dport 81 ! -i lo -j DROP\"},\"line\":56},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -C INPUT -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT 2>/dev/null || status=ERROR\"},\"line\":61},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"[ -z \\\"${KUMA_IP:-}\\\" ] || \\\"$IPT\\\" -C INPUT -s \\\"$KUMA_IP\\\" -p tcp --dport 81 -j ACCEPT 2>/dev/null || status=ERROR\"},\"line\":62},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\\\"$IPT\\\" -C INPUT -p tcp --dport 81 ! -i lo -j DROP 2>/dev/null || status=ERROR\"},\"line\":63},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"if \\\"$IPT\\\" -C INPUT -p udp --dport 51820 -j DROP 2>/dev/null; then\"},\"line\":64},{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"afec0cfc0d1fd30371b43a57bd6bb2c5e7abf28c5f31e7c0b1b915200f891fa4\",\"var_refs\":[]},\"line\":68}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"c50956c9b33835940d70a6b64d295b3d0ddeeca304b11deadcc91145f5c6c97d\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Homelab edge ingress hardening rules\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"WantedBy=multi-user.target\"},\"line\":12}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening.service\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"46fd7f5094fd54a19665dc8d535c977b492de7ee4a52970a5c7c309428282e95\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Re-apply homelab edge ingress hardening rules\"},\"line\":2}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-edge-ingress-hardening.timer\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"9f00ab8ac998a1c9b2cf556fb6e257e737c2cbd62608f7a38310ba3d547e1df5\"}},{\"assignments\":[{\"key\":\"VPS_IP\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"VPS_IP=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":6}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-backup.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"c9ec7a06c04903e50186b3ee98b8aadfb39632d401824b8741cde5f2c1803013\"}},{\"assignments\":[{\"key\":\"DST_HOST\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PRIVATE\",\"ip_sha256\":\"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-offhost\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DST_HOST=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_LATEST=20260701T013054Z\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_FILES=30\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_SIZE=466M\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-offhost.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"24ad9010c9b2a63d0200e4eab876ed55d0a6674865ec29eba0e5ffa0cadb9caf\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-restore-validation\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/netbird-vps-backup.tgz\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT_NETBIRD_ENTRIES=7\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-restore.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"03182de1081e8461f8305079d0f1e53ab00801963b0f094053428bb9e4fddd0c\"}},{\"assignments\":[{\"key\":\"STATUS\",\"kind\":\"SECRET_REDACTED\",\"line\":1,\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\"}],\"evidence\":[{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\",\"var_refs\":[]},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-clean-seal.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"1a9ca0f3db859fbb8ee746a8b92af49c40c32f6f447cec1beed77050a8acb15c\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md\"},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-closure.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"130cdd6f02e08d3f6c81c06b9847451adae99e0a083cae5830079abe7a6917af\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_ID=netbird_vps_backup\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_NAME=netbird-vps-backup\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"TIMER=netbird-vps-backup.timer\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup.service\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/0-netbird-vps-trust.txt\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt\"},\"line\":21},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"CANONICAL_JOB_ID=netbird_vps_backup\"},\"line\":22}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"f7fba6fb4a8c37260757f75d0327db5e0c63d753d0e859d4f4c60df8bcbd3f2f\"}},{\"assignments\":[{\"key\":\"User\",\"kind\":\"USER\",\"line\":9,\"value\":\"root\"}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Create current ingress recovery artifact on cold standby node\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"User=root\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":11}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.service\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"344df7907257f81499a2bdc6531b3f203edb4e4d3df0a586bbfe5a6b357ea02b\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Description=Daily ingress cold standby recovery artifact refresh\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Unit=homelab-ingress-standby-refresh.service\"},\"line\":8}],\"role_hint\":[\"SPB_INGRESS\"],\"source\":{\"basename\":\"homelab-ingress-standby-refresh.timer\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"7c9e49d69d774458a73ef95449cfabb56b79e5601174bf609548a63ee197cdc7\"}},{\"assignments\":[{\"key\":\"VPS_IP\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PUBLIC\",\"ip_sha256\":\"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"VPS_IP=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":6}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-backup.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"ff0d6f530cf4369d1bd150444195b755fdd35211d2653282b9f7c4b94b185fe8\"}},{\"assignments\":[{\"key\":\"DST_HOST\",\"kind\":\"HOST\",\"line\":4,\"value\":{\"address_class\":\"PRIVATE\",\"ip_sha256\":\"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b\"}}],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-offhost\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"DST_HOST=\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_LATEST=20260701T013054Z\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_FILES=30\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"REMOTE_SIZE=466M\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-offhost.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"4daf227b611bbc2e721c8f827be86e845c18724d8dd011110fef7749dd59246b\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-restore-validation\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/netbird-vps-backup.tgz\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"ROOT_NETBIRD_ENTRIES=7\"},\"line\":9}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-restore.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"016df98d88a53e58eb13a37c7448de465d5c626181e63a8c7e36508790679abc\"}},{\"assignments\":[{\"key\":\"STATUS\",\"kind\":\"SECRET_REDACTED\",\"line\":1,\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\"}],\"evidence\":[{\"evidence\":{\"kind\":\"REDACTED_SECRET_BEARING_LINE\",\"line_sha256\":\"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692\",\"var_refs\":[]},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-clean-seal.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"6c209e239afa21900a8a52e9bc48880daf3a471cc9a76782c8b4fe653584ae25\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md\"},\"line\":1}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust-closure.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"59d5c1cbd74daa8014c62a4545760605ec77238a1befd138d9f60d989e61bfd0\"}},{\"assignments\":[],\"evidence\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_ID=netbird_vps_backup\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"JOB_NAME=netbird-vps-backup\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"TIMER=netbird-vps-backup.timer\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"SERVICE=netbird-vps-backup.service\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"/0-netbird-vps-trust.txt\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt\"},\"line\":21},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"CANONICAL_JOB_ID=netbird_vps_backup\"},\"line\":22}],\"role_hint\":[\"US_NETBIRD\"],\"source\":{\"basename\":\"netbird-vps-trust.txt\",\"commit_ref_sha256\":\"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092\",\"kind\":\"GIT\",\"path_sha256\":\"7b48060cff67cb75166dd86dcd1f32cb4bc1ddd13da4d3c683b4480b5bb7a813\"}}]}\nINFRA172_JOURNAL_EVIDENCE={\"rows\":[{\"rc\":0,\"selected_rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":1},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-14T01:28:39Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":4},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":5},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-15T01:39:00Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":6},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":7},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":8},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":9},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-16T01:25:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":10},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":11},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":12},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging...\"},\"line\":13},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"STATUS=OK TS=2026-07-17T01:31:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit\"},\"line\":14},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"netbird-vps-backup.service: Deactivated successfully.\"},\"line\":15},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging.\"},\"line\":16}],\"unit\":\"netbird-vps-backup.service\"},{\"rc\":0,\"selected_rows\":[],\"unit\":\"netbird-vps-backup-restore.service\"},{\"rc\":0,\"selected_rows\":[],\"unit\":\"netbird-vps-backup-offhost.service\"},{\"rc\":0,\"selected_rows\":[{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Starting homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node...\"},\"line\":1},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"homelab-ingress-standby-refresh.service: Main process exited, code=exited, status=1/FAILURE\"},\"line\":2},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"homelab-ingress-standby-refresh.service: Failed with result 'exit-code'.\"},\"line\":3},{\"evidence\":{\"kind\":\"SANITIZED\",\"text\":\"Failed to start homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node.\"},\"line\":4}],\"unit\":\"homelab-ingress-standby-refresh.service\"}]}\nINFRA172_ROUTE_CANDIDATES={\"count\":0,\"rows\":[]}\nINFRA172_ROLE_ROUTE_SUMMARY={\"MD_RELAY\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"SPB_INGRESS\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]},\"US_NETBIRD\":{\"historical_trusted_user_routes\":[],\"route_candidates\":[],\"trusted_user_route_proven\":false,\"trusted_user_routes\":[]}}\nINFRA172_SUMMARY={\"decision\":\"HOLD_EXTERNAL_SSH_HISTORICAL_ROUTE_INCOMPLETE\",\"holds\":[\"US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN\",\"SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN\"],\"roles_hold\":[\"US_NETBIRD\",\"MD_RELAY\",\"SPB_INGRESS\"],\"roles_ready\":[]}\nEXTERNAL_SSH_ATTEMPTS=0\nSSH_KEYSCAN_ATTEMPTS=0\nKNOWN_HOSTS_WRITES=0\nSSH_CONFIG_WRITES=0\nCONFIGURATION_WRITES=0\nFILE_WRITES_BY_PROBE=0\nSECRETS_PRINTED=NO\nINFRA172_END\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 6d6b3e5c..ccd31468 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-UNIT-TRACE-171R1 +COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1 STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=infra-dr-vps-unit-trace-pve01 +COMPONENT=infra-dr-vps-historical-route-pve01 REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=59ac720637b5a262dac71928edd44bbbf906f7be1b225a371a55f1074eb0a4a4 +COMMAND_SHA256=6662eddd5f2259b6f4a096b9c586e239a15c91a6c8e7e0328b76f15c1fa79e6c DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,21 +24,21 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=5e8e4e3d538b446a7c0c0deb37ca79eba873606c075765fd974bc6b0cbf7936e -SANITIZED_OUTPUT_SHA256=5e8e4e3d538b446a7c0c0deb37ca79eba873606c075765fd974bc6b0cbf7936e +RAW_EVIDENCE_SHA256=a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7 +SANITIZED_OUTPUT_SHA256=a6fdcf1c92c2f056a0ae23a45774d0cf2d12b99a76ee2490c868e9573d3f07b7 OUTPUT_BEGIN -INFRA171_BEGIN -COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-UNIT-TRACE-171R1 +INFRA172_BEGIN +COMMAND_ID=SUPPORT-260911-INFRA-DR-VPS-HISTORICAL-ROUTE-172R1 MODE=READ_ONLY -PRIOR_170_COMMIT=5c9001893ac691f04b4b8551c801a41c2ddd507c -INFRA171_ROLE_DNS={"MD_RELAY":{"hostname":"nb.pvepro.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0},"SPB_INGRESS":{"hostname":"newfi.ru","ip_refs":[{"address_class":"PUBLIC","identity_marker":"HISTORICAL_SPB_INGRESS","ip_sha256":"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5"}],"rc":0},"US_NETBIRD":{"hostname":"nb.gram1.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0}} -INFRA171_UNITS={"count":2,"rows":[{"directives":[{"key":"User","line":9,"value":{"kind":"SANITIZED","text":"root"}},{"key":"Group","line":10,"value":{"kind":"SANITIZED","text":"root"}},{"key":"ExecStart","line":11,"value":{"kind":"SANITIZED","text":"/usr/local/sbin/homelab-ingress-standby-refresh"}}],"file":{"basename":"homelab-ingress-standby-refresh.service","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e","scope":"ETC"}},{"directives":[],"file":{"basename":"homelab-ingress-standby-refresh.timer","path_sha256":"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1","scope":"ETC"}}]} -INFRA171_FILES={"bytes_read":21032,"count":6,"files":[{"basename":"homelab-ingress-standby-refresh.service","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e","scope":"ETC"},{"basename":"homelab-ingress-standby-refresh.timer","path_sha256":"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1","scope":"ETC"},{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},{"basename":"homelab-ingress-failover","path":"/usr/local/sbin/homelab-ingress-failover","scope":"USR_LOCAL"},{"basename":"homelab-ingress-standby-refresh","path":"/usr/local/sbin/homelab-ingress-standby-refresh","scope":"USR_LOCAL"}]} -INFRA171_SAFE_ASSIGNMENTS={"count":19,"rows":[{"key":"User","kind":"USER","line":9,"source":{"basename":"homelab-ingress-standby-refresh.service","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e","scope":"ETC"},"value":"root"},{"key":"ExecStart","kind":"RELEVANT_KEY","line":11,"source":{"basename":"homelab-ingress-standby-refresh.service","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e","scope":"ETC"},"value_sha256":"13d114d64c8f3496ac6b3a8eee4a94ae9e583182842310e10dc40f15561e400c"},{"key":"REPORT","kind":"RELEVANT_KEY","line":5,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"16de6e2523ad6290564a03adb219172bc0031e08d824a49be9838f00eb297f61"},{"key":"vps_trust","kind":"RELEVANT_KEY","line":37,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"33003123cbc00728f9934444716841ec1ff9b529c997839691bb14c20d436e53"},{"key":"trusted_netbird_identity","kind":"RELEVANT_KEY","line":38,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"ebb24cf2960c2243b155740605cba8127cedb6e016de2d44b914019d3fdbe085"},{"key":"trusted_netbird_ip","kind":"RELEVANT_KEY","line":39,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"5649415146501fa3dc7b2e08f469ef80b6b04e46b86079acd21229eb875e9440"},{"key":"public_vps_ip","kind":"HOST","line":40,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}},{"key":"public_vps_decision","kind":"RELEVANT_KEY","line":41,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"348e0553be62997b4c48bd45853803cba5a55da3b958f8e9b9419fa3c734b19d"},{"key":"backup_hostkeys","kind":"RELEVANT_KEY","line":42,"source":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"value_sha256":"2526f72dab61a237d504a652be0ab5e869e292ba1290fe76f9d34ea5578d980d"},{"key":"REPORT","kind":"RELEVANT_KEY","line":5,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"16de6e2523ad6290564a03adb219172bc0031e08d824a49be9838f00eb297f61"},{"key":"vps_trust","kind":"RELEVANT_KEY","line":36,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"33003123cbc00728f9934444716841ec1ff9b529c997839691bb14c20d436e53"},{"key":"trusted_netbird_identity","kind":"RELEVANT_KEY","line":37,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"ebb24cf2960c2243b155740605cba8127cedb6e016de2d44b914019d3fdbe085"},{"key":"trusted_netbird_ip","kind":"RELEVANT_KEY","line":38,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"5649415146501fa3dc7b2e08f469ef80b6b04e46b86079acd21229eb875e9440"},{"key":"public_vps_ip","kind":"HOST","line":39,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}},{"key":"public_vps_decision","kind":"RELEVANT_KEY","line":40,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"348e0553be62997b4c48bd45853803cba5a55da3b958f8e9b9419fa3c734b19d"},{"key":"backup_hostkeys","kind":"RELEVANT_KEY","line":41,"source":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"value_sha256":"2526f72dab61a237d504a652be0ab5e869e292ba1290fe76f9d34ea5578d980d"},{"key":"DRILL_REPORT","kind":"RELEVANT_KEY","line":6,"source":{"basename":"homelab-ingress-failover","path":"/usr/local/sbin/homelab-ingress-failover","scope":"USR_LOCAL"},"value_sha256":"242de3f3a1197026b997b7565bcd2a7c61a69229904a4e133f1988e206575baf"},{"key":"DRILL_REPORT","kind":"RELEVANT_KEY","line":6,"source":{"basename":"homelab-ingress-standby-refresh","path":"/usr/local/sbin/homelab-ingress-standby-refresh","scope":"USR_LOCAL"},"value_sha256":"242de3f3a1197026b997b7565bcd2a7c61a69229904a4e133f1988e206575baf"},{"key":"DEST","kind":"HOST_EXPR","line":120,"source":{"basename":"homelab-ingress-standby-refresh","path":"/usr/local/sbin/homelab-ingress-standby-refresh","scope":"USR_LOCAL"},"value_sha256":"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e"}]} -INFRA171_FILE_EVIDENCE={"count":6,"rows":[{"file":{"basename":"homelab-ingress-standby-refresh.service","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e","scope":"ETC"},"rows":[{"evidence":{"kind":"SANITIZED","text":"Description=Create current ingress recovery artifact on cold standby node"},"line":2},{"evidence":{"kind":"SANITIZED","text":"After=network-online.target pve-cluster.service"},"line":3},{"evidence":{"kind":"SANITIZED","text":"Wants=network-online.target"},"line":4},{"evidence":{"kind":"SANITIZED","text":"User=root"},"line":9},{"evidence":{"kind":"SANITIZED","text":""},"line":11}]},{"file":{"basename":"homelab-ingress-standby-refresh.timer","path_sha256":"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1","scope":"ETC"},"rows":[{"evidence":{"kind":"SANITIZED","text":"Description=Daily ingress cold standby recovery artifact refresh"},"line":2},{"evidence":{"kind":"SANITIZED","text":"Unit=homelab-ingress-standby-refresh.service"},"line":8},{"evidence":{"kind":"SANITIZED","text":"WantedBy=timers.target"},"line":11}]},{"file":{"basename":"homelab-external-probe-vps","path":"/usr/local/sbin/homelab-external-probe-vps","scope":"USR_LOCAL"},"rows":[{"evidence":{"kind":"SANITIZED","text":"ROOT=\"/var/lib/homelab-external-probe-vps\""},"line":3},{"evidence":{"kind":"SANITIZED","text":"HEALTH=\"/var/lib/homelab-health/external-probe-vps.txt\""},"line":4},{"evidence":{"kind":"SANITIZED","text":"REPORT=\"$ROOT/latest.md\""},"line":5},{"evidence":{"kind":"SANITIZED","text":"grep -q \"^STATUS=OK\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":9},{"evidence":{"kind":"SANITIZED","text":"grep -q \"^STATUS=OK\" /var/lib/homelab-health/netbird-vps-trust-closure.txt 2>/dev/null || BAD=$((BAD+1))"},"line":10},{"evidence":{"kind":"SANITIZED","text":"grep -q \"TRUSTED_NETBIRD_IDENTITY=edge-vm\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":12},{"evidence":{"kind":"SANITIZED","text":"grep -q \"PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":13},{"evidence":{"kind":"SANITIZED","text":"cat > \"$REPORT\" <"},"line":39},{"evidence":{"kind":"SANITIZED","text":"public_vps_ip="},"line":40},{"evidence":{"kind":"SANITIZED","text":"public_vps_decision=REJECTED_HOSTKEY_MISMATCH"},"line":41},{"evidence":{"kind":"SANITIZED","text":"backup_hostkeys=not_used_public_vps_rejected"},"line":42},{"evidence":{"kind":"SANITIZED","text":""},"line":45},{"evidence":{"kind":"SANITIZED","text":""},"line":46},{"evidence":{"kind":"SANITIZED","text":"closed_tail=no_known_hosts_change"},"line":48},{"evidence":{"kind":"SANITIZED","text":"echo \"STATUS=$STATUS TS=$TS TYPE=external-probe-vps BAD=$BAD WARN=$WARN MODE=STRATEGY_ONLY_NO_INDEPENDENT_RUNNER DEPLOYED=NO DEPLOY_DECISION=NO_DEPLOY VPS_TRUST=edge_vm_trusted_public_vps_rejected BACKUP_HOSTKEYS=not_used_public_vps_rejected PVE01_PUBLIC_SMOKE_BAD=$PVE01_PUBLIC_SMOKE_BAD INDEPENDENT_RUNNER=missing INDEPENDENT_RUNNER_AVAILABLE=no TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH REPORT=$REPORT\" > \"$HEALTH\""},"line":51}]},{"file":{"basename":"homelab-external-probe-vps-health","path":"/usr/local/sbin/homelab-external-probe-vps-health","scope":"USR_LOCAL"},"rows":[{"evidence":{"kind":"SANITIZED","text":"ROOT=\"/var/lib/homelab-external-probe-vps\""},"line":3},{"evidence":{"kind":"SANITIZED","text":"HEALTH=\"/var/lib/homelab-health/external-probe-vps.txt\""},"line":4},{"evidence":{"kind":"SANITIZED","text":"REPORT=\"$ROOT/latest.md\""},"line":5},{"evidence":{"kind":"SANITIZED","text":"for url in $URLS; do safe=\"$(echo \"$url\" | sed \"s#[^A-Za-z0-9]#_#g\")\"; body=\"/tmp/external-probe-vps-health-${safe}.body\"; code=\"$(curl -k -sS -o \"$body\" -w \"%{http_code}\" --connect-timeout 8 --max-time 18 \"$url\" 2>/tmp/external-probe-vps-health.err)\"; first=\"$(head -n1 \"$body\" 2>/dev/null | tr -cd \"[:print:]\")\"; bytes=\"$(wc -c < \"$body\" 2>/dev/null || echo 0)\"; printf \"%s\\t%s\\t%s\\t%s\\n\" \"$url\" \"$code\" \"$bytes\" \"$first\" >> \"$SMOKE_TSV\"; case \"$code:$first\" in 200:STATUS=*) : ;; *) PVE01_PUBLIC_SMOKE_BAD=$((PVE01_PUBLIC_SMOKE_BAD+1));; esac; done"},"line":12},{"evidence":{"kind":"SANITIZED","text":"grep -q \"^STATUS=OK\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":13},{"evidence":{"kind":"SANITIZED","text":"grep -q \"^STATUS=OK\" /var/lib/homelab-health/netbird-vps-trust-closure.txt 2>/dev/null || BAD=$((BAD+1))"},"line":14},{"evidence":{"kind":"SANITIZED","text":"grep -q \"TRUSTED_NETBIRD_IDENTITY=edge-vm\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":16},{"evidence":{"kind":"SANITIZED","text":"grep -q \"PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH\" /var/lib/homelab-health/netbird-vps-trust-clean-seal.txt 2>/dev/null || BAD=$((BAD+1))"},"line":17},{"evidence":{"kind":"SANITIZED","text":"cat > \"$REPORT\" <"},"line":38},{"evidence":{"kind":"SANITIZED","text":"public_vps_ip="},"line":39},{"evidence":{"kind":"SANITIZED","text":"public_vps_decision=REJECTED_HOSTKEY_MISMATCH"},"line":40},{"evidence":{"kind":"SANITIZED","text":"backup_hostkeys=not_used_public_vps_rejected"},"line":41},{"evidence":{"kind":"SANITIZED","text":""},"line":44},{"evidence":{"kind":"SANITIZED","text":""},"line":45},{"evidence":{"kind":"SANITIZED","text":"closed_tail=no_known_hosts_change"},"line":47},{"evidence":{"kind":"SANITIZED","text":"echo \"STATUS=$STATUS TS=$TS TYPE=external-probe-vps BAD=$BAD WARN=$WARN DEPLOYED=NO DEPLOY_DECISION=NO_DEPLOY VPS_TRUST=edge_vm_trusted_public_vps_rejected BACKUP_HOSTKEYS=not_used_public_vps_rejected PVE01_PUBLIC_SMOKE_BAD=$PVE01_PUBLIC_SMOKE_BAD INDEPENDENT_RUNNER=missing INDEPENDENT_RUNNER_AVAILABLE=no TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH REPORT=$REPORT\" > \"$HEALTH\""},"line":54}]},{"file":{"basename":"homelab-ingress-failover","path":"/usr/local/sbin/homelab-ingress-failover","scope":"USR_LOCAL"},"rows":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-health/ingress-failover\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"LOCK_FILE=\"/run/lock/homelab-ingress-failover.lock\""},"line":9},{"evidence":{"kind":"SANITIZED","text":"echo \"INGRESS_FAILOVER_LOCK=BUSY\""},"line":15},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":19},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" |"},"line":22},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" |"},"line":27},{"evidence":{"kind":"SANITIZED","text":"import json"},"line":48},{"evidence":{"kind":"SANITIZED","text":"import sys"},"line":49},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] ||"},"line":71},{"evidence":{"kind":"SANITIZED","text":"[ \"$node\" = \"$(hostname)\" ]"},"line":72},{"evidence":{"kind":"SANITIZED","text":"ssh \\"},"line":76},{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":196},{"evidence":{"kind":"SANITIZED","text":"grep -Rqs \"server_name[[:space:]]*git\\.gram1\\.ru\" \\"},"line":213},{"evidence":{"kind":"SANITIZED","text":"echo \"ACTIVE_INGRESS=$active\""},"line":241}]},{"file":{"basename":"homelab-ingress-standby-refresh","path":"/usr/local/sbin/homelab-ingress-standby-refresh","scope":"USR_LOCAL"},"rows":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"LOCK=\"/run/lock/homelab-ingress-standby-refresh.lock\""},"line":5},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-ingress-standby\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"RELAY=\"$(mktemp)\""},"line":12},{"evidence":{"kind":"SANITIZED","text":"rm -f \"$TMP_STATE\" \"$RELAY\" \"$RESOURCES\""},"line":16},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":26},{"evidence":{"kind":"SANITIZED","text":"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \"$DRILL_REPORT\""},"line":27},{"evidence":{"kind":"SANITIZED","text":"STANDBY_VMID=\"$(sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":29},{"evidence":{"kind":"SANITIZED","text":"STANDBY_NODE=\"$(sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":30},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":39},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":47},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] || [ \"$node\" = \"$(hostname)\" ]; then"},"line":60},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$node\" \"$@\""},"line":63},{"evidence":{"kind":"SANITIZED","text":"if [ \"$SOURCE_NODE\" = \"$(hostname -s)\" ] || [ \"$SOURCE_NODE\" = \"$(hostname)\" ]; then"},"line":91},{"evidence":{"kind":"SANITIZED","text":"cat \"$SOURCE_BACKUP\" >\"$RELAY\""},"line":92},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$SOURCE_NODE\" \"cat '$SOURCE_BACKUP'\" >\"$RELAY\""},"line":94},{"evidence":{"kind":"SANITIZED","text":"test \"$(stat -c %s \"$RELAY\")\" = \"$SOURCE_SIZE\""},"line":97},{"evidence":{"kind":"SANITIZED","text":"test \"$(sha256sum \"$RELAY\" | awk '{print $1}')\" = \"$SOURCE_SHA256\""},"line":98},{"evidence":{"kind":"SANITIZED","text":"DEST_DIR=\"/var/backups/ingress-standby-source\""},"line":100},{"evidence":{"kind":"SANITIZED","text":"if [ \"$STANDBY_NODE\" = \"$(hostname -s)\" ] || [ \"$STANDBY_NODE\" = \"$(hostname)\" ]; then"},"line":108},{"evidence":{"kind":"SANITIZED","text":"cat \"$RELAY\" >\"$DEST_TMP\""},"line":109},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$STANDBY_NODE\" \"cat >'$DEST_TMP'\" <\"$RELAY\""},"line":111},{"evidence":{"kind":"SANITIZED","text":"\"$SOURCE_NODE\" \"$STANDBY_VMID\" \"$KEEP\" <<'REMOTE'"},"line":116},{"evidence":{"kind":"SANITIZED","text":"REMOTE"},"line":171}]}]} -INFRA171_ROUTE_CANDIDATES={"count":0,"rows":[]} -INFRA171_ROLE_ROUTE_SUMMARY={"MD_RELAY":{"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"SPB_INGRESS":{"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"US_NETBIRD":{"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]}} -INFRA171_SUMMARY={"decision":"HOLD_EXTERNAL_SSH_UNIT_TRACE_INCOMPLETE","holds":["US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN","MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN","SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN"],"roles_hold":["US_NETBIRD","MD_RELAY","SPB_INGRESS"],"roles_ready":[]} +PRIOR_171_COMMIT=4ac5820682bd86c4bcd385692139c75369b0be03 +INFRA172_ROLE_DNS={"MD_RELAY":{"hostname":"nb.pvepro.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0},"SPB_INGRESS":{"hostname":"newfi.ru","ip_refs":[{"address_class":"PUBLIC","identity_marker":"HISTORICAL_SPB_INGRESS","ip_sha256":"6d6149f42864ce03daf22828cf236bf64d5d9a004040746ddbb051d71c9fcbc5"}],"rc":0},"US_NETBIRD":{"hostname":"nb.gram1.ru","ip_refs":[{"address_class":"PUBLIC","ip_sha256":"1fc73136d6d7ddbd0e67ae9c4ddbe6798056fba742305ef773f1015df2712c16"}],"rc":0}} +INFRA172_CURRENT_RESIDUE={"file_count":4,"rows":[{"assignments":[{"key":"User","kind":"USER","line":9,"value":"root"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Create current ingress recovery artifact on cold standby node"},"line":2},{"evidence":{"kind":"SANITIZED","text":"User=root"},"line":9},{"evidence":{"kind":"SANITIZED","text":""},"line":11}],"source":{"basename":"homelab-ingress-standby-refresh.service","kind":"CURRENT","path_sha256":"d267675a7c11436bf83d33ba637a28d00f08e91013f12af00a28d138eddc531e"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Daily ingress cold standby recovery artifact refresh"},"line":2},{"evidence":{"kind":"SANITIZED","text":"Unit=homelab-ingress-standby-refresh.service"},"line":8}],"source":{"basename":"homelab-ingress-standby-refresh.timer","kind":"CURRENT","path_sha256":"96feda8920362dd961046ef5f1375e8ccb4182400fe02408c76604e4aa4832c1"}},{"assignments":[{"key":"DEST","kind":"HOST_EXPR","line":120,"value_sha256":"fc4d602aa16170b89bda4c70d75d89e6183b14f994516aa7b3e032c3f18cbb4e"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"LOCK=\"/run/lock/homelab-ingress-standby-refresh.lock\""},"line":5},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-ingress-standby\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"RELAY=\"$(mktemp)\""},"line":12},{"evidence":{"kind":"SANITIZED","text":"rm -f \"$TMP_STATE\" \"$RELAY\" \"$RESOURCES\""},"line":16},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":26},{"evidence":{"kind":"SANITIZED","text":"grep -q '^CR0023_COLD_STANDBY_DRILL_STATUS=SUCCESS$' \"$DRILL_REPORT\""},"line":27},{"evidence":{"kind":"SANITIZED","text":"STANDBY_VMID=\"$(sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":29},{"evidence":{"kind":"SANITIZED","text":"STANDBY_NODE=\"$(sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" | head -n 1)\""},"line":30},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":39},{"evidence":{"kind":"SANITIZED","text":"import json, sys"},"line":47},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] || [ \"$node\" = \"$(hostname)\" ]; then"},"line":60},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$node\" \"$@\""},"line":63},{"evidence":{"kind":"SANITIZED","text":"if [ \"$SOURCE_NODE\" = \"$(hostname -s)\" ] || [ \"$SOURCE_NODE\" = \"$(hostname)\" ]; then"},"line":91},{"evidence":{"kind":"SANITIZED","text":"cat \"$SOURCE_BACKUP\" >\"$RELAY\""},"line":92},{"evidence":{"kind":"SANITIZED","text":"ssh -o BatchMode=yes -o ConnectTimeout=10 root@\"$SOURCE_NODE\" \"cat '$SOURCE_BACKUP'\" >\"$RELAY\""},"line":94},{"evidence":{"kind":"SANITIZED","text":"test \"$(stat -c %s \"$RELAY\")\" = \"$SOURCE_SIZE\""},"line":97},{"evidence":{"kind":"SANITIZED","text":"test \"$(sha256sum \"$RELAY\" | awk '{print $1}')\" = \"$SOURCE_SHA256\""},"line":98},{"evidence":{"kind":"SANITIZED","text":"DEST_DIR=\"/var/backups/ingress-standby-source\""},"line":100}],"source":{"basename":"homelab-ingress-standby-refresh","kind":"CURRENT","path":"/usr/local/sbin/homelab-ingress-standby-refresh"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":3},{"evidence":{"kind":"SANITIZED","text":"DRILL_REPORT=\"/var/lib/homelab-chat/CR0023-cold-standby-drill.txt\""},"line":6},{"evidence":{"kind":"SANITIZED","text":"STATE_DIR=\"/var/lib/homelab-health/ingress-failover\""},"line":7},{"evidence":{"kind":"SANITIZED","text":"LOCK_FILE=\"/run/lock/homelab-ingress-failover.lock\""},"line":9},{"evidence":{"kind":"SANITIZED","text":"echo \"INGRESS_FAILOVER_LOCK=BUSY\""},"line":15},{"evidence":{"kind":"SANITIZED","text":"test -f \"$DRILL_REPORT\""},"line":19},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_VMID=//p' \"$DRILL_REPORT\" |"},"line":22},{"evidence":{"kind":"SANITIZED","text":"sed -n 's/^STANDBY_NODE=//p' \"$DRILL_REPORT\" |"},"line":27},{"evidence":{"kind":"SANITIZED","text":"import json"},"line":48},{"evidence":{"kind":"SANITIZED","text":"import sys"},"line":49},{"evidence":{"kind":"SANITIZED","text":"if [ \"$node\" = \"$(hostname -s)\" ] ||"},"line":71},{"evidence":{"kind":"SANITIZED","text":"[ \"$node\" = \"$(hostname)\" ]"},"line":72},{"evidence":{"kind":"SANITIZED","text":"ssh \\"},"line":76},{"evidence":{"kind":"SANITIZED","text":"export LC_ALL=C"},"line":196},{"evidence":{"kind":"SANITIZED","text":"echo \"ACTIVE_INGRESS=$active\""},"line":241}],"source":{"basename":"homelab-ingress-failover","kind":"CURRENT","path":"/usr/local/sbin/homelab-ingress-failover"}}]} +INFRA172_GIT_META={"commit_count":11,"file_count":17,"git_rcs":[0,0,0,0],"repo_present":true} +INFRA172_GIT_EVIDENCE={"count":17,"rows":[{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"H=\"/var/lib/homelab-health/edge-ingress-hardening.txt\""},"line":4},{"evidence":{"kind":"SANITIZED","text":"LAN_IP=\"$(hostname -I | tr ' ' '\\n' | grep -m1 '^192\\.168\\.50\\.' || true)\""},"line":9},{"evidence":{"kind":"SANITIZED","text":"# NetBird uses UDP/51820. Do not block it on edge."},"line":38},{"evidence":{"kind":"SANITIZED","text":"delete_rule_if_exists \"$IPT\" -p udp --dport 51820 -j DROP"},"line":39},{"evidence":{"kind":"SANITIZED","text":"delete_rule_if_exists \"$IP6T\" -p udp --dport 51820 -j DROP"},"line":40},{"evidence":{"kind":"SANITIZED","text":"# Allow private NetBird overlay peers to reach NPMplus web entrypoints."},"line":42},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IPT\" -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT"},"line":43},{"evidence":{"kind":"SANITIZED","text":"if \"$IPT\" -C INPUT -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT 2>/dev/null; then"},"line":47},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -I INPUT 1 -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT"},"line":50},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IPT\" -p tcp --dport 81 ! -i lo -j DROP"},"line":55},{"evidence":{"kind":"SANITIZED","text":"add_input_rule \"$IP6T\" -p tcp --dport 81 ! -i lo -j DROP"},"line":56},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -C INPUT -i wt0 -s /16 -p tcp -m multiport --dports 80,443 -j ACCEPT 2>/dev/null || status=ERROR"},"line":61},{"evidence":{"kind":"SANITIZED","text":"[ -z \"${KUMA_IP:-}\" ] || \"$IPT\" -C INPUT -s \"$KUMA_IP\" -p tcp --dport 81 -j ACCEPT 2>/dev/null || status=ERROR"},"line":62},{"evidence":{"kind":"SANITIZED","text":"\"$IPT\" -C INPUT -p tcp --dport 81 ! -i lo -j DROP 2>/dev/null || status=ERROR"},"line":63},{"evidence":{"kind":"SANITIZED","text":"if \"$IPT\" -C INPUT -p udp --dport 51820 -j DROP 2>/dev/null; then"},"line":64},{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"afec0cfc0d1fd30371b43a57bd6bb2c5e7abf28c5f31e7c0b1b915200f891fa4","var_refs":[]},"line":68}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"c50956c9b33835940d70a6b64d295b3d0ddeeca304b11deadcc91145f5c6c97d"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Homelab edge ingress hardening rules"},"line":2},{"evidence":{"kind":"SANITIZED","text":""},"line":8},{"evidence":{"kind":"SANITIZED","text":"WantedBy=multi-user.target"},"line":12}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening.service","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"46fd7f5094fd54a19665dc8d535c977b492de7ee4a52970a5c7c309428282e95"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Re-apply homelab edge ingress hardening rules"},"line":2}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-edge-ingress-hardening.timer","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"9f00ab8ac998a1c9b2cf556fb6e257e737c2cbd62608f7a38310ba3d547e1df5"}},{"assignments":[{"key":"VPS_IP","kind":"HOST","line":4,"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup"},"line":2},{"evidence":{"kind":"SANITIZED","text":"VPS_IP="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":""},"line":6}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-backup.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"c9ec7a06c04903e50186b3ee98b8aadfb39632d401824b8741cde5f2c1803013"}},{"assignments":[{"key":"DST_HOST","kind":"HOST","line":4,"value":{"address_class":"PRIVATE","ip_sha256":"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-offhost"},"line":2},{"evidence":{"kind":"SANITIZED","text":"DST_HOST="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":"REMOTE_LATEST=20260701T013054Z"},"line":7},{"evidence":{"kind":"SANITIZED","text":"REMOTE_FILES=30"},"line":8},{"evidence":{"kind":"SANITIZED","text":"REMOTE_SIZE=466M"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-offhost.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"24ad9010c9b2a63d0200e4eab876ed55d0a6674865ec29eba0e5ffa0cadb9caf"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-restore-validation"},"line":2},{"evidence":{"kind":"SANITIZED","text":"/netbird-vps-backup.tgz"},"line":5},{"evidence":{"kind":"SANITIZED","text":"ROOT_NETBIRD_ENTRIES=7"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-restore.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"03182de1081e8461f8305079d0f1e53ab00801963b0f094053428bb9e4fddd0c"}},{"assignments":[{"key":"STATUS","kind":"SECRET_REDACTED","line":1,"line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692"}],"evidence":[{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692","var_refs":[]},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-clean-seal.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"1a9ca0f3db859fbb8ee746a8b92af49c40c32f6f447cec1beed77050a8acb15c"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md"},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-closure.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"130cdd6f02e08d3f6c81c06b9847451adae99e0a083cae5830079abe7a6917af"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"JOB_ID=netbird_vps_backup"},"line":4},{"evidence":{"kind":"SANITIZED","text":"JOB_NAME=netbird-vps-backup"},"line":5},{"evidence":{"kind":"SANITIZED","text":"TIMER=netbird-vps-backup.timer"},"line":7},{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup.service"},"line":8},{"evidence":{"kind":"SANITIZED","text":"/0-netbird-vps-trust.txt"},"line":15},{"evidence":{"kind":"SANITIZED","text":"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt"},"line":21},{"evidence":{"kind":"SANITIZED","text":"CANONICAL_JOB_ID=netbird_vps_backup"},"line":22}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"f7fba6fb4a8c37260757f75d0327db5e0c63d753d0e859d4f4c60df8bcbd3f2f"}},{"assignments":[{"key":"User","kind":"USER","line":9,"value":"root"}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Create current ingress recovery artifact on cold standby node"},"line":2},{"evidence":{"kind":"SANITIZED","text":"User=root"},"line":9},{"evidence":{"kind":"SANITIZED","text":""},"line":11}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-ingress-standby-refresh.service","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"344df7907257f81499a2bdc6531b3f203edb4e4d3df0a586bbfe5a6b357ea02b"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"Description=Daily ingress cold standby recovery artifact refresh"},"line":2},{"evidence":{"kind":"SANITIZED","text":"Unit=homelab-ingress-standby-refresh.service"},"line":8}],"role_hint":["SPB_INGRESS"],"source":{"basename":"homelab-ingress-standby-refresh.timer","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"7c9e49d69d774458a73ef95449cfabb56b79e5601174bf609548a63ee197cdc7"}},{"assignments":[{"key":"VPS_IP","kind":"HOST","line":4,"value":{"address_class":"PUBLIC","ip_sha256":"f743a81d85de402239bdb782892adc0886327b57d99fdb0b889aaf4768e59620"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup"},"line":2},{"evidence":{"kind":"SANITIZED","text":"VPS_IP="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":""},"line":6}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-backup.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"ff0d6f530cf4369d1bd150444195b755fdd35211d2653282b9f7c4b94b185fe8"}},{"assignments":[{"key":"DST_HOST","kind":"HOST","line":4,"value":{"address_class":"PRIVATE","ip_sha256":"01df4a7e1c20cbeb1656e21eb725b486a6b35e31bad29c61a4f63d6d4fb5660b"}}],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-offhost"},"line":2},{"evidence":{"kind":"SANITIZED","text":"DST_HOST="},"line":4},{"evidence":{"kind":"SANITIZED","text":""},"line":5},{"evidence":{"kind":"SANITIZED","text":"REMOTE_LATEST=20260701T013054Z"},"line":7},{"evidence":{"kind":"SANITIZED","text":"REMOTE_FILES=30"},"line":8},{"evidence":{"kind":"SANITIZED","text":"REMOTE_SIZE=466M"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-offhost.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"4daf227b611bbc2e721c8f827be86e845c18724d8dd011110fef7749dd59246b"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-restore-validation"},"line":2},{"evidence":{"kind":"SANITIZED","text":"/netbird-vps-backup.tgz"},"line":5},{"evidence":{"kind":"SANITIZED","text":"ROOT_NETBIRD_ENTRIES=7"},"line":9}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-restore.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"016df98d88a53e58eb13a37c7448de465d5c626181e63a8c7e36508790679abc"}},{"assignments":[{"key":"STATUS","kind":"SECRET_REDACTED","line":1,"line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692"}],"evidence":[{"evidence":{"kind":"REDACTED_SECRET_BEARING_LINE","line_sha256":"ff6f83e238f06cf43841ebe32e24641aead2a80e230247de6170162c1d717692","var_refs":[]},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-clean-seal.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"6c209e239afa21900a8a52e9bc48880daf3a471cc9a76782c8b4fe653584ae25"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-07T15:29:49Z TYPE=netbird-vps-trust-closure BAD=0 WARN=0 MODE=TRUST_CLOSURE_NO_KNOWN_HOSTS_CHANGE TRUSTED_NETBIRD_IDENTITY=edge-vm TRUSTED_NETBIRD_IP= PUBLIC_VPS_IP= PUBLIC_VPS_DECISION=REJECTED_HOSTKEY_MISMATCH PUBLIC_IP_STRICT_BLOCKED=YES PUBLIC_IP_KEYSCAN_MATCH=NO EDGE_REF_OK=1 NETBIRD_PEER_OK=1 REPORT=/var/lib/homelab-netbird-vps-trust/closure-latest.md"},"line":1}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust-closure.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"59d5c1cbd74daa8014c62a4545760605ec77238a1befd138d9f60d989e61bfd0"}},{"assignments":[],"evidence":[{"evidence":{"kind":"SANITIZED","text":"JOB_ID=netbird_vps_backup"},"line":4},{"evidence":{"kind":"SANITIZED","text":"JOB_NAME=netbird-vps-backup"},"line":5},{"evidence":{"kind":"SANITIZED","text":"TIMER=netbird-vps-backup.timer"},"line":7},{"evidence":{"kind":"SANITIZED","text":"SERVICE=netbird-vps-backup.service"},"line":8},{"evidence":{"kind":"SANITIZED","text":"/0-netbird-vps-trust.txt"},"line":15},{"evidence":{"kind":"SANITIZED","text":"LEGACY_SOURCE_PATH=/var/lib/homelab-health/netbird-vps-trust.txt"},"line":21},{"evidence":{"kind":"SANITIZED","text":"CANONICAL_JOB_ID=netbird_vps_backup"},"line":22}],"role_hint":["US_NETBIRD"],"source":{"basename":"netbird-vps-trust.txt","commit_ref_sha256":"a297d3ec3244aec51a37e12d93913d8580219621acdef6f3efd27618e2eb9092","kind":"GIT","path_sha256":"7b48060cff67cb75166dd86dcd1f32cb4bc1ddd13da4d3c683b4480b5bb7a813"}}]} +INFRA172_JOURNAL_EVIDENCE={"rows":[{"rc":0,"selected_rows":[{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":1},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-14T01:28:39Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":2},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":3},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":4},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":5},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-15T01:39:00Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":6},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":7},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":8},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":9},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-16T01:25:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":10},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":11},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":12},{"evidence":{"kind":"SANITIZED","text":"Starting netbird-vps-backup.service - NetBird VPS backup to pve01 staging..."},"line":13},{"evidence":{"kind":"SANITIZED","text":"STATUS=OK TS=2026-07-17T01:31:14Z TYPE=superseded-unit UNIT=netbird-vps-backup.service ACTION=noop_superseded_unit"},"line":14},{"evidence":{"kind":"SANITIZED","text":"netbird-vps-backup.service: Deactivated successfully."},"line":15},{"evidence":{"kind":"SANITIZED","text":"Finished netbird-vps-backup.service - NetBird VPS backup to pve01 staging."},"line":16}],"unit":"netbird-vps-backup.service"},{"rc":0,"selected_rows":[],"unit":"netbird-vps-backup-restore.service"},{"rc":0,"selected_rows":[],"unit":"netbird-vps-backup-offhost.service"},{"rc":0,"selected_rows":[{"evidence":{"kind":"SANITIZED","text":"Starting homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node..."},"line":1},{"evidence":{"kind":"SANITIZED","text":"homelab-ingress-standby-refresh.service: Main process exited, code=exited, status=1/FAILURE"},"line":2},{"evidence":{"kind":"SANITIZED","text":"homelab-ingress-standby-refresh.service: Failed with result 'exit-code'."},"line":3},{"evidence":{"kind":"SANITIZED","text":"Failed to start homelab-ingress-standby-refresh.service - Create current ingress recovery artifact on cold standby node."},"line":4}],"unit":"homelab-ingress-standby-refresh.service"}]} +INFRA172_ROUTE_CANDIDATES={"count":0,"rows":[]} +INFRA172_ROLE_ROUTE_SUMMARY={"MD_RELAY":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"SPB_INGRESS":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]},"US_NETBIRD":{"historical_trusted_user_routes":[],"route_candidates":[],"trusted_user_route_proven":false,"trusted_user_routes":[]}} +INFRA172_SUMMARY={"decision":"HOLD_EXTERNAL_SSH_HISTORICAL_ROUTE_INCOMPLETE","holds":["US_NETBIRD:TRUSTED_USER_ROUTE_NOT_PROVEN","MD_RELAY:TRUSTED_USER_ROUTE_NOT_PROVEN","SPB_INGRESS:TRUSTED_USER_ROUTE_NOT_PROVEN"],"roles_hold":["US_NETBIRD","MD_RELAY","SPB_INGRESS"],"roles_ready":[]} EXTERNAL_SSH_ATTEMPTS=0 SSH_KEYSCAN_ATTEMPTS=0 KNOWN_HOSTS_WRITES=0 @@ -46,7 +46,7 @@ SSH_CONFIG_WRITES=0 CONFIGURATION_WRITES=0 FILE_WRITES_BY_PROBE=0 SECRETS_PRINTED=NO -INFRA171_END +INFRA172_END OUTPUT_END CHAT_OUTPUT_END