diff --git a/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.json b/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.json new file mode 100644 index 00000000..f602e573 --- /dev/null +++ b/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "home-gram1-edge-vpn-dns-rca", + "started_at_utc": "2026-10-05T09:25:29Z", + "finished_at_utc": "2026-10-05T09:25:35Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "8373cbc8cc09222185a3eea30f811f59cdfd6c7e88118f3aa80c8fa2ce6e6027", + "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": "8d2e00550474afe9ffde1aee1364664e74e5775593673837f2b262320065fd0e", + "sanitized_output_sha256": "e222f8b364b0ef3aed91333615ff2ea31a541a9169bdbcb53347e0231495293b", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "HOME_GRAM1_EDGE_VPN_DNS_RCA=V1\nNO_MAIL_SEND=true\nNO_SERVICE_RESTART=true\nNO_TIMER_MUTATION=true\nNO_NETWORK_MUTATION=true\nNO_SOURCE_MUTATION=true\nNO_DNS_MUTATION=true\nNO_PROXY_MUTATION=true\nNO_CONTAINER_MUTATION=true\nNO_ACCESS_LIST_MUTATION=true\nNO_LOCAL_WINDOWS_MUTATION=true\nMODE=read-only\nHOST_PVE01=true\nLOCAL_DIAG_OK=true \nLOCAL_NETBIRD_PRESENT=true \nLOCAL_NETBIRD_SERVICE_FOUND=true \nLOCAL_NETBIRD_SERVICE_RUNNING=true \nLOCAL_NETBIRD_STATUS_RC=0 \nLOCAL_NETBIRD_CONNECTED_HINT=true \nLOCAL_NETBIRD_DISCONNECTED_HINT=false \nLOCAL_NETBIRD_MANAGEMENT_HINT=true \nLOCAL_NETBIRD_SIGNAL_HINT=true \nLOCAL_NETBIRD_OUTPUT_SHA=99aa8ce33befabc416914dd33b1af56e247c8e25960e4cb74a4a797ce330a880 \nLOCAL_HOME_DNS_COUNT=0 \nLOCAL_HOME_DNS_PRIVATE_COUNT=0 \nLOCAL_HOME_DNS_PUBLIC_COUNT=0 \nLOCAL_HOME_HTTPS_STATUS=0 \nLOCAL_HOMEVPN_DNS_COUNT=0 \nLOCAL_HOMEVPN_DNS_PRIVATE_COUNT=0 \nLOCAL_HOMEVPN_DNS_PUBLIC_COUNT=0 \nLOCAL_HOMEVPN_HTTPS_STATUS=0 \nSERVER_HOME_DNS_COUNT=1\nSERVER_HOME_DNS_PRIVATE_COUNT=1\nSERVER_HOME_DNS_PUBLIC_COUNT=0\nSERVER_HOME_HTTPS_STATUS=200\nSERVER_HOME_CURL_RC=0\nSERVER_HOMEVPN_DNS_COUNT=0\nSERVER_HOMEVPN_DNS_PRIVATE_COUNT=0\nSERVER_HOMEVPN_DNS_PUBLIC_COUNT=0\nSERVER_HOMEVPN_HTTPS_STATUS=000\nSERVER_HOMEVPN_CURL_RC=6\nEDGE_VM_FOUND=true\nEDGE_VM_NODE=pve03\nEDGE_VM_STATUS=running\nEDGE_VM_NAME=edge-vm\nPVE03_EDGE_INSPECT_RC=0\nPVE03_EDGE_INSPECT_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nEDGE_QM_GUEST_EXEC_RC=0\nEDGE_QM_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nEDGE_QGA_JSON=true\nEDGE_GUEST_EXITCODE=0\nEDGE_HOSTNAME=edge-vm\nEDGE_DOCKER_PRESENT=yes\nEDGE_NETBIRD_PRESENT=yes\nEDGE_NETBIRD_STATUS_SHA=7de6bb08abbcd58a722827794738dd523a1cbb4119b3cf8a5cba3d617b99b459\nEDGE_NETBIRD_CONNECTED_HINT=true\nEDGE_RELEVANT_CONTAINER_COUNT=2\nEDGE_CONTAINER_1_NAME=npmplus\nEDGE_CONTAINER_1_IMAGE=zoeyvid/npmplus:2026-06-17-b1\nEDGE_CONTAINER_1_STATUS=Up 5 weeks (healthy)\nEDGE_CONTAINER_2_NAME=socket-proxy\nEDGE_CONTAINER_2_IMAGE=lscr.io/linuxserver/socket-proxy:latest\nEDGE_CONTAINER_2_STATUS=Up 5 weeks\nEDGE_HOMEPAGE_CONTAINER_COUNT=0\nEDGE_DOMAIN_CONFIG_MATCH_COUNT=120\nEDGE_DOMAINCFG_1_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_1_HAS_HOME=true\nEDGE_DOMAINCFG_1_HAS_VPN=false\nEDGE_DOMAINCFG_1_HAS_ALLOW=false\nEDGE_DOMAINCFG_1_HAS_DENY=false\nEDGE_DOMAINCFG_1_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_2_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_2_HAS_HOME=true\nEDGE_DOMAINCFG_2_HAS_VPN=true\nEDGE_DOMAINCFG_2_HAS_ALLOW=false\nEDGE_DOMAINCFG_2_HAS_DENY=false\nEDGE_DOMAINCFG_2_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_3_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_3_HAS_HOME=true\nEDGE_DOMAINCFG_3_HAS_VPN=false\nEDGE_DOMAINCFG_3_HAS_ALLOW=false\nEDGE_DOMAINCFG_3_HAS_DENY=false\nEDGE_DOMAINCFG_3_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_4_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_4_HAS_HOME=true\nEDGE_DOMAINCFG_4_HAS_VPN=false\nEDGE_DOMAINCFG_4_HAS_ALLOW=false\nEDGE_DOMAINCFG_4_HAS_DENY=false\nEDGE_DOMAINCFG_4_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_5_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_5_HAS_HOME=true\nEDGE_DOMAINCFG_5_HAS_VPN=true\nEDGE_DOMAINCFG_5_HAS_ALLOW=false\nEDGE_DOMAINCFG_5_HAS_DENY=false\nEDGE_DOMAINCFG_5_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_6_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_6_HAS_HOME=true\nEDGE_DOMAINCFG_6_HAS_VPN=true\nEDGE_DOMAINCFG_6_HAS_ALLOW=false\nEDGE_DOMAINCFG_6_HAS_DENY=false\nEDGE_DOMAINCFG_6_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_7_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_7_HAS_HOME=false\nEDGE_DOMAINCFG_7_HAS_VPN=true\nEDGE_DOMAINCFG_7_HAS_ALLOW=false\nEDGE_DOMAINCFG_7_HAS_DENY=false\nEDGE_DOMAINCFG_7_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_8_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_8_HAS_HOME=true\nEDGE_DOMAINCFG_8_HAS_VPN=true\nEDGE_DOMAINCFG_8_HAS_ALLOW=false\nEDGE_DOMAINCFG_8_HAS_DENY=false\nEDGE_DOMAINCFG_8_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_9_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_9_HAS_HOME=true\nEDGE_DOMAINCFG_9_HAS_VPN=true\nEDGE_DOMAINCFG_9_HAS_ALLOW=false\nEDGE_DOMAINCFG_9_HAS_DENY=false\nEDGE_DOMAINCFG_9_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_10_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_10_HAS_HOME=true\nEDGE_DOMAINCFG_10_HAS_VPN=false\nEDGE_DOMAINCFG_10_HAS_ALLOW=false\nEDGE_DOMAINCFG_10_HAS_DENY=false\nEDGE_DOMAINCFG_10_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_11_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_11_HAS_HOME=false\nEDGE_DOMAINCFG_11_HAS_VPN=true\nEDGE_DOMAINCFG_11_HAS_ALLOW=false\nEDGE_DOMAINCFG_11_HAS_DENY=false\nEDGE_DOMAINCFG_11_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_12_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_12_HAS_HOME=false\nEDGE_DOMAINCFG_12_HAS_VPN=true\nEDGE_DOMAINCFG_12_HAS_ALLOW=false\nEDGE_DOMAINCFG_12_HAS_DENY=false\nEDGE_DOMAINCFG_12_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_13_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_13_HAS_HOME=false\nEDGE_DOMAINCFG_13_HAS_VPN=true\nEDGE_DOMAINCFG_13_HAS_ALLOW=false\nEDGE_DOMAINCFG_13_HAS_DENY=false\nEDGE_DOMAINCFG_13_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_14_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_14_HAS_HOME=true\nEDGE_DOMAINCFG_14_HAS_VPN=false\nEDGE_DOMAINCFG_14_HAS_ALLOW=false\nEDGE_DOMAINCFG_14_HAS_DENY=false\nEDGE_DOMAINCFG_14_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_15_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_15_HAS_HOME=true\nEDGE_DOMAINCFG_15_HAS_VPN=false\nEDGE_DOMAINCFG_15_HAS_ALLOW=false\nEDGE_DOMAINCFG_15_HAS_DENY=false\nEDGE_DOMAINCFG_15_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_16_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_16_HAS_HOME=false\nEDGE_DOMAINCFG_16_HAS_VPN=true\nEDGE_DOMAINCFG_16_HAS_ALLOW=false\nEDGE_DOMAINCFG_16_HAS_DENY=false\nEDGE_DOMAINCFG_16_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_17_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_17_HAS_HOME=true\nEDGE_DOMAINCFG_17_HAS_VPN=false\nEDGE_DOMAINCFG_17_HAS_ALLOW=false\nEDGE_DOMAINCFG_17_HAS_DENY=false\nEDGE_DOMAINCFG_17_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_18_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_18_HAS_HOME=true\nEDGE_DOMAINCFG_18_HAS_VPN=true\nEDGE_DOMAINCFG_18_HAS_ALLOW=false\nEDGE_DOMAINCFG_18_HAS_DENY=false\nEDGE_DOMAINCFG_18_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_19_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_19_HAS_HOME=false\nEDGE_DOMAINCFG_19_HAS_VPN=true\nEDGE_DOMAINCFG_19_HAS_ALLOW=false\nEDGE_DOMAINCFG_19_HAS_DENY=false\nEDGE_DOMAINCFG_19_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_20_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_20_HAS_HOME=true\nEDGE_DOMAINCFG_20_HAS_VPN=false\nEDGE_DOMAINCFG_20_HAS_ALLOW=false\nEDGE_DOMAINCFG_20_HAS_DENY=false\nEDGE_DOMAINCFG_20_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_21_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_21_HAS_HOME=false\nEDGE_DOMAINCFG_21_HAS_VPN=true\nEDGE_DOMAINCFG_21_HAS_ALLOW=false\nEDGE_DOMAINCFG_21_HAS_DENY=false\nEDGE_DOMAINCFG_21_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_22_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_22_HAS_HOME=false\nEDGE_DOMAINCFG_22_HAS_VPN=true\nEDGE_DOMAINCFG_22_HAS_ALLOW=false\nEDGE_DOMAINCFG_22_HAS_DENY=false\nEDGE_DOMAINCFG_22_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_23_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-supported-vpn-routes-closeout-20260623/index.html\nEDGE_DOMAINCFG_23_HAS_HOME=false\nEDGE_DOMAINCFG_23_HAS_VPN=true\nEDGE_DOMAINCFG_23_HAS_ALLOW=false\nEDGE_DOMAINCFG_23_HAS_DENY=false\nEDGE_DOMAINCFG_23_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_24_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_24_HAS_HOME=true\nEDGE_DOMAINCFG_24_HAS_VPN=false\nEDGE_DOMAINCFG_24_HAS_ALLOW=false\nEDGE_DOMAINCFG_24_HAS_DENY=false\nEDGE_DOMAINCFG_24_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_25_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_25_HAS_HOME=true\nEDGE_DOMAINCFG_25_HAS_VPN=false\nEDGE_DOMAINCFG_25_HAS_ALLOW=false\nEDGE_DOMAINCFG_25_HAS_DENY=false\nEDGE_DOMAINCFG_25_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_26_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_26_HAS_HOME=true\nEDGE_DOMAINCFG_26_HAS_VPN=true\nEDGE_DOMAINCFG_26_HAS_ALLOW=false\nEDGE_DOMAINCFG_26_HAS_DENY=false\nEDGE_DOMAINCFG_26_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_27_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_27_HAS_HOME=true\nEDGE_DOMAINCFG_27_HAS_VPN=false\nEDGE_DOMAINCFG_27_HAS_ALLOW=false\nEDGE_DOMAINCFG_27_HAS_DENY=false\nEDGE_DOMAINCFG_27_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_28_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/search/search_index.json\nEDGE_DOMAINCFG_28_HAS_HOME=true\nEDGE_DOMAINCFG_28_HAS_VPN=true\nEDGE_DOMAINCFG_28_HAS_ALLOW=true\nEDGE_DOMAINCFG_28_HAS_DENY=true\nEDGE_DOMAINCFG_28_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_29_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/index.html\nEDGE_DOMAINCFG_29_HAS_HOME=true\nEDGE_DOMAINCFG_29_HAS_VPN=false\nEDGE_DOMAINCFG_29_HAS_ALLOW=false\nEDGE_DOMAINCFG_29_HAS_DENY=false\nEDGE_DOMAINCFG_29_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_30_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/domains.csv\nEDGE_DOMAINCFG_30_HAS_HOME=true\nEDGE_DOMAINCFG_30_HAS_VPN=false\nEDGE_DOMAINCFG_30_HAS_ALLOW=false\nEDGE_DOMAINCFG_30_HAS_DENY=false\nEDGE_DOMAINCFG_30_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_31_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/ports/index.html\nEDGE_DOMAINCFG_31_HAS_HOME=true\nEDGE_DOMAINCFG_31_HAS_VPN=false\nEDGE_DOMAINCFG_31_HAS_ALLOW=false\nEDGE_DOMAINCFG_31_HAS_DENY=false\nEDGE_DOMAINCFG_31_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_32_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_32_HAS_HOME=true\nEDGE_DOMAINCFG_32_HAS_VPN=false\nEDGE_DOMAINCFG_32_HAS_ALLOW=false\nEDGE_DOMAINCFG_32_HAS_DENY=false\nEDGE_DOMAINCFG_32_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_33_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_33_HAS_HOME=true\nEDGE_DOMAINCFG_33_HAS_VPN=false\nEDGE_DOMAINCFG_33_HAS_ALLOW=false\nEDGE_DOMAINCFG_33_HAS_DENY=false\nEDGE_DOMAINCFG_33_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_34_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_34_HAS_HOME=false\nEDGE_DOMAINCFG_34_HAS_VPN=true\nEDGE_DOMAINCFG_34_HAS_ALLOW=false\nEDGE_DOMAINCFG_34_HAS_DENY=false\nEDGE_DOMAINCFG_34_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_35_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_35_HAS_HOME=true\nEDGE_DOMAINCFG_35_HAS_VPN=true\nEDGE_DOMAINCFG_35_HAS_ALLOW=false\nEDGE_DOMAINCFG_35_HAS_DENY=false\nEDGE_DOMAINCFG_35_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_36_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_36_HAS_HOME=true\nEDGE_DOMAINCFG_36_HAS_VPN=false\nEDGE_DOMAINCFG_36_HAS_ALLOW=false\nEDGE_DOMAINCFG_36_HAS_DENY=false\nEDGE_DOMAINCFG_36_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_37_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_37_HAS_HOME=false\nEDGE_DOMAINCFG_37_HAS_VPN=true\nEDGE_DOMAINCFG_37_HAS_ALLOW=false\nEDGE_DOMAINCFG_37_HAS_DENY=false\nEDGE_DOMAINCFG_37_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_38_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_38_HAS_HOME=true\nEDGE_DOMAINCFG_38_HAS_VPN=false\nEDGE_DOMAINCFG_38_HAS_ALLOW=false\nEDGE_DOMAINCFG_38_HAS_DENY=false\nEDGE_DOMAINCFG_38_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_39_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_39_HAS_HOME=false\nEDGE_DOMAINCFG_39_HAS_VPN=true\nEDGE_DOMAINCFG_39_HAS_ALLOW=false\nEDGE_DOMAINCFG_39_HAS_DENY=false\nEDGE_DOMAINCFG_39_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_40_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_40_HAS_HOME=true\nEDGE_DOMAINCFG_40_HAS_VPN=true\nEDGE_DOMAINCFG_40_HAS_ALLOW=false\nEDGE_DOMAINCFG_40_HAS_DENY=false\nEDGE_DOMAINCFG_40_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_41_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/SERVICES-BOOTSTRAP-20260617/index.html\nEDGE_DOMAINCFG_41_HAS_HOME=false\nEDGE_DOMAINCFG_41_HAS_VPN=true\nEDGE_DOMAINCFG_41_HAS_ALLOW=false\nEDGE_DOMAINCFG_41_HAS_DENY=false\nEDGE_DOMAINCFG_41_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_42_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_42_HAS_HOME=true\nEDGE_DOMAINCFG_42_HAS_VPN=false\nEDGE_DOMAINCFG_42_HAS_ALLOW=false\nEDGE_DOMAINCFG_42_HAS_DENY=false\nEDGE_DOMAINCFG_42_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_43_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_43_HAS_HOME=true\nEDGE_DOMAINCFG_43_HAS_VPN=true\nEDGE_DOMAINCFG_43_HAS_ALLOW=false\nEDGE_DOMAINCFG_43_HAS_DENY=false\nEDGE_DOMAINCFG_43_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_44_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_44_HAS_HOME=true\nEDGE_DOMAINCFG_44_HAS_VPN=false\nEDGE_DOMAINCFG_44_HAS_ALLOW=false\nEDGE_DOMAINCFG_44_HAS_DENY=false\nEDGE_DOMAINCFG_44_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_45_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_45_HAS_HOME=true\nEDGE_DOMAINCFG_45_HAS_VPN=false\nEDGE_DOMAINCFG_45_HAS_ALLOW=false\nEDGE_DOMAINCFG_45_HAS_DENY=false\nEDGE_DOMAINCFG_45_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_46_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_46_HAS_HOME=true\nEDGE_DOMAINCFG_46_HAS_VPN=true\nEDGE_DOMAINCFG_46_HAS_ALLOW=false\nEDGE_DOMAINCFG_46_HAS_DENY=false\nEDGE_DOMAINCFG_46_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_47_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_47_HAS_HOME=true\nEDGE_DOMAINCFG_47_HAS_VPN=true\nEDGE_DOMAINCFG_47_HAS_ALLOW=false\nEDGE_DOMAINCFG_47_HAS_DENY=false\nEDGE_DOMAINCFG_47_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_48_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_48_HAS_HOME=false\nEDGE_DOMAINCFG_48_HAS_VPN=true\nEDGE_DOMAINCFG_48_HAS_ALLOW=false\nEDGE_DOMAINCFG_48_HAS_DENY=false\nEDGE_DOMAINCFG_48_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_49_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_49_HAS_HOME=true\nEDGE_DOMAINCFG_49_HAS_VPN=true\nEDGE_DOMAINCFG_49_HAS_ALLOW=false\nEDGE_DOMAINCFG_49_HAS_DENY=false\nEDGE_DOMAINCFG_49_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_50_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_50_HAS_HOME=true\nEDGE_DOMAINCFG_50_HAS_VPN=true\nEDGE_DOMAINCFG_50_HAS_ALLOW=false\nEDGE_DOMAINCFG_50_HAS_DENY=false\nEDGE_DOMAINCFG_50_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_51_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_51_HAS_HOME=true\nEDGE_DOMAINCFG_51_HAS_VPN=false\nEDGE_DOMAINCFG_51_HAS_ALLOW=false\nEDGE_DOMAINCFG_51_HAS_DENY=false\nEDGE_DOMAINCFG_51_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_52_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_52_HAS_HOME=false\nEDGE_DOMAINCFG_52_HAS_VPN=true\nEDGE_DOMAINCFG_52_HAS_ALLOW=false\nEDGE_DOMAINCFG_52_HAS_DENY=false\nEDGE_DOMAINCFG_52_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_53_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_53_HAS_HOME=false\nEDGE_DOMAINCFG_53_HAS_VPN=true\nEDGE_DOMAINCFG_53_HAS_ALLOW=false\nEDGE_DOMAINCFG_53_HAS_DENY=false\nEDGE_DOMAINCFG_53_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_54_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_54_HAS_HOME=false\nEDGE_DOMAINCFG_54_HAS_VPN=true\nEDGE_DOMAINCFG_54_HAS_ALLOW=false\nEDGE_DOMAINCFG_54_HAS_DENY=false\nEDGE_DOMAINCFG_54_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_55_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_55_HAS_HOME=true\nEDGE_DOMAINCFG_55_HAS_VPN=false\nEDGE_DOMAINCFG_55_HAS_ALLOW=false\nEDGE_DOMAINCFG_55_HAS_DENY=false\nEDGE_DOMAINCFG_55_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_56_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_56_HAS_HOME=true\nEDGE_DOMAINCFG_56_HAS_VPN=false\nEDGE_DOMAINCFG_56_HAS_ALLOW=false\nEDGE_DOMAINCFG_56_HAS_DENY=false\nEDGE_DOMAINCFG_56_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_57_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_57_HAS_HOME=false\nEDGE_DOMAINCFG_57_HAS_VPN=true\nEDGE_DOMAINCFG_57_HAS_ALLOW=false\nEDGE_DOMAINCFG_57_HAS_DENY=false\nEDGE_DOMAINCFG_57_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_58_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_58_HAS_HOME=true\nEDGE_DOMAINCFG_58_HAS_VPN=false\nEDGE_DOMAINCFG_58_HAS_ALLOW=false\nEDGE_DOMAINCFG_58_HAS_DENY=false\nEDGE_DOMAINCFG_58_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_59_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_59_HAS_HOME=true\nEDGE_DOMAINCFG_59_HAS_VPN=true\nEDGE_DOMAINCFG_59_HAS_ALLOW=false\nEDGE_DOMAINCFG_59_HAS_DENY=false\nEDGE_DOMAINCFG_59_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_60_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_60_HAS_HOME=false\nEDGE_DOMAINCFG_60_HAS_VPN=true\nEDGE_DOMAINCFG_60_HAS_ALLOW=false\nEDGE_DOMAINCFG_60_HAS_DENY=false\nEDGE_DOMAINCFG_60_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_61_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_61_HAS_HOME=true\nEDGE_DOMAINCFG_61_HAS_VPN=false\nEDGE_DOMAINCFG_61_HAS_ALLOW=false\nEDGE_DOMAINCFG_61_HAS_DENY=false\nEDGE_DOMAINCFG_61_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_62_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_62_HAS_HOME=false\nEDGE_DOMAINCFG_62_HAS_VPN=true\nEDGE_DOMAINCFG_62_HAS_ALLOW=false\nEDGE_DOMAINCFG_62_HAS_DENY=false\nEDGE_DOMAINCFG_62_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_63_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_63_HAS_HOME=false\nEDGE_DOMAINCFG_63_HAS_VPN=true\nEDGE_DOMAINCFG_63_HAS_ALLOW=false\nEDGE_DOMAINCFG_63_HAS_DENY=false\nEDGE_DOMAINCFG_63_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_64_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_64_HAS_HOME=true\nEDGE_DOMAINCFG_64_HAS_VPN=false\nEDGE_DOMAINCFG_64_HAS_ALLOW=false\nEDGE_DOMAINCFG_64_HAS_DENY=false\nEDGE_DOMAINCFG_64_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_65_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_65_HAS_HOME=true\nEDGE_DOMAINCFG_65_HAS_VPN=false\nEDGE_DOMAINCFG_65_HAS_ALLOW=false\nEDGE_DOMAINCFG_65_HAS_DENY=false\nEDGE_DOMAINCFG_65_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_66_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_66_HAS_HOME=true\nEDGE_DOMAINCFG_66_HAS_VPN=true\nEDGE_DOMAINCFG_66_HAS_ALLOW=false\nEDGE_DOMAINCFG_66_HAS_DENY=false\nEDGE_DOMAINCFG_66_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_67_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_67_HAS_HOME=true\nEDGE_DOMAINCFG_67_HAS_VPN=false\nEDGE_DOMAINCFG_67_HAS_ALLOW=false\nEDGE_DOMAINCFG_67_HAS_DENY=false\nEDGE_DOMAINCFG_67_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_68_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/search/search_index.json\nEDGE_DOMAINCFG_68_HAS_HOME=true\nEDGE_DOMAINCFG_68_HAS_VPN=true\nEDGE_DOMAINCFG_68_HAS_ALLOW=true\nEDGE_DOMAINCFG_68_HAS_DENY=true\nEDGE_DOMAINCFG_68_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_69_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/index.html\nEDGE_DOMAINCFG_69_HAS_HOME=true\nEDGE_DOMAINCFG_69_HAS_VPN=false\nEDGE_DOMAINCFG_69_HAS_ALLOW=false\nEDGE_DOMAINCFG_69_HAS_DENY=false\nEDGE_DOMAINCFG_69_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_70_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/domains.csv\nEDGE_DOMAINCFG_70_HAS_HOME=true\nEDGE_DOMAINCFG_70_HAS_VPN=false\nEDGE_DOMAINCFG_70_HAS_ALLOW=false\nEDGE_DOMAINCFG_70_HAS_DENY=false\nEDGE_DOMAINCFG_70_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_71_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/ports/index.html\nEDGE_DOMAINCFG_71_HAS_HOME=true\nEDGE_DOMAINCFG_71_HAS_VPN=false\nEDGE_DOMAINCFG_71_HAS_ALLOW=false\nEDGE_DOMAINCFG_71_HAS_DENY=false\nEDGE_DOMAINCFG_71_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_72_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_72_HAS_HOME=true\nEDGE_DOMAINCFG_72_HAS_VPN=false\nEDGE_DOMAINCFG_72_HAS_ALLOW=false\nEDGE_DOMAINCFG_72_HAS_DENY=false\nEDGE_DOMAINCFG_72_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_73_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_73_HAS_HOME=true\nEDGE_DOMAINCFG_73_HAS_VPN=false\nEDGE_DOMAINCFG_73_HAS_ALLOW=false\nEDGE_DOMAINCFG_73_HAS_DENY=false\nEDGE_DOMAINCFG_73_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_74_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_74_HAS_HOME=false\nEDGE_DOMAINCFG_74_HAS_VPN=true\nEDGE_DOMAINCFG_74_HAS_ALLOW=false\nEDGE_DOMAINCFG_74_HAS_DENY=false\nEDGE_DOMAINCFG_74_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_75_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_75_HAS_HOME=true\nEDGE_DOMAINCFG_75_HAS_VPN=true\nEDGE_DOMAINCFG_75_HAS_ALLOW=false\nEDGE_DOMAINCFG_75_HAS_DENY=false\nEDGE_DOMAINCFG_75_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_76_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_76_HAS_HOME=true\nEDGE_DOMAINCFG_76_HAS_VPN=false\nEDGE_DOMAINCFG_76_HAS_ALLOW=false\nEDGE_DOMAINCFG_76_HAS_DENY=false\nEDGE_DOMAINCFG_76_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_77_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_77_HAS_HOME=false\nEDGE_DOMAINCFG_77_HAS_VPN=true\nEDGE_DOMAINCFG_77_HAS_ALLOW=false\nEDGE_DOMAINCFG_77_HAS_DENY=false\nEDGE_DOMAINCFG_77_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_78_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_78_HAS_HOME=true\nEDGE_DOMAINCFG_78_HAS_VPN=false\nEDGE_DOMAINCFG_78_HAS_ALLOW=false\nEDGE_DOMAINCFG_78_HAS_DENY=false\nEDGE_DOMAINCFG_78_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_79_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_79_HAS_HOME=false\nEDGE_DOMAINCFG_79_HAS_VPN=true\nEDGE_DOMAINCFG_79_HAS_ALLOW=false\nEDGE_DOMAINCFG_79_HAS_DENY=false\nEDGE_DOMAINCFG_79_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_80_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_80_HAS_HOME=true\nEDGE_DOMAINCFG_80_HAS_VPN=true\nEDGE_DOMAINCFG_80_HAS_ALLOW=false\nEDGE_DOMAINCFG_80_HAS_DENY=false\nEDGE_DOMAINCFG_80_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_81_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/SERVICES-BOOTSTRAP-20260617/index.html\nEDGE_DOMAINCFG_81_HAS_HOME=false\nEDGE_DOMAINCFG_81_HAS_VPN=true\nEDGE_DOMAINCFG_81_HAS_ALLOW=false\nEDGE_DOMAINCFG_81_HAS_DENY=false\nEDGE_DOMAINCFG_81_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_82_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_82_HAS_HOME=true\nEDGE_DOMAINCFG_82_HAS_VPN=false\nEDGE_DOMAINCFG_82_HAS_ALLOW=false\nEDGE_DOMAINCFG_82_HAS_DENY=false\nEDGE_DOMAINCFG_82_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_83_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_83_HAS_HOME=true\nEDGE_DOMAINCFG_83_HAS_VPN=true\nEDGE_DOMAINCFG_83_HAS_ALLOW=false\nEDGE_DOMAINCFG_83_HAS_DENY=false\nEDGE_DOMAINCFG_83_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_84_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_84_HAS_HOME=true\nEDGE_DOMAINCFG_84_HAS_VPN=false\nEDGE_DOMAINCFG_84_HAS_ALLOW=false\nEDGE_DOMAINCFG_84_HAS_DENY=false\nEDGE_DOMAINCFG_84_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_85_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_85_HAS_HOME=true\nEDGE_DOMAINCFG_85_HAS_VPN=false\nEDGE_DOMAINCFG_85_HAS_ALLOW=false\nEDGE_DOMAINCFG_85_HAS_DENY=false\nEDGE_DOMAINCFG_85_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_86_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_86_HAS_HOME=true\nEDGE_DOMAINCFG_86_HAS_VPN=true\nEDGE_DOMAINCFG_86_HAS_ALLOW=false\nEDGE_DOMAINCFG_86_HAS_DENY=false\nEDGE_DOMAINCFG_86_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_87_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_87_HAS_HOME=true\nEDGE_DOMAINCFG_87_HAS_VPN=true\nEDGE_DOMAINCFG_87_HAS_ALLOW=false\nEDGE_DOMAINCFG_87_HAS_DENY=false\nEDGE_DOMAINCFG_87_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_88_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_88_HAS_HOME=false\nEDGE_DOMAINCFG_88_HAS_VPN=true\nEDGE_DOMAINCFG_88_HAS_ALLOW=false\nEDGE_DOMAINCFG_88_HAS_DENY=false\nEDGE_DOMAINCFG_88_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_89_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_89_HAS_HOME=true\nEDGE_DOMAINCFG_89_HAS_VPN=true\nEDGE_DOMAINCFG_89_HAS_ALLOW=false\nEDGE_DOMAINCFG_89_HAS_DENY=false\nEDGE_DOMAINCFG_89_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_90_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_90_HAS_HOME=true\nEDGE_DOMAINCFG_90_HAS_VPN=true\nEDGE_DOMAINCFG_90_HAS_ALLOW=false\nEDGE_DOMAINCFG_90_HAS_DENY=false\nEDGE_DOMAINCFG_90_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_91_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_91_HAS_HOME=true\nEDGE_DOMAINCFG_91_HAS_VPN=false\nEDGE_DOMAINCFG_91_HAS_ALLOW=false\nEDGE_DOMAINCFG_91_HAS_DENY=false\nEDGE_DOMAINCFG_91_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_92_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_92_HAS_HOME=false\nEDGE_DOMAINCFG_92_HAS_VPN=true\nEDGE_DOMAINCFG_92_HAS_ALLOW=false\nEDGE_DOMAINCFG_92_HAS_DENY=false\nEDGE_DOMAINCFG_92_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_93_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_93_HAS_HOME=false\nEDGE_DOMAINCFG_93_HAS_VPN=true\nEDGE_DOMAINCFG_93_HAS_ALLOW=false\nEDGE_DOMAINCFG_93_HAS_DENY=false\nEDGE_DOMAINCFG_93_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_94_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_94_HAS_HOME=false\nEDGE_DOMAINCFG_94_HAS_VPN=true\nEDGE_DOMAINCFG_94_HAS_ALLOW=false\nEDGE_DOMAINCFG_94_HAS_DENY=false\nEDGE_DOMAINCFG_94_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_95_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_95_HAS_HOME=true\nEDGE_DOMAINCFG_95_HAS_VPN=false\nEDGE_DOMAINCFG_95_HAS_ALLOW=false\nEDGE_DOMAINCFG_95_HAS_DENY=false\nEDGE_DOMAINCFG_95_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_96_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_96_HAS_HOME=true\nEDGE_DOMAINCFG_96_HAS_VPN=false\nEDGE_DOMAINCFG_96_HAS_ALLOW=false\nEDGE_DOMAINCFG_96_HAS_DENY=false\nEDGE_DOMAINCFG_96_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_97_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_97_HAS_HOME=false\nEDGE_DOMAINCFG_97_HAS_VPN=true\nEDGE_DOMAINCFG_97_HAS_ALLOW=false\nEDGE_DOMAINCFG_97_HAS_DENY=false\nEDGE_DOMAINCFG_97_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_98_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_98_HAS_HOME=true\nEDGE_DOMAINCFG_98_HAS_VPN=false\nEDGE_DOMAINCFG_98_HAS_ALLOW=false\nEDGE_DOMAINCFG_98_HAS_DENY=false\nEDGE_DOMAINCFG_98_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_99_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_99_HAS_HOME=true\nEDGE_DOMAINCFG_99_HAS_VPN=true\nEDGE_DOMAINCFG_99_HAS_ALLOW=false\nEDGE_DOMAINCFG_99_HAS_DENY=false\nEDGE_DOMAINCFG_99_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_100_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_100_HAS_HOME=false\nEDGE_DOMAINCFG_100_HAS_VPN=true\nEDGE_DOMAINCFG_100_HAS_ALLOW=false\nEDGE_DOMAINCFG_100_HAS_DENY=false\nEDGE_DOMAINCFG_100_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_101_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_101_HAS_HOME=true\nEDGE_DOMAINCFG_101_HAS_VPN=false\nEDGE_DOMAINCFG_101_HAS_ALLOW=false\nEDGE_DOMAINCFG_101_HAS_DENY=false\nEDGE_DOMAINCFG_101_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_102_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_102_HAS_HOME=false\nEDGE_DOMAINCFG_102_HAS_VPN=true\nEDGE_DOMAINCFG_102_HAS_ALLOW=false\nEDGE_DOMAINCFG_102_HAS_DENY=false\nEDGE_DOMAINCFG_102_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_103_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_103_HAS_HOME=false\nEDGE_DOMAINCFG_103_HAS_VPN=true\nEDGE_DOMAINCFG_103_HAS_ALLOW=false\nEDGE_DOMAINCFG_103_HAS_DENY=false\nEDGE_DOMAINCFG_103_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_104_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_104_HAS_HOME=true\nEDGE_DOMAINCFG_104_HAS_VPN=false\nEDGE_DOMAINCFG_104_HAS_ALLOW=false\nEDGE_DOMAINCFG_104_HAS_DENY=false\nEDGE_DOMAINCFG_104_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_105_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_105_HAS_HOME=true\nEDGE_DOMAINCFG_105_HAS_VPN=false\nEDGE_DOMAINCFG_105_HAS_ALLOW=false\nEDGE_DOMAINCFG_105_HAS_DENY=false\nEDGE_DOMAINCFG_105_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_106_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_106_HAS_HOME=true\nEDGE_DOMAINCFG_106_HAS_VPN=true\nEDGE_DOMAINCFG_106_HAS_ALLOW=false\nEDGE_DOMAINCFG_106_HAS_DENY=false\nEDGE_DOMAINCFG_106_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_107_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_107_HAS_HOME=true\nEDGE_DOMAINCFG_107_HAS_VPN=false\nEDGE_DOMAINCFG_107_HAS_ALLOW=false\nEDGE_DOMAINCFG_107_HAS_DENY=false\nEDGE_DOMAINCFG_107_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_108_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/search/search_index.json\nEDGE_DOMAINCFG_108_HAS_HOME=true\nEDGE_DOMAINCFG_108_HAS_VPN=true\nEDGE_DOMAINCFG_108_HAS_ALLOW=true\nEDGE_DOMAINCFG_108_HAS_DENY=true\nEDGE_DOMAINCFG_108_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_109_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/index.html\nEDGE_DOMAINCFG_109_HAS_HOME=true\nEDGE_DOMAINCFG_109_HAS_VPN=false\nEDGE_DOMAINCFG_109_HAS_ALLOW=false\nEDGE_DOMAINCFG_109_HAS_DENY=false\nEDGE_DOMAINCFG_109_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_110_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/domains.csv\nEDGE_DOMAINCFG_110_HAS_HOME=true\nEDGE_DOMAINCFG_110_HAS_VPN=false\nEDGE_DOMAINCFG_110_HAS_ALLOW=false\nEDGE_DOMAINCFG_110_HAS_DENY=false\nEDGE_DOMAINCFG_110_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_111_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/ports/index.html\nEDGE_DOMAINCFG_111_HAS_HOME=true\nEDGE_DOMAINCFG_111_HAS_VPN=false\nEDGE_DOMAINCFG_111_HAS_ALLOW=false\nEDGE_DOMAINCFG_111_HAS_DENY=false\nEDGE_DOMAINCFG_111_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_112_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_112_HAS_HOME=true\nEDGE_DOMAINCFG_112_HAS_VPN=false\nEDGE_DOMAINCFG_112_HAS_ALLOW=false\nEDGE_DOMAINCFG_112_HAS_DENY=false\nEDGE_DOMAINCFG_112_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_113_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_113_HAS_HOME=true\nEDGE_DOMAINCFG_113_HAS_VPN=false\nEDGE_DOMAINCFG_113_HAS_ALLOW=false\nEDGE_DOMAINCFG_113_HAS_DENY=false\nEDGE_DOMAINCFG_113_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_114_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_114_HAS_HOME=false\nEDGE_DOMAINCFG_114_HAS_VPN=true\nEDGE_DOMAINCFG_114_HAS_ALLOW=false\nEDGE_DOMAINCFG_114_HAS_DENY=false\nEDGE_DOMAINCFG_114_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_115_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_115_HAS_HOME=true\nEDGE_DOMAINCFG_115_HAS_VPN=true\nEDGE_DOMAINCFG_115_HAS_ALLOW=false\nEDGE_DOMAINCFG_115_HAS_DENY=false\nEDGE_DOMAINCFG_115_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_116_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_116_HAS_HOME=true\nEDGE_DOMAINCFG_116_HAS_VPN=false\nEDGE_DOMAINCFG_116_HAS_ALLOW=false\nEDGE_DOMAINCFG_116_HAS_DENY=false\nEDGE_DOMAINCFG_116_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_117_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_117_HAS_HOME=false\nEDGE_DOMAINCFG_117_HAS_VPN=true\nEDGE_DOMAINCFG_117_HAS_ALLOW=false\nEDGE_DOMAINCFG_117_HAS_DENY=false\nEDGE_DOMAINCFG_117_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_118_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_118_HAS_HOME=true\nEDGE_DOMAINCFG_118_HAS_VPN=false\nEDGE_DOMAINCFG_118_HAS_ALLOW=false\nEDGE_DOMAINCFG_118_HAS_DENY=false\nEDGE_DOMAINCFG_118_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_119_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_119_HAS_HOME=false\nEDGE_DOMAINCFG_119_HAS_VPN=true\nEDGE_DOMAINCFG_119_HAS_ALLOW=false\nEDGE_DOMAINCFG_119_HAS_DENY=false\nEDGE_DOMAINCFG_119_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_120_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_120_HAS_HOME=true\nEDGE_DOMAINCFG_120_HAS_VPN=true\nEDGE_DOMAINCFG_120_HAS_ALLOW=false\nEDGE_DOMAINCFG_120_HAS_DENY=false\nEDGE_DOMAINCFG_120_HAS_AUTH_REQUEST=false\nEDGE_PROXY_CONTAINER_COUNT=1\nEDGE_PROXY_DB_CANDIDATE_COUNT=1\nEDGE_PROXY_DB_SELECTED=true\nEDGE_PROXY_DB_PATH_SHA=36a7644962bc77f6f2ab31bf092004ded1daf0d1eb4421ac479f92a54b4c4c60\nEDGE_PROXY_MATCH_COUNT=2\nEDGE_PROXY_1_ID=8\nEDGE_PROXY_1_DOMAINS=[\"home.gram1.ru\"]\nEDGE_PROXY_1_FORWARD_SCHEME=http\nEDGE_PROXY_1_FORWARD_HOST_CLASS=private\nEDGE_PROXY_1_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0\nEDGE_PROXY_1_FORWARD_PORT=3000\nEDGE_PROXY_1_ACCESS_LIST_ID=1\nEDGE_PROXY_1_SSL_FORCED=1\nEDGE_PROXY_1_ENABLED=1\nEDGE_PROXY_1_ADV_HAS_ALLOW=false\nEDGE_PROXY_1_ADV_HAS_DENY=false\nEDGE_PROXY_1_ADV_HAS_AUTH=false\nEDGE_PROXY_1_BACKEND_HTTP=200\nEDGE_PROXY_2_ID=17\nEDGE_PROXY_2_DOMAINS=[\"homepage.vpn.gram1.ru\"]\nEDGE_PROXY_2_FORWARD_SCHEME=http\nEDGE_PROXY_2_FORWARD_HOST_CLASS=private\nEDGE_PROXY_2_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0\nEDGE_PROXY_2_FORWARD_PORT=3000\nEDGE_PROXY_2_ACCESS_LIST_ID=1\nEDGE_PROXY_2_SSL_FORCED=1\nEDGE_PROXY_2_ENABLED=1\nEDGE_PROXY_2_ADV_HAS_ALLOW=false\nEDGE_PROXY_2_ADV_HAS_DENY=false\nEDGE_PROXY_2_ADV_HAS_AUTH=false\nEDGE_PROXY_2_BACKEND_HTTP=200\nEDGE_USED_ACL_COUNT=1\nEDGE_ACL_1_ID=1\nEDGE_ACL_1_NAME=LAN only\nEDGE_ACL_1_SATISFY_ANY=0\nEDGE_ACL_1_PASS_AUTH=0\nEDGE_ACL_1_RULE_COUNT=4\nEDGE_ACL_1_RULE_1_CLASS=private\nEDGE_ACL_1_RULE_1_SHA=3bc5d8aba5c1426425a0ad3770bf77782d3f16a12d4455ad3d3a7ce324a5910a\nEDGE_ACL_1_RULE_1_DIRECTIVE=allow\nEDGE_ACL_1_RULE_2_CLASS=private\nEDGE_ACL_1_RULE_2_SHA=d01a825c13311b46a70c53405baab8c9aab1ceda5076cf56ef86d1d8c8673f5a\nEDGE_ACL_1_RULE_2_DIRECTIVE=allow\nEDGE_ACL_1_RULE_3_CLASS=private\nEDGE_ACL_1_RULE_3_SHA=783712746109b3d66507177fc2ac066b768aac772e5c9d7f20b28f4c7b5ef641\nEDGE_ACL_1_RULE_3_DIRECTIVE=allow\nEDGE_ACL_1_RULE_4_CLASS=private\nEDGE_ACL_1_RULE_4_SHA=9422ac7ba7ba4ebf2d71db387c71b97ed1709669d2d2e55408128148cfae4daf\nEDGE_ACL_1_RULE_4_DIRECTIVE=allow\nEDGE_RECENT_403_COUNT=0\nSOURCE_1_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_1_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-backup:53: echo \"NETBIRD_ACTIVE=$(systemctl is-active netbird 2>/dev/null || true)\"\nSOURCE_2_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_2_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:197: facts[\"netbird_route\"] = route\nSOURCE_3_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_3_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:199: problems.append(\"netbird_route_not_wt0\")\nSOURCE_4_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_4_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f\"- NetBird route: {facts.get('netbird_route')}\",\nSOURCE_5_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_5_LINE=tests/test_cr_2026_0005.py:33: for forbidden in (\"paperless\", \"netbird\", \"vm160\", \"pve02\", \"pve03\", \"cluster/backup\"):\nSOURCE_6_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_6_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-status:51:section \"EDGE-VM: монитор, NetBird и расширения\"\nSOURCE_7_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_7_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f\"- NetBird route: {facts.get('netbird_route')}\",\nSOURCE_8_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_8_LINE=.gitea/workflows/validate-kb.yml:59: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_9_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_9_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_10_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_10_LINE=kb/lessons/known_failures.json:423: \"netbird\",\nSOURCE_11_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_11_LINE=kb/lessons/known_failures_public.json:247: \"netbird\",\nSOURCE_12_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_12_LINE=kb/private/access.json:88: \"id\": \"new_usa_netbird\",\nSOURCE_13_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_13_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service`\nSOURCE_14_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_14_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z`\nSOURCE_15_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_15_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH]\nSOURCE_16_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_16_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_17_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_17_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_18_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_18_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_19_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_19_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: \"netbird.service\",\nSOURCE_20_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_20_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: \"netbird.service\",\nSOURCE_21_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_21_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: \"skladchik-ct200-netbird-egress.service\",\nSOURCE_22_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_22_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: \"udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=38)) \",\nSOURCE_23_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_23_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: \"udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=27)) \",\nSOURCE_24_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_24_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: \"tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=39)) \",\nSOURCE_25_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_25_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird:\nSOURCE_26_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_26_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: \"[IP_REDACTED]\"\nSOURCE_27_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_27_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED\nSOURCE_28_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_28_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate.\nSOURCE_29_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_29_LINE=deploy/homelab-command-stack/payload/homelab-command-portal:651:

Ссылка одноразовая и уже привязана к этому NetBird-адресу.

\nSOURCE_30_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_30_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`.\nSOURCE_31_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_31_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket.\nSOURCE_32_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_32_LINE=docs/superpowers/specs/2026-08-31-cr0103-command-stack-boot-readiness-design.md:92:- change NetBird configuration;\nSOURCE_33_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_33_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`.\nSOURCE_34_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_34_LINE=kb/AI_CONTEXT.md:30:## NetBird migration\nSOURCE_35_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_35_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0.\nSOURCE_36_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_36_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates.\nSOURCE_37_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_37_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains.\nSOURCE_38_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_38_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies.\nSOURCE_39_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_39_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening).\nSOURCE_40_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_40_LINE=kb/inventory/guests.json:59: \"role\": \"edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services\",\nSOURCE_41_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_41_LINE=kb/lessons/known_failures.json:430: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_42_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_42_LINE=kb/lessons/known_failures_public.json:250: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_43_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_43_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails;\nSOURCE_44_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_44_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS.\nSOURCE_45_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_45_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`.\nSOURCE_46_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_46_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production\nSOURCE_47_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_47_LINE=.gitea/workflows/validate-kb.yml:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_48_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_48_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_49_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_49_LINE=kb/lessons/known_failures.json:423: \"netbird\",\nSOURCE_50_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_50_LINE=kb/lessons/known_failures_public.json:247: \"netbird\",\nSOURCE_51_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_51_LINE=kb/private/access.json:88: \"id\": \"new_usa_netbird\",\nSOURCE_52_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_52_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service`\nSOURCE_53_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_53_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z`\nSOURCE_54_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_54_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH]\nSOURCE_55_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_55_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_56_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_56_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_57_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_57_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_58_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_58_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: \"netbird.service\",\nSOURCE_59_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_59_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: \"netbird.service\",\nSOURCE_60_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_60_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: \"skladchik-ct200-netbird-egress.service\",\nSOURCE_61_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_61_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: \"udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=38)) \",\nSOURCE_62_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_62_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: \"udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=27)) \",\nSOURCE_63_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_63_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: \"tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=39)) \",\nSOURCE_64_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_64_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird:\nSOURCE_65_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_65_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: \"[IP_REDACTED]\"\nSOURCE_66_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_66_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED\nSOURCE_67_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_67_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate.\nSOURCE_68_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_68_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`.\nSOURCE_69_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_69_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket.\nSOURCE_70_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_70_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`.\nSOURCE_71_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_71_LINE=kb/AI_CONTEXT.md:30:## NetBird migration\nSOURCE_72_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_72_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0.\nSOURCE_73_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_73_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates.\nSOURCE_74_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_74_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains.\nSOURCE_75_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_75_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies.\nSOURCE_76_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_76_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening).\nSOURCE_77_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_77_LINE=kb/inventory/guests.json:59: \"role\": \"edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services\",\nSOURCE_78_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_78_LINE=kb/lessons/known_failures.json:430: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_79_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_79_LINE=kb/lessons/known_failures_public.json:250: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_80_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_80_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails;\nSOURCE_81_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_81_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS.\nSOURCE_82_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_82_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`.\nSOURCE_83_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_83_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production\nSOURCE_84_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_84_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:211:- NetBird server SHA `efa4e50dbc556ccd7bdc5b0d977ff29fe21bdee3b7e312cba6e3fa53bbeec60b`\nSOURCE_85_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_85_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:215:NetBird server:\nSOURCE_86_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_86_LINE=README.md:9:- Homepage: https://home.gram1.ru\nSOURCE_87_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_87_LINE=README.md:53:- https://home.gram1.ru\nSOURCE_88_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_88_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru\nSOURCE_89_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_89_LINE=configs/sanitized/edge-vm/homepage-services.yaml:3: href: https://home.gram1.ru\nSOURCE_90_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_90_LINE=docs/05-service-catalog.md:67:- Domain: https://home.gram1.ru\nSOURCE_91_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_91_LINE=docs/06-certificates-troubleshooting.md:62:Observed with home.gram1.ru and git.gram1.ru before certificate completion.\nSOURCE_92_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_92_LINE=docs/06-certificates-troubleshooting.md:96:- home.gram1.ru: Lets Encrypt via Cloudflare DNS challenge.\nSOURCE_93_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_93_LINE=docs/99-current-state-summary.md:113:- URL: https://home.gram1.ru\nSOURCE_94_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_94_LINE=docs/99-current-state-summary.md:147:- https://home.gram1.ru\nSOURCE_95_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_95_LINE=docs/operations/p0-healthchecks-restore-proof-preflight-20260624T190801Z.md:65:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_96_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_96_LINE=docs/operations/p0-restore-drill-matrix-edge-index-20260624T183747Z.md:112:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_97_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_97_LINE=docs/operations/p0-restore-drill-matrix-quality-offhost-20260624T183931Z.md:126:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_98_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_98_LINE=docs/operations/p0-vikunja-restore-proof-preflight-20260624T191408Z.md:63:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_99_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_99_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.json:123: \"home.gram1.ru\"\nSOURCE_100_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_100_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.md:34:| 8 | public_or_unknown | home.gram1.ru | yes | http | [IP_REDACTED]:3000 | present | 8 |\nSOURCE_101_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_101_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:103: \"domain\": \"home.gram1.ru\",\nSOURCE_102_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_102_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:105: \"home.gram1.ru\"\nSOURCE_103_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_103_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.md:39:| 8 | home.gram1.ru | public-domain | homepage | edge-local | http://[IP_REDACTED]:3000 | yes | present | OK_PUBLIC_INTENTIONAL | keep_monitoring |\nSOURCE_104_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_104_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.json:905: \"domain\": \"home.gram1.ru\",\nSOURCE_105_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_105_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.md:68:| 8 | home.gram1.ru | http://[IP_REDACTED]:3000 | homepage | PUBLIC_OR_UNKNOWN_ROUTE, ACCESS_HINT_REVIEW |\nSOURCE_106_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_106_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru\nSOURCE_107_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_107_LINE=configs/sanitized/edge-vm/homepage-services.yaml:7: href: https://homepage.vpn.gram1.ru\nSOURCE_108_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_108_LINE=docs/99-current-state-summary.md:2333:- `homepage.vpn.gram1.ru`: HTTP `200`\nSOURCE_109_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_109_LINE=docs/ERRORS-LESSONS-20260618.md:61:Correct value: only https://homepage.vpn.gram1.ru.\nSOURCE_110_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_110_LINE=docs/ERRORS-LESSONS-20260618.md:108:Correction: use local direct Authentik outpost checks with homepage.vpn.gram1.ru forwarded headers before enabling NPMplus auth. Do not require the public auth.vpn outpost auth endpoint to match the Homepage provider.\nSOURCE_111_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_111_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:11:homepage.vpn.gram1.ru proxy id 17 cert id 32 access 1 ssl forced\nSOURCE_112_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_112_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:33:Launch URL: https://homepage.vpn.gram1.ru\nSOURCE_113_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_113_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:42:Only after provider and outpost verification, enable npmplus_auth_request authentik for homepage.vpn.gram1.ru. Keep rollback ready by setting it back to none.\nSOURCE_114_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_114_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:54:The public check through auth.vpn.gram1.ru returned 404 for /outpost.goauthentik.io/auth/nginx, while the local direct outpost check for homepage.vpn.gram1.ru returned a valid auth response. Treat the public auth.vpn auth endpoint as a wrong validation path for Homepage. Next safe step: enable npmplus_auth_request=authentik only for homepage proxy id 17 with rollback ready.\nSOURCE_115_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_115_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:73:host: homepage.vpn.gram1.ru\nSOURCE_116_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_116_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:22:homepage.vpn.gram1.ru -> [IP_REDACTED] -> NPMplus -> [IP_REDACTED]:3000\nSOURCE_117_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_117_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:55:EDGE_HOST=edge-vm;DOCKER_IMAGES=actual-budget=actualbudget/actual-server:latest;authentik-postgresql-1=postgres:16-alpine;authentik-server-1=ghcr.io/goauthentik/server:2026.5.3;authentik-worker-1=ghcr.io/goauthentik/server:2026.5.3;beszel=henrygd/beszel:latest;crowdsec=crowdsecurity/crowdsec:latest;dockge=louislam/dockge:1;dozzle=amir20/dozzle:latest;filebrowser=filebrowser/filebrowser:latest;gitea=docker.gitea.com/gitea:1.26.2;gotify=gotify/server:latest;grafana=grafana/grafana:latest;homeassistant=ghcr.io/home-assistant/home-assistant:stable;homebox=ghcr.io/sysadminsmedia/homebox:latest-rootless;homepage=ghcr.io/gethomepage/homepage:latest;immi\nSOURCE_118_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_118_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:208:homepage.vpn.gram1.ru -> [IP_REDACTED] -> [IP_REDACTED]:3000\nSOURCE_119_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_119_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:216:BINDING= - NPM_IPV4_BINDING=[IP_REDACTED]; - IPV4_BINDING=[IP_REDACTED];;ACCESS=5|access_list_id=1|address=[IP_REDACTED]|directive=allow;6|access_list_id=1|address=[IP_REDACTED]|directive=allow;7|access_list_id=1|address=[IP_REDACTED]|directive=allow;8|access_list_id=1|address=[IP_REDACTED]|directive=allow;;PROXIES=16|[\"kuma.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3001|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;17|[\"homepage.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3000|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;18|[\"gitea.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3002|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;19|[\"fileb\nSOURCE_120_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_120_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:222:kuma.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=302|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;homepage.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;gitea.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;filebrowser.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=iss\nSOURCE_MATCH_COUNT=120\nPVE01_NETBIRD_UNIT_MATCH_COUNT=3\nPVE01_NETBIRD_PRESENT=true\nPVE01_NETBIRD_STATUS_SHA=0cf182820b4c45584910a7a7b5bff12370f80c8707f9104557b0a61e643bbf11\nPVE01_NETBIRD_CONNECTED_HINT=true\nNEW_PC_NETBIRD_MISSING=true\nNEW_PC_NETBIRD_NOT_RUNNING=false\nNEW_PC_NETBIRD_NOT_CONNECTED=false\nNEW_PC_HOME_DNS_MISSING=true\nNEW_PC_HOME_PRIVATE_DNS_PRESENT=false\nNEW_PC_HOME_HTTPS_WORKING=false\nREPAIR_CLASS=REPAIR_NEW_PC_NETBIRD_INSTALL\nDECISION=ANALYZE_HOME_GRAM1_EDGE_VPN_DNS\nNEXT_GATE=HOME_GRAM1_NEW_PC_TARGETED_REPAIR\nTASK_RESULT=HOME_GRAM1_EDGE_VPN_DNS_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\n" +} diff --git a/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.txt b/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.txt new file mode 100644 index 00000000..6ceb1f3c --- /dev/null +++ b/runtime/history/SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1.txt @@ -0,0 +1,1126 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=home-gram1-edge-vpn-dns-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=8373cbc8cc09222185a3eea30f811f59cdfd6c7e88118f3aa80c8fa2ce6e6027 +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=8d2e00550474afe9ffde1aee1364664e74e5775593673837f2b262320065fd0e +SANITIZED_OUTPUT_SHA256=e222f8b364b0ef3aed91333615ff2ea31a541a9169bdbcb53347e0231495293b +OUTPUT_BEGIN +HOME_GRAM1_EDGE_VPN_DNS_RCA=V1 +NO_MAIL_SEND=true +NO_SERVICE_RESTART=true +NO_TIMER_MUTATION=true +NO_NETWORK_MUTATION=true +NO_SOURCE_MUTATION=true +NO_DNS_MUTATION=true +NO_PROXY_MUTATION=true +NO_CONTAINER_MUTATION=true +NO_ACCESS_LIST_MUTATION=true +NO_LOCAL_WINDOWS_MUTATION=true +MODE=read-only +HOST_PVE01=true +LOCAL_DIAG_OK=true +LOCAL_NETBIRD_PRESENT=true +LOCAL_NETBIRD_SERVICE_FOUND=true +LOCAL_NETBIRD_SERVICE_RUNNING=true +LOCAL_NETBIRD_STATUS_RC=0 +LOCAL_NETBIRD_CONNECTED_HINT=true +LOCAL_NETBIRD_DISCONNECTED_HINT=false +LOCAL_NETBIRD_MANAGEMENT_HINT=true +LOCAL_NETBIRD_SIGNAL_HINT=true +LOCAL_NETBIRD_OUTPUT_SHA=99aa8ce33befabc416914dd33b1af56e247c8e25960e4cb74a4a797ce330a880 +LOCAL_HOME_DNS_COUNT=0 +LOCAL_HOME_DNS_PRIVATE_COUNT=0 +LOCAL_HOME_DNS_PUBLIC_COUNT=0 +LOCAL_HOME_HTTPS_STATUS=0 +LOCAL_HOMEVPN_DNS_COUNT=0 +LOCAL_HOMEVPN_DNS_PRIVATE_COUNT=0 +LOCAL_HOMEVPN_DNS_PUBLIC_COUNT=0 +LOCAL_HOMEVPN_HTTPS_STATUS=0 +SERVER_HOME_DNS_COUNT=1 +SERVER_HOME_DNS_PRIVATE_COUNT=1 +SERVER_HOME_DNS_PUBLIC_COUNT=0 +SERVER_HOME_HTTPS_STATUS=200 +SERVER_HOME_CURL_RC=0 +SERVER_HOMEVPN_DNS_COUNT=0 +SERVER_HOMEVPN_DNS_PRIVATE_COUNT=0 +SERVER_HOMEVPN_DNS_PUBLIC_COUNT=0 +SERVER_HOMEVPN_HTTPS_STATUS=000 +SERVER_HOMEVPN_CURL_RC=6 +EDGE_VM_FOUND=true +EDGE_VM_NODE=pve03 +EDGE_VM_STATUS=running +EDGE_VM_NAME=edge-vm +PVE03_EDGE_INSPECT_RC=0 +PVE03_EDGE_INSPECT_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +EDGE_QM_GUEST_EXEC_RC=0 +EDGE_QM_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +EDGE_QGA_JSON=true +EDGE_GUEST_EXITCODE=0 +EDGE_HOSTNAME=edge-vm +EDGE_DOCKER_PRESENT=yes +EDGE_NETBIRD_PRESENT=yes +EDGE_NETBIRD_STATUS_SHA=7de6bb08abbcd58a722827794738dd523a1cbb4119b3cf8a5cba3d617b99b459 +EDGE_NETBIRD_CONNECTED_HINT=true +EDGE_RELEVANT_CONTAINER_COUNT=2 +EDGE_CONTAINER_1_NAME=npmplus +EDGE_CONTAINER_1_IMAGE=zoeyvid/npmplus:2026-06-17-b1 +EDGE_CONTAINER_1_STATUS=Up 5 weeks (healthy) +EDGE_CONTAINER_2_NAME=socket-proxy +EDGE_CONTAINER_2_IMAGE=lscr.io/linuxserver/socket-proxy:latest +EDGE_CONTAINER_2_STATUS=Up 5 weeks +EDGE_HOMEPAGE_CONTAINER_COUNT=0 +EDGE_DOMAIN_CONFIG_MATCH_COUNT=120 +EDGE_DOMAINCFG_1_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_1_HAS_HOME=true +EDGE_DOMAINCFG_1_HAS_VPN=false +EDGE_DOMAINCFG_1_HAS_ALLOW=false +EDGE_DOMAINCFG_1_HAS_DENY=false +EDGE_DOMAINCFG_1_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_2_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_2_HAS_HOME=true +EDGE_DOMAINCFG_2_HAS_VPN=true +EDGE_DOMAINCFG_2_HAS_ALLOW=false +EDGE_DOMAINCFG_2_HAS_DENY=false +EDGE_DOMAINCFG_2_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_3_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_3_HAS_HOME=true +EDGE_DOMAINCFG_3_HAS_VPN=false +EDGE_DOMAINCFG_3_HAS_ALLOW=false +EDGE_DOMAINCFG_3_HAS_DENY=false +EDGE_DOMAINCFG_3_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_4_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_4_HAS_HOME=true +EDGE_DOMAINCFG_4_HAS_VPN=false +EDGE_DOMAINCFG_4_HAS_ALLOW=false +EDGE_DOMAINCFG_4_HAS_DENY=false +EDGE_DOMAINCFG_4_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_5_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_5_HAS_HOME=true +EDGE_DOMAINCFG_5_HAS_VPN=true +EDGE_DOMAINCFG_5_HAS_ALLOW=false +EDGE_DOMAINCFG_5_HAS_DENY=false +EDGE_DOMAINCFG_5_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_6_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_6_HAS_HOME=true +EDGE_DOMAINCFG_6_HAS_VPN=true +EDGE_DOMAINCFG_6_HAS_ALLOW=false +EDGE_DOMAINCFG_6_HAS_DENY=false +EDGE_DOMAINCFG_6_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_7_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_7_HAS_HOME=false +EDGE_DOMAINCFG_7_HAS_VPN=true +EDGE_DOMAINCFG_7_HAS_ALLOW=false +EDGE_DOMAINCFG_7_HAS_DENY=false +EDGE_DOMAINCFG_7_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_8_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_8_HAS_HOME=true +EDGE_DOMAINCFG_8_HAS_VPN=true +EDGE_DOMAINCFG_8_HAS_ALLOW=false +EDGE_DOMAINCFG_8_HAS_DENY=false +EDGE_DOMAINCFG_8_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_9_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_9_HAS_HOME=true +EDGE_DOMAINCFG_9_HAS_VPN=true +EDGE_DOMAINCFG_9_HAS_ALLOW=false +EDGE_DOMAINCFG_9_HAS_DENY=false +EDGE_DOMAINCFG_9_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_10_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_10_HAS_HOME=true +EDGE_DOMAINCFG_10_HAS_VPN=false +EDGE_DOMAINCFG_10_HAS_ALLOW=false +EDGE_DOMAINCFG_10_HAS_DENY=false +EDGE_DOMAINCFG_10_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_11_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_11_HAS_HOME=false +EDGE_DOMAINCFG_11_HAS_VPN=true +EDGE_DOMAINCFG_11_HAS_ALLOW=false +EDGE_DOMAINCFG_11_HAS_DENY=false +EDGE_DOMAINCFG_11_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_12_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_12_HAS_HOME=false +EDGE_DOMAINCFG_12_HAS_VPN=true +EDGE_DOMAINCFG_12_HAS_ALLOW=false +EDGE_DOMAINCFG_12_HAS_DENY=false +EDGE_DOMAINCFG_12_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_13_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_13_HAS_HOME=false +EDGE_DOMAINCFG_13_HAS_VPN=true +EDGE_DOMAINCFG_13_HAS_ALLOW=false +EDGE_DOMAINCFG_13_HAS_DENY=false +EDGE_DOMAINCFG_13_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_14_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_14_HAS_HOME=true +EDGE_DOMAINCFG_14_HAS_VPN=false +EDGE_DOMAINCFG_14_HAS_ALLOW=false +EDGE_DOMAINCFG_14_HAS_DENY=false +EDGE_DOMAINCFG_14_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_15_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_15_HAS_HOME=true +EDGE_DOMAINCFG_15_HAS_VPN=false +EDGE_DOMAINCFG_15_HAS_ALLOW=false +EDGE_DOMAINCFG_15_HAS_DENY=false +EDGE_DOMAINCFG_15_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_16_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_16_HAS_HOME=false +EDGE_DOMAINCFG_16_HAS_VPN=true +EDGE_DOMAINCFG_16_HAS_ALLOW=false +EDGE_DOMAINCFG_16_HAS_DENY=false +EDGE_DOMAINCFG_16_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_17_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_17_HAS_HOME=true +EDGE_DOMAINCFG_17_HAS_VPN=false +EDGE_DOMAINCFG_17_HAS_ALLOW=false +EDGE_DOMAINCFG_17_HAS_DENY=false +EDGE_DOMAINCFG_17_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_18_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_18_HAS_HOME=true +EDGE_DOMAINCFG_18_HAS_VPN=true +EDGE_DOMAINCFG_18_HAS_ALLOW=false +EDGE_DOMAINCFG_18_HAS_DENY=false +EDGE_DOMAINCFG_18_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_19_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_19_HAS_HOME=false +EDGE_DOMAINCFG_19_HAS_VPN=true +EDGE_DOMAINCFG_19_HAS_ALLOW=false +EDGE_DOMAINCFG_19_HAS_DENY=false +EDGE_DOMAINCFG_19_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_20_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_20_HAS_HOME=true +EDGE_DOMAINCFG_20_HAS_VPN=false +EDGE_DOMAINCFG_20_HAS_ALLOW=false +EDGE_DOMAINCFG_20_HAS_DENY=false +EDGE_DOMAINCFG_20_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_21_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_21_HAS_HOME=false +EDGE_DOMAINCFG_21_HAS_VPN=true +EDGE_DOMAINCFG_21_HAS_ALLOW=false +EDGE_DOMAINCFG_21_HAS_DENY=false +EDGE_DOMAINCFG_21_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_22_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_22_HAS_HOME=false +EDGE_DOMAINCFG_22_HAS_VPN=true +EDGE_DOMAINCFG_22_HAS_ALLOW=false +EDGE_DOMAINCFG_22_HAS_DENY=false +EDGE_DOMAINCFG_22_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_23_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-supported-vpn-routes-closeout-20260623/index.html +EDGE_DOMAINCFG_23_HAS_HOME=false +EDGE_DOMAINCFG_23_HAS_VPN=true +EDGE_DOMAINCFG_23_HAS_ALLOW=false +EDGE_DOMAINCFG_23_HAS_DENY=false +EDGE_DOMAINCFG_23_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_24_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_24_HAS_HOME=true +EDGE_DOMAINCFG_24_HAS_VPN=false +EDGE_DOMAINCFG_24_HAS_ALLOW=false +EDGE_DOMAINCFG_24_HAS_DENY=false +EDGE_DOMAINCFG_24_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_25_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_25_HAS_HOME=true +EDGE_DOMAINCFG_25_HAS_VPN=false +EDGE_DOMAINCFG_25_HAS_ALLOW=false +EDGE_DOMAINCFG_25_HAS_DENY=false +EDGE_DOMAINCFG_25_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_26_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_26_HAS_HOME=true +EDGE_DOMAINCFG_26_HAS_VPN=true +EDGE_DOMAINCFG_26_HAS_ALLOW=false +EDGE_DOMAINCFG_26_HAS_DENY=false +EDGE_DOMAINCFG_26_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_27_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_27_HAS_HOME=true +EDGE_DOMAINCFG_27_HAS_VPN=false +EDGE_DOMAINCFG_27_HAS_ALLOW=false +EDGE_DOMAINCFG_27_HAS_DENY=false +EDGE_DOMAINCFG_27_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_28_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/search/search_index.json +EDGE_DOMAINCFG_28_HAS_HOME=true +EDGE_DOMAINCFG_28_HAS_VPN=true +EDGE_DOMAINCFG_28_HAS_ALLOW=true +EDGE_DOMAINCFG_28_HAS_DENY=true +EDGE_DOMAINCFG_28_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_29_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/index.html +EDGE_DOMAINCFG_29_HAS_HOME=true +EDGE_DOMAINCFG_29_HAS_VPN=false +EDGE_DOMAINCFG_29_HAS_ALLOW=false +EDGE_DOMAINCFG_29_HAS_DENY=false +EDGE_DOMAINCFG_29_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_30_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/domains.csv +EDGE_DOMAINCFG_30_HAS_HOME=true +EDGE_DOMAINCFG_30_HAS_VPN=false +EDGE_DOMAINCFG_30_HAS_ALLOW=false +EDGE_DOMAINCFG_30_HAS_DENY=false +EDGE_DOMAINCFG_30_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_31_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/ports/index.html +EDGE_DOMAINCFG_31_HAS_HOME=true +EDGE_DOMAINCFG_31_HAS_VPN=false +EDGE_DOMAINCFG_31_HAS_ALLOW=false +EDGE_DOMAINCFG_31_HAS_DENY=false +EDGE_DOMAINCFG_31_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_32_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_32_HAS_HOME=true +EDGE_DOMAINCFG_32_HAS_VPN=false +EDGE_DOMAINCFG_32_HAS_ALLOW=false +EDGE_DOMAINCFG_32_HAS_DENY=false +EDGE_DOMAINCFG_32_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_33_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_33_HAS_HOME=true +EDGE_DOMAINCFG_33_HAS_VPN=false +EDGE_DOMAINCFG_33_HAS_ALLOW=false +EDGE_DOMAINCFG_33_HAS_DENY=false +EDGE_DOMAINCFG_33_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_34_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_34_HAS_HOME=false +EDGE_DOMAINCFG_34_HAS_VPN=true +EDGE_DOMAINCFG_34_HAS_ALLOW=false +EDGE_DOMAINCFG_34_HAS_DENY=false +EDGE_DOMAINCFG_34_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_35_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_35_HAS_HOME=true +EDGE_DOMAINCFG_35_HAS_VPN=true +EDGE_DOMAINCFG_35_HAS_ALLOW=false +EDGE_DOMAINCFG_35_HAS_DENY=false +EDGE_DOMAINCFG_35_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_36_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_36_HAS_HOME=true +EDGE_DOMAINCFG_36_HAS_VPN=false +EDGE_DOMAINCFG_36_HAS_ALLOW=false +EDGE_DOMAINCFG_36_HAS_DENY=false +EDGE_DOMAINCFG_36_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_37_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_37_HAS_HOME=false +EDGE_DOMAINCFG_37_HAS_VPN=true +EDGE_DOMAINCFG_37_HAS_ALLOW=false +EDGE_DOMAINCFG_37_HAS_DENY=false +EDGE_DOMAINCFG_37_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_38_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_38_HAS_HOME=true +EDGE_DOMAINCFG_38_HAS_VPN=false +EDGE_DOMAINCFG_38_HAS_ALLOW=false +EDGE_DOMAINCFG_38_HAS_DENY=false +EDGE_DOMAINCFG_38_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_39_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_39_HAS_HOME=false +EDGE_DOMAINCFG_39_HAS_VPN=true +EDGE_DOMAINCFG_39_HAS_ALLOW=false +EDGE_DOMAINCFG_39_HAS_DENY=false +EDGE_DOMAINCFG_39_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_40_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_40_HAS_HOME=true +EDGE_DOMAINCFG_40_HAS_VPN=true +EDGE_DOMAINCFG_40_HAS_ALLOW=false +EDGE_DOMAINCFG_40_HAS_DENY=false +EDGE_DOMAINCFG_40_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_41_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/SERVICES-BOOTSTRAP-20260617/index.html +EDGE_DOMAINCFG_41_HAS_HOME=false +EDGE_DOMAINCFG_41_HAS_VPN=true +EDGE_DOMAINCFG_41_HAS_ALLOW=false +EDGE_DOMAINCFG_41_HAS_DENY=false +EDGE_DOMAINCFG_41_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_42_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_42_HAS_HOME=true +EDGE_DOMAINCFG_42_HAS_VPN=false +EDGE_DOMAINCFG_42_HAS_ALLOW=false +EDGE_DOMAINCFG_42_HAS_DENY=false +EDGE_DOMAINCFG_42_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_43_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_43_HAS_HOME=true +EDGE_DOMAINCFG_43_HAS_VPN=true +EDGE_DOMAINCFG_43_HAS_ALLOW=false +EDGE_DOMAINCFG_43_HAS_DENY=false +EDGE_DOMAINCFG_43_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_44_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_44_HAS_HOME=true +EDGE_DOMAINCFG_44_HAS_VPN=false +EDGE_DOMAINCFG_44_HAS_ALLOW=false +EDGE_DOMAINCFG_44_HAS_DENY=false +EDGE_DOMAINCFG_44_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_45_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_45_HAS_HOME=true +EDGE_DOMAINCFG_45_HAS_VPN=false +EDGE_DOMAINCFG_45_HAS_ALLOW=false +EDGE_DOMAINCFG_45_HAS_DENY=false +EDGE_DOMAINCFG_45_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_46_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_46_HAS_HOME=true +EDGE_DOMAINCFG_46_HAS_VPN=true +EDGE_DOMAINCFG_46_HAS_ALLOW=false +EDGE_DOMAINCFG_46_HAS_DENY=false +EDGE_DOMAINCFG_46_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_47_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_47_HAS_HOME=true +EDGE_DOMAINCFG_47_HAS_VPN=true +EDGE_DOMAINCFG_47_HAS_ALLOW=false +EDGE_DOMAINCFG_47_HAS_DENY=false +EDGE_DOMAINCFG_47_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_48_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_48_HAS_HOME=false +EDGE_DOMAINCFG_48_HAS_VPN=true +EDGE_DOMAINCFG_48_HAS_ALLOW=false +EDGE_DOMAINCFG_48_HAS_DENY=false +EDGE_DOMAINCFG_48_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_49_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_49_HAS_HOME=true +EDGE_DOMAINCFG_49_HAS_VPN=true +EDGE_DOMAINCFG_49_HAS_ALLOW=false +EDGE_DOMAINCFG_49_HAS_DENY=false +EDGE_DOMAINCFG_49_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_50_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_50_HAS_HOME=true +EDGE_DOMAINCFG_50_HAS_VPN=true +EDGE_DOMAINCFG_50_HAS_ALLOW=false +EDGE_DOMAINCFG_50_HAS_DENY=false +EDGE_DOMAINCFG_50_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_51_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_51_HAS_HOME=true +EDGE_DOMAINCFG_51_HAS_VPN=false +EDGE_DOMAINCFG_51_HAS_ALLOW=false +EDGE_DOMAINCFG_51_HAS_DENY=false +EDGE_DOMAINCFG_51_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_52_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_52_HAS_HOME=false +EDGE_DOMAINCFG_52_HAS_VPN=true +EDGE_DOMAINCFG_52_HAS_ALLOW=false +EDGE_DOMAINCFG_52_HAS_DENY=false +EDGE_DOMAINCFG_52_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_53_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_53_HAS_HOME=false +EDGE_DOMAINCFG_53_HAS_VPN=true +EDGE_DOMAINCFG_53_HAS_ALLOW=false +EDGE_DOMAINCFG_53_HAS_DENY=false +EDGE_DOMAINCFG_53_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_54_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_54_HAS_HOME=false +EDGE_DOMAINCFG_54_HAS_VPN=true +EDGE_DOMAINCFG_54_HAS_ALLOW=false +EDGE_DOMAINCFG_54_HAS_DENY=false +EDGE_DOMAINCFG_54_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_55_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_55_HAS_HOME=true +EDGE_DOMAINCFG_55_HAS_VPN=false +EDGE_DOMAINCFG_55_HAS_ALLOW=false +EDGE_DOMAINCFG_55_HAS_DENY=false +EDGE_DOMAINCFG_55_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_56_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_56_HAS_HOME=true +EDGE_DOMAINCFG_56_HAS_VPN=false +EDGE_DOMAINCFG_56_HAS_ALLOW=false +EDGE_DOMAINCFG_56_HAS_DENY=false +EDGE_DOMAINCFG_56_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_57_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_57_HAS_HOME=false +EDGE_DOMAINCFG_57_HAS_VPN=true +EDGE_DOMAINCFG_57_HAS_ALLOW=false +EDGE_DOMAINCFG_57_HAS_DENY=false +EDGE_DOMAINCFG_57_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_58_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_58_HAS_HOME=true +EDGE_DOMAINCFG_58_HAS_VPN=false +EDGE_DOMAINCFG_58_HAS_ALLOW=false +EDGE_DOMAINCFG_58_HAS_DENY=false +EDGE_DOMAINCFG_58_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_59_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_59_HAS_HOME=true +EDGE_DOMAINCFG_59_HAS_VPN=true +EDGE_DOMAINCFG_59_HAS_ALLOW=false +EDGE_DOMAINCFG_59_HAS_DENY=false +EDGE_DOMAINCFG_59_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_60_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_60_HAS_HOME=false +EDGE_DOMAINCFG_60_HAS_VPN=true +EDGE_DOMAINCFG_60_HAS_ALLOW=false +EDGE_DOMAINCFG_60_HAS_DENY=false +EDGE_DOMAINCFG_60_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_61_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_61_HAS_HOME=true +EDGE_DOMAINCFG_61_HAS_VPN=false +EDGE_DOMAINCFG_61_HAS_ALLOW=false +EDGE_DOMAINCFG_61_HAS_DENY=false +EDGE_DOMAINCFG_61_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_62_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_62_HAS_HOME=false +EDGE_DOMAINCFG_62_HAS_VPN=true +EDGE_DOMAINCFG_62_HAS_ALLOW=false +EDGE_DOMAINCFG_62_HAS_DENY=false +EDGE_DOMAINCFG_62_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_63_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_63_HAS_HOME=false +EDGE_DOMAINCFG_63_HAS_VPN=true +EDGE_DOMAINCFG_63_HAS_ALLOW=false +EDGE_DOMAINCFG_63_HAS_DENY=false +EDGE_DOMAINCFG_63_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_64_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_64_HAS_HOME=true +EDGE_DOMAINCFG_64_HAS_VPN=false +EDGE_DOMAINCFG_64_HAS_ALLOW=false +EDGE_DOMAINCFG_64_HAS_DENY=false +EDGE_DOMAINCFG_64_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_65_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_65_HAS_HOME=true +EDGE_DOMAINCFG_65_HAS_VPN=false +EDGE_DOMAINCFG_65_HAS_ALLOW=false +EDGE_DOMAINCFG_65_HAS_DENY=false +EDGE_DOMAINCFG_65_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_66_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_66_HAS_HOME=true +EDGE_DOMAINCFG_66_HAS_VPN=true +EDGE_DOMAINCFG_66_HAS_ALLOW=false +EDGE_DOMAINCFG_66_HAS_DENY=false +EDGE_DOMAINCFG_66_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_67_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_67_HAS_HOME=true +EDGE_DOMAINCFG_67_HAS_VPN=false +EDGE_DOMAINCFG_67_HAS_ALLOW=false +EDGE_DOMAINCFG_67_HAS_DENY=false +EDGE_DOMAINCFG_67_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_68_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/search/search_index.json +EDGE_DOMAINCFG_68_HAS_HOME=true +EDGE_DOMAINCFG_68_HAS_VPN=true +EDGE_DOMAINCFG_68_HAS_ALLOW=true +EDGE_DOMAINCFG_68_HAS_DENY=true +EDGE_DOMAINCFG_68_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_69_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/index.html +EDGE_DOMAINCFG_69_HAS_HOME=true +EDGE_DOMAINCFG_69_HAS_VPN=false +EDGE_DOMAINCFG_69_HAS_ALLOW=false +EDGE_DOMAINCFG_69_HAS_DENY=false +EDGE_DOMAINCFG_69_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_70_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/domains.csv +EDGE_DOMAINCFG_70_HAS_HOME=true +EDGE_DOMAINCFG_70_HAS_VPN=false +EDGE_DOMAINCFG_70_HAS_ALLOW=false +EDGE_DOMAINCFG_70_HAS_DENY=false +EDGE_DOMAINCFG_70_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_71_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/ports/index.html +EDGE_DOMAINCFG_71_HAS_HOME=true +EDGE_DOMAINCFG_71_HAS_VPN=false +EDGE_DOMAINCFG_71_HAS_ALLOW=false +EDGE_DOMAINCFG_71_HAS_DENY=false +EDGE_DOMAINCFG_71_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_72_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_72_HAS_HOME=true +EDGE_DOMAINCFG_72_HAS_VPN=false +EDGE_DOMAINCFG_72_HAS_ALLOW=false +EDGE_DOMAINCFG_72_HAS_DENY=false +EDGE_DOMAINCFG_72_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_73_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_73_HAS_HOME=true +EDGE_DOMAINCFG_73_HAS_VPN=false +EDGE_DOMAINCFG_73_HAS_ALLOW=false +EDGE_DOMAINCFG_73_HAS_DENY=false +EDGE_DOMAINCFG_73_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_74_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_74_HAS_HOME=false +EDGE_DOMAINCFG_74_HAS_VPN=true +EDGE_DOMAINCFG_74_HAS_ALLOW=false +EDGE_DOMAINCFG_74_HAS_DENY=false +EDGE_DOMAINCFG_74_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_75_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_75_HAS_HOME=true +EDGE_DOMAINCFG_75_HAS_VPN=true +EDGE_DOMAINCFG_75_HAS_ALLOW=false +EDGE_DOMAINCFG_75_HAS_DENY=false +EDGE_DOMAINCFG_75_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_76_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_76_HAS_HOME=true +EDGE_DOMAINCFG_76_HAS_VPN=false +EDGE_DOMAINCFG_76_HAS_ALLOW=false +EDGE_DOMAINCFG_76_HAS_DENY=false +EDGE_DOMAINCFG_76_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_77_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_77_HAS_HOME=false +EDGE_DOMAINCFG_77_HAS_VPN=true +EDGE_DOMAINCFG_77_HAS_ALLOW=false +EDGE_DOMAINCFG_77_HAS_DENY=false +EDGE_DOMAINCFG_77_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_78_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_78_HAS_HOME=true +EDGE_DOMAINCFG_78_HAS_VPN=false +EDGE_DOMAINCFG_78_HAS_ALLOW=false +EDGE_DOMAINCFG_78_HAS_DENY=false +EDGE_DOMAINCFG_78_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_79_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_79_HAS_HOME=false +EDGE_DOMAINCFG_79_HAS_VPN=true +EDGE_DOMAINCFG_79_HAS_ALLOW=false +EDGE_DOMAINCFG_79_HAS_DENY=false +EDGE_DOMAINCFG_79_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_80_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_80_HAS_HOME=true +EDGE_DOMAINCFG_80_HAS_VPN=true +EDGE_DOMAINCFG_80_HAS_ALLOW=false +EDGE_DOMAINCFG_80_HAS_DENY=false +EDGE_DOMAINCFG_80_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_81_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/SERVICES-BOOTSTRAP-20260617/index.html +EDGE_DOMAINCFG_81_HAS_HOME=false +EDGE_DOMAINCFG_81_HAS_VPN=true +EDGE_DOMAINCFG_81_HAS_ALLOW=false +EDGE_DOMAINCFG_81_HAS_DENY=false +EDGE_DOMAINCFG_81_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_82_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_82_HAS_HOME=true +EDGE_DOMAINCFG_82_HAS_VPN=false +EDGE_DOMAINCFG_82_HAS_ALLOW=false +EDGE_DOMAINCFG_82_HAS_DENY=false +EDGE_DOMAINCFG_82_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_83_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_83_HAS_HOME=true +EDGE_DOMAINCFG_83_HAS_VPN=true +EDGE_DOMAINCFG_83_HAS_ALLOW=false +EDGE_DOMAINCFG_83_HAS_DENY=false +EDGE_DOMAINCFG_83_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_84_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_84_HAS_HOME=true +EDGE_DOMAINCFG_84_HAS_VPN=false +EDGE_DOMAINCFG_84_HAS_ALLOW=false +EDGE_DOMAINCFG_84_HAS_DENY=false +EDGE_DOMAINCFG_84_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_85_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_85_HAS_HOME=true +EDGE_DOMAINCFG_85_HAS_VPN=false +EDGE_DOMAINCFG_85_HAS_ALLOW=false +EDGE_DOMAINCFG_85_HAS_DENY=false +EDGE_DOMAINCFG_85_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_86_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_86_HAS_HOME=true +EDGE_DOMAINCFG_86_HAS_VPN=true +EDGE_DOMAINCFG_86_HAS_ALLOW=false +EDGE_DOMAINCFG_86_HAS_DENY=false +EDGE_DOMAINCFG_86_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_87_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_87_HAS_HOME=true +EDGE_DOMAINCFG_87_HAS_VPN=true +EDGE_DOMAINCFG_87_HAS_ALLOW=false +EDGE_DOMAINCFG_87_HAS_DENY=false +EDGE_DOMAINCFG_87_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_88_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_88_HAS_HOME=false +EDGE_DOMAINCFG_88_HAS_VPN=true +EDGE_DOMAINCFG_88_HAS_ALLOW=false +EDGE_DOMAINCFG_88_HAS_DENY=false +EDGE_DOMAINCFG_88_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_89_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_89_HAS_HOME=true +EDGE_DOMAINCFG_89_HAS_VPN=true +EDGE_DOMAINCFG_89_HAS_ALLOW=false +EDGE_DOMAINCFG_89_HAS_DENY=false +EDGE_DOMAINCFG_89_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_90_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_90_HAS_HOME=true +EDGE_DOMAINCFG_90_HAS_VPN=true +EDGE_DOMAINCFG_90_HAS_ALLOW=false +EDGE_DOMAINCFG_90_HAS_DENY=false +EDGE_DOMAINCFG_90_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_91_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_91_HAS_HOME=true +EDGE_DOMAINCFG_91_HAS_VPN=false +EDGE_DOMAINCFG_91_HAS_ALLOW=false +EDGE_DOMAINCFG_91_HAS_DENY=false +EDGE_DOMAINCFG_91_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_92_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_92_HAS_HOME=false +EDGE_DOMAINCFG_92_HAS_VPN=true +EDGE_DOMAINCFG_92_HAS_ALLOW=false +EDGE_DOMAINCFG_92_HAS_DENY=false +EDGE_DOMAINCFG_92_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_93_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_93_HAS_HOME=false +EDGE_DOMAINCFG_93_HAS_VPN=true +EDGE_DOMAINCFG_93_HAS_ALLOW=false +EDGE_DOMAINCFG_93_HAS_DENY=false +EDGE_DOMAINCFG_93_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_94_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_94_HAS_HOME=false +EDGE_DOMAINCFG_94_HAS_VPN=true +EDGE_DOMAINCFG_94_HAS_ALLOW=false +EDGE_DOMAINCFG_94_HAS_DENY=false +EDGE_DOMAINCFG_94_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_95_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_95_HAS_HOME=true +EDGE_DOMAINCFG_95_HAS_VPN=false +EDGE_DOMAINCFG_95_HAS_ALLOW=false +EDGE_DOMAINCFG_95_HAS_DENY=false +EDGE_DOMAINCFG_95_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_96_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_96_HAS_HOME=true +EDGE_DOMAINCFG_96_HAS_VPN=false +EDGE_DOMAINCFG_96_HAS_ALLOW=false +EDGE_DOMAINCFG_96_HAS_DENY=false +EDGE_DOMAINCFG_96_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_97_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_97_HAS_HOME=false +EDGE_DOMAINCFG_97_HAS_VPN=true +EDGE_DOMAINCFG_97_HAS_ALLOW=false +EDGE_DOMAINCFG_97_HAS_DENY=false +EDGE_DOMAINCFG_97_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_98_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_98_HAS_HOME=true +EDGE_DOMAINCFG_98_HAS_VPN=false +EDGE_DOMAINCFG_98_HAS_ALLOW=false +EDGE_DOMAINCFG_98_HAS_DENY=false +EDGE_DOMAINCFG_98_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_99_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_99_HAS_HOME=true +EDGE_DOMAINCFG_99_HAS_VPN=true +EDGE_DOMAINCFG_99_HAS_ALLOW=false +EDGE_DOMAINCFG_99_HAS_DENY=false +EDGE_DOMAINCFG_99_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_100_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_100_HAS_HOME=false +EDGE_DOMAINCFG_100_HAS_VPN=true +EDGE_DOMAINCFG_100_HAS_ALLOW=false +EDGE_DOMAINCFG_100_HAS_DENY=false +EDGE_DOMAINCFG_100_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_101_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_101_HAS_HOME=true +EDGE_DOMAINCFG_101_HAS_VPN=false +EDGE_DOMAINCFG_101_HAS_ALLOW=false +EDGE_DOMAINCFG_101_HAS_DENY=false +EDGE_DOMAINCFG_101_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_102_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_102_HAS_HOME=false +EDGE_DOMAINCFG_102_HAS_VPN=true +EDGE_DOMAINCFG_102_HAS_ALLOW=false +EDGE_DOMAINCFG_102_HAS_DENY=false +EDGE_DOMAINCFG_102_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_103_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_103_HAS_HOME=false +EDGE_DOMAINCFG_103_HAS_VPN=true +EDGE_DOMAINCFG_103_HAS_ALLOW=false +EDGE_DOMAINCFG_103_HAS_DENY=false +EDGE_DOMAINCFG_103_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_104_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_104_HAS_HOME=true +EDGE_DOMAINCFG_104_HAS_VPN=false +EDGE_DOMAINCFG_104_HAS_ALLOW=false +EDGE_DOMAINCFG_104_HAS_DENY=false +EDGE_DOMAINCFG_104_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_105_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_105_HAS_HOME=true +EDGE_DOMAINCFG_105_HAS_VPN=false +EDGE_DOMAINCFG_105_HAS_ALLOW=false +EDGE_DOMAINCFG_105_HAS_DENY=false +EDGE_DOMAINCFG_105_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_106_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_106_HAS_HOME=true +EDGE_DOMAINCFG_106_HAS_VPN=true +EDGE_DOMAINCFG_106_HAS_ALLOW=false +EDGE_DOMAINCFG_106_HAS_DENY=false +EDGE_DOMAINCFG_106_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_107_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_107_HAS_HOME=true +EDGE_DOMAINCFG_107_HAS_VPN=false +EDGE_DOMAINCFG_107_HAS_ALLOW=false +EDGE_DOMAINCFG_107_HAS_DENY=false +EDGE_DOMAINCFG_107_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_108_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/search/search_index.json +EDGE_DOMAINCFG_108_HAS_HOME=true +EDGE_DOMAINCFG_108_HAS_VPN=true +EDGE_DOMAINCFG_108_HAS_ALLOW=true +EDGE_DOMAINCFG_108_HAS_DENY=true +EDGE_DOMAINCFG_108_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_109_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/index.html +EDGE_DOMAINCFG_109_HAS_HOME=true +EDGE_DOMAINCFG_109_HAS_VPN=false +EDGE_DOMAINCFG_109_HAS_ALLOW=false +EDGE_DOMAINCFG_109_HAS_DENY=false +EDGE_DOMAINCFG_109_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_110_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/domains.csv +EDGE_DOMAINCFG_110_HAS_HOME=true +EDGE_DOMAINCFG_110_HAS_VPN=false +EDGE_DOMAINCFG_110_HAS_ALLOW=false +EDGE_DOMAINCFG_110_HAS_DENY=false +EDGE_DOMAINCFG_110_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_111_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/ports/index.html +EDGE_DOMAINCFG_111_HAS_HOME=true +EDGE_DOMAINCFG_111_HAS_VPN=false +EDGE_DOMAINCFG_111_HAS_ALLOW=false +EDGE_DOMAINCFG_111_HAS_DENY=false +EDGE_DOMAINCFG_111_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_112_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_112_HAS_HOME=true +EDGE_DOMAINCFG_112_HAS_VPN=false +EDGE_DOMAINCFG_112_HAS_ALLOW=false +EDGE_DOMAINCFG_112_HAS_DENY=false +EDGE_DOMAINCFG_112_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_113_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_113_HAS_HOME=true +EDGE_DOMAINCFG_113_HAS_VPN=false +EDGE_DOMAINCFG_113_HAS_ALLOW=false +EDGE_DOMAINCFG_113_HAS_DENY=false +EDGE_DOMAINCFG_113_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_114_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_114_HAS_HOME=false +EDGE_DOMAINCFG_114_HAS_VPN=true +EDGE_DOMAINCFG_114_HAS_ALLOW=false +EDGE_DOMAINCFG_114_HAS_DENY=false +EDGE_DOMAINCFG_114_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_115_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_115_HAS_HOME=true +EDGE_DOMAINCFG_115_HAS_VPN=true +EDGE_DOMAINCFG_115_HAS_ALLOW=false +EDGE_DOMAINCFG_115_HAS_DENY=false +EDGE_DOMAINCFG_115_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_116_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_116_HAS_HOME=true +EDGE_DOMAINCFG_116_HAS_VPN=false +EDGE_DOMAINCFG_116_HAS_ALLOW=false +EDGE_DOMAINCFG_116_HAS_DENY=false +EDGE_DOMAINCFG_116_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_117_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_117_HAS_HOME=false +EDGE_DOMAINCFG_117_HAS_VPN=true +EDGE_DOMAINCFG_117_HAS_ALLOW=false +EDGE_DOMAINCFG_117_HAS_DENY=false +EDGE_DOMAINCFG_117_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_118_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_118_HAS_HOME=true +EDGE_DOMAINCFG_118_HAS_VPN=false +EDGE_DOMAINCFG_118_HAS_ALLOW=false +EDGE_DOMAINCFG_118_HAS_DENY=false +EDGE_DOMAINCFG_118_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_119_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_119_HAS_HOME=false +EDGE_DOMAINCFG_119_HAS_VPN=true +EDGE_DOMAINCFG_119_HAS_ALLOW=false +EDGE_DOMAINCFG_119_HAS_DENY=false +EDGE_DOMAINCFG_119_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_120_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_120_HAS_HOME=true +EDGE_DOMAINCFG_120_HAS_VPN=true +EDGE_DOMAINCFG_120_HAS_ALLOW=false +EDGE_DOMAINCFG_120_HAS_DENY=false +EDGE_DOMAINCFG_120_HAS_AUTH_REQUEST=false +EDGE_PROXY_CONTAINER_COUNT=1 +EDGE_PROXY_DB_CANDIDATE_COUNT=1 +EDGE_PROXY_DB_SELECTED=true +EDGE_PROXY_DB_PATH_SHA=36a7644962bc77f6f2ab31bf092004ded1daf0d1eb4421ac479f92a54b4c4c60 +EDGE_PROXY_MATCH_COUNT=2 +EDGE_PROXY_1_ID=8 +EDGE_PROXY_1_DOMAINS=["home.gram1.ru"] +EDGE_PROXY_1_FORWARD_SCHEME=http +EDGE_PROXY_1_FORWARD_HOST_CLASS=private +EDGE_PROXY_1_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0 +EDGE_PROXY_1_FORWARD_PORT=3000 +EDGE_PROXY_1_ACCESS_LIST_ID=1 +EDGE_PROXY_1_SSL_FORCED=1 +EDGE_PROXY_1_ENABLED=1 +EDGE_PROXY_1_ADV_HAS_ALLOW=false +EDGE_PROXY_1_ADV_HAS_DENY=false +EDGE_PROXY_1_ADV_HAS_AUTH=false +EDGE_PROXY_1_BACKEND_HTTP=200 +EDGE_PROXY_2_ID=17 +EDGE_PROXY_2_DOMAINS=["homepage.vpn.gram1.ru"] +EDGE_PROXY_2_FORWARD_SCHEME=http +EDGE_PROXY_2_FORWARD_HOST_CLASS=private +EDGE_PROXY_2_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0 +EDGE_PROXY_2_FORWARD_PORT=3000 +EDGE_PROXY_2_ACCESS_LIST_ID=1 +EDGE_PROXY_2_SSL_FORCED=1 +EDGE_PROXY_2_ENABLED=1 +EDGE_PROXY_2_ADV_HAS_ALLOW=false +EDGE_PROXY_2_ADV_HAS_DENY=false +EDGE_PROXY_2_ADV_HAS_AUTH=false +EDGE_PROXY_2_BACKEND_HTTP=200 +EDGE_USED_ACL_COUNT=1 +EDGE_ACL_1_ID=1 +EDGE_ACL_1_NAME=LAN only +EDGE_ACL_1_SATISFY_ANY=0 +EDGE_ACL_1_PASS_AUTH=0 +EDGE_ACL_1_RULE_COUNT=4 +EDGE_ACL_1_RULE_1_CLASS=private +EDGE_ACL_1_RULE_1_SHA=3bc5d8aba5c1426425a0ad3770bf77782d3f16a12d4455ad3d3a7ce324a5910a +EDGE_ACL_1_RULE_1_DIRECTIVE=allow +EDGE_ACL_1_RULE_2_CLASS=private +EDGE_ACL_1_RULE_2_SHA=d01a825c13311b46a70c53405baab8c9aab1ceda5076cf56ef86d1d8c8673f5a +EDGE_ACL_1_RULE_2_DIRECTIVE=allow +EDGE_ACL_1_RULE_3_CLASS=private +EDGE_ACL_1_RULE_3_SHA=783712746109b3d66507177fc2ac066b768aac772e5c9d7f20b28f4c7b5ef641 +EDGE_ACL_1_RULE_3_DIRECTIVE=allow +EDGE_ACL_1_RULE_4_CLASS=private +EDGE_ACL_1_RULE_4_SHA=9422ac7ba7ba4ebf2d71db387c71b97ed1709669d2d2e55408128148cfae4daf +EDGE_ACL_1_RULE_4_DIRECTIVE=allow +EDGE_RECENT_403_COUNT=0 +SOURCE_1_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_1_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-backup:53: echo "NETBIRD_ACTIVE=$(systemctl is-active netbird 2>/dev/null || true)" +SOURCE_2_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_2_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:197: facts["netbird_route"] = route +SOURCE_3_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_3_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:199: problems.append("netbird_route_not_wt0") +SOURCE_4_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_4_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f"- NetBird route: {facts.get('netbird_route')}", +SOURCE_5_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_5_LINE=tests/test_cr_2026_0005.py:33: for forbidden in ("paperless", "netbird", "vm160", "pve02", "pve03", "cluster/backup"): +SOURCE_6_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_6_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-status:51:section "EDGE-VM: монитор, NetBird и расширения" +SOURCE_7_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_7_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f"- NetBird route: {facts.get('netbird_route')}", +SOURCE_8_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_8_LINE=.gitea/workflows/validate-kb.yml:59: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_9_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_9_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_10_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_10_LINE=kb/lessons/known_failures.json:423: "netbird", +SOURCE_11_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_11_LINE=kb/lessons/known_failures_public.json:247: "netbird", +SOURCE_12_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_12_LINE=kb/private/access.json:88: "id": "new_usa_netbird", +SOURCE_13_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_13_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service` +SOURCE_14_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_14_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z` +SOURCE_15_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_15_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH] +SOURCE_16_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_16_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: "netbird": "[IP_REDACTED]", +SOURCE_17_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_17_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: "netbird": "[IP_REDACTED]", +SOURCE_18_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_18_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: "netbird": "[IP_REDACTED]", +SOURCE_19_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_19_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: "netbird.service", +SOURCE_20_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_20_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: "netbird.service", +SOURCE_21_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_21_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: "skladchik-ct200-netbird-egress.service", +SOURCE_22_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_22_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: "udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=38)) ", +SOURCE_23_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_23_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: "udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=27)) ", +SOURCE_24_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_24_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: "tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=39)) ", +SOURCE_25_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_25_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird: +SOURCE_26_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_26_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: "[IP_REDACTED]" +SOURCE_27_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_27_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED +SOURCE_28_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_28_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate. +SOURCE_29_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_29_LINE=deploy/homelab-command-stack/payload/homelab-command-portal:651:

Ссылка одноразовая и уже привязана к этому NetBird-адресу.

+SOURCE_30_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_30_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`. +SOURCE_31_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_31_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket. +SOURCE_32_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_32_LINE=docs/superpowers/specs/2026-08-31-cr0103-command-stack-boot-readiness-design.md:92:- change NetBird configuration; +SOURCE_33_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_33_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`. +SOURCE_34_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_34_LINE=kb/AI_CONTEXT.md:30:## NetBird migration +SOURCE_35_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_35_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0. +SOURCE_36_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_36_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates. +SOURCE_37_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_37_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains. +SOURCE_38_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_38_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies. +SOURCE_39_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_39_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening). +SOURCE_40_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_40_LINE=kb/inventory/guests.json:59: "role": "edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services", +SOURCE_41_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_41_LINE=kb/lessons/known_failures.json:430: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_42_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_42_LINE=kb/lessons/known_failures_public.json:250: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_43_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_43_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails; +SOURCE_44_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_44_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS. +SOURCE_45_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_45_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`. +SOURCE_46_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_46_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production +SOURCE_47_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_47_LINE=.gitea/workflows/validate-kb.yml:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_48_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_48_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_49_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_49_LINE=kb/lessons/known_failures.json:423: "netbird", +SOURCE_50_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_50_LINE=kb/lessons/known_failures_public.json:247: "netbird", +SOURCE_51_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_51_LINE=kb/private/access.json:88: "id": "new_usa_netbird", +SOURCE_52_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_52_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service` +SOURCE_53_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_53_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z` +SOURCE_54_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_54_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH] +SOURCE_55_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_55_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: "netbird": "[IP_REDACTED]", +SOURCE_56_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_56_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: "netbird": "[IP_REDACTED]", +SOURCE_57_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_57_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: "netbird": "[IP_REDACTED]", +SOURCE_58_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_58_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: "netbird.service", +SOURCE_59_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_59_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: "netbird.service", +SOURCE_60_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_60_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: "skladchik-ct200-netbird-egress.service", +SOURCE_61_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_61_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: "udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=38)) ", +SOURCE_62_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_62_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: "udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=27)) ", +SOURCE_63_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_63_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: "tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=39)) ", +SOURCE_64_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_64_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird: +SOURCE_65_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_65_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: "[IP_REDACTED]" +SOURCE_66_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_66_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED +SOURCE_67_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_67_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate. +SOURCE_68_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_68_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`. +SOURCE_69_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_69_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket. +SOURCE_70_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_70_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`. +SOURCE_71_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_71_LINE=kb/AI_CONTEXT.md:30:## NetBird migration +SOURCE_72_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_72_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0. +SOURCE_73_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_73_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates. +SOURCE_74_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_74_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains. +SOURCE_75_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_75_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies. +SOURCE_76_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_76_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening). +SOURCE_77_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_77_LINE=kb/inventory/guests.json:59: "role": "edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services", +SOURCE_78_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_78_LINE=kb/lessons/known_failures.json:430: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_79_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_79_LINE=kb/lessons/known_failures_public.json:250: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_80_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_80_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails; +SOURCE_81_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_81_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS. +SOURCE_82_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_82_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`. +SOURCE_83_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_83_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production +SOURCE_84_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_84_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:211:- NetBird server SHA `efa4e50dbc556ccd7bdc5b0d977ff29fe21bdee3b7e312cba6e3fa53bbeec60b` +SOURCE_85_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_85_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:215:NetBird server: +SOURCE_86_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_86_LINE=README.md:9:- Homepage: https://home.gram1.ru +SOURCE_87_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_87_LINE=README.md:53:- https://home.gram1.ru +SOURCE_88_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_88_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru +SOURCE_89_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_89_LINE=configs/sanitized/edge-vm/homepage-services.yaml:3: href: https://home.gram1.ru +SOURCE_90_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_90_LINE=docs/05-service-catalog.md:67:- Domain: https://home.gram1.ru +SOURCE_91_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_91_LINE=docs/06-certificates-troubleshooting.md:62:Observed with home.gram1.ru and git.gram1.ru before certificate completion. +SOURCE_92_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_92_LINE=docs/06-certificates-troubleshooting.md:96:- home.gram1.ru: Lets Encrypt via Cloudflare DNS challenge. +SOURCE_93_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_93_LINE=docs/99-current-state-summary.md:113:- URL: https://home.gram1.ru +SOURCE_94_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_94_LINE=docs/99-current-state-summary.md:147:- https://home.gram1.ru +SOURCE_95_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_95_LINE=docs/operations/p0-healthchecks-restore-proof-preflight-20260624T190801Z.md:65:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_96_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_96_LINE=docs/operations/p0-restore-drill-matrix-edge-index-20260624T183747Z.md:112:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_97_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_97_LINE=docs/operations/p0-restore-drill-matrix-quality-offhost-20260624T183931Z.md:126:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_98_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_98_LINE=docs/operations/p0-vikunja-restore-proof-preflight-20260624T191408Z.md:63:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_99_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_99_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.json:123: "home.gram1.ru" +SOURCE_100_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_100_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.md:34:| 8 | public_or_unknown | home.gram1.ru | yes | http | [IP_REDACTED]:3000 | present | 8 | +SOURCE_101_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_101_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:103: "domain": "home.gram1.ru", +SOURCE_102_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_102_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:105: "home.gram1.ru" +SOURCE_103_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_103_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.md:39:| 8 | home.gram1.ru | public-domain | homepage | edge-local | http://[IP_REDACTED]:3000 | yes | present | OK_PUBLIC_INTENTIONAL | keep_monitoring | +SOURCE_104_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_104_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.json:905: "domain": "home.gram1.ru", +SOURCE_105_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_105_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.md:68:| 8 | home.gram1.ru | http://[IP_REDACTED]:3000 | homepage | PUBLIC_OR_UNKNOWN_ROUTE, ACCESS_HINT_REVIEW | +SOURCE_106_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_106_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru +SOURCE_107_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_107_LINE=configs/sanitized/edge-vm/homepage-services.yaml:7: href: https://homepage.vpn.gram1.ru +SOURCE_108_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_108_LINE=docs/99-current-state-summary.md:2333:- `homepage.vpn.gram1.ru`: HTTP `200` +SOURCE_109_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_109_LINE=docs/ERRORS-LESSONS-20260618.md:61:Correct value: only https://homepage.vpn.gram1.ru. +SOURCE_110_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_110_LINE=docs/ERRORS-LESSONS-20260618.md:108:Correction: use local direct Authentik outpost checks with homepage.vpn.gram1.ru forwarded headers before enabling NPMplus auth. Do not require the public auth.vpn outpost auth endpoint to match the Homepage provider. +SOURCE_111_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_111_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:11:homepage.vpn.gram1.ru proxy id 17 cert id 32 access 1 ssl forced +SOURCE_112_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_112_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:33:Launch URL: https://homepage.vpn.gram1.ru +SOURCE_113_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_113_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:42:Only after provider and outpost verification, enable npmplus_auth_request authentik for homepage.vpn.gram1.ru. Keep rollback ready by setting it back to none. +SOURCE_114_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_114_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:54:The public check through auth.vpn.gram1.ru returned 404 for /outpost.goauthentik.io/auth/nginx, while the local direct outpost check for homepage.vpn.gram1.ru returned a valid auth response. Treat the public auth.vpn auth endpoint as a wrong validation path for Homepage. Next safe step: enable npmplus_auth_request=authentik only for homepage proxy id 17 with rollback ready. +SOURCE_115_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_115_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:73:host: homepage.vpn.gram1.ru +SOURCE_116_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_116_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:22:homepage.vpn.gram1.ru -> [IP_REDACTED] -> NPMplus -> [IP_REDACTED]:3000 +SOURCE_117_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_117_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:55:EDGE_HOST=edge-vm;DOCKER_IMAGES=actual-budget=actualbudget/actual-server:latest;authentik-postgresql-1=postgres:16-alpine;authentik-server-1=ghcr.io/goauthentik/server:2026.5.3;authentik-worker-1=ghcr.io/goauthentik/server:2026.5.3;beszel=henrygd/beszel:latest;crowdsec=crowdsecurity/crowdsec:latest;dockge=louislam/dockge:1;dozzle=amir20/dozzle:latest;filebrowser=filebrowser/filebrowser:latest;gitea=docker.gitea.com/gitea:1.26.2;gotify=gotify/server:latest;grafana=grafana/grafana:latest;homeassistant=ghcr.io/home-assistant/home-assistant:stable;homebox=ghcr.io/sysadminsmedia/homebox:latest-rootless;homepage=ghcr.io/gethomepage/homepage:latest;immi +SOURCE_118_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_118_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:208:homepage.vpn.gram1.ru -> [IP_REDACTED] -> [IP_REDACTED]:3000 +SOURCE_119_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_119_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:216:BINDING= - NPM_IPV4_BINDING=[IP_REDACTED]; - IPV4_BINDING=[IP_REDACTED];;ACCESS=5|access_list_id=1|address=[IP_REDACTED]|directive=allow;6|access_list_id=1|address=[IP_REDACTED]|directive=allow;7|access_list_id=1|address=[IP_REDACTED]|directive=allow;8|access_list_id=1|address=[IP_REDACTED]|directive=allow;;PROXIES=16|["kuma.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3001|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;17|["homepage.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3000|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;18|["gitea.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3002|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;19|["fileb +SOURCE_120_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_120_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:222:kuma.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=302|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;homepage.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;gitea.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;filebrowser.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=iss +SOURCE_MATCH_COUNT=120 +PVE01_NETBIRD_UNIT_MATCH_COUNT=3 +PVE01_NETBIRD_PRESENT=true +PVE01_NETBIRD_STATUS_SHA=0cf182820b4c45584910a7a7b5bff12370f80c8707f9104557b0a61e643bbf11 +PVE01_NETBIRD_CONNECTED_HINT=true +NEW_PC_NETBIRD_MISSING=true +NEW_PC_NETBIRD_NOT_RUNNING=false +NEW_PC_NETBIRD_NOT_CONNECTED=false +NEW_PC_HOME_DNS_MISSING=true +NEW_PC_HOME_PRIVATE_DNS_PRESENT=false +NEW_PC_HOME_HTTPS_WORKING=false +REPAIR_CLASS=REPAIR_NEW_PC_NETBIRD_INSTALL +DECISION=ANALYZE_HOME_GRAM1_EDGE_VPN_DNS +NEXT_GATE=HOME_GRAM1_NEW_PC_TARGETED_REPAIR +TASK_RESULT=HOME_GRAM1_EDGE_VPN_DNS_RCA +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 17ffa598..f602e573 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-261005-SNIKKET-FRESH-BACKUP-RESTORE-PROOF-V2-99595R1", + "command_id": "SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1", "status": "OK", "rc": 0, "host": "pve01", - "mode": "change", - "component": "snikket-fresh-backup-restore-proof-v2", - "started_at_utc": "2026-10-05T09:18:07Z", - "finished_at_utc": "2026-10-05T09:24:00Z", + "mode": "read-only", + "component": "home-gram1-edge-vpn-dns-rca", + "started_at_utc": "2026-10-05T09:25:29Z", + "finished_at_utc": "2026-10-05T09:25:35Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "e5f4350c717158d50825b0adfb635570be3956a552db1be8f8ed18e46bef09a7", + "command_sha256": "8373cbc8cc09222185a3eea30f811f59cdfd6c7e88118f3aa80c8fa2ce6e6027", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "OK", + "result_contract_status": null, "result_contract_error": null, "command_rc": 0, - "changes_made": true, - "rollback_started": true, - "rollback_restored": true, - "mutation_outcome": "ROLLED_BACK", + "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": "d569d172f2e465714f4781b9aa9b008b4836cfd91629ebe75c33c747d708382d", - "sanitized_output_sha256": "d569d172f2e465714f4781b9aa9b008b4836cfd91629ebe75c33c747d708382d", + "raw_evidence_sha256": "8d2e00550474afe9ffde1aee1364664e74e5775593673837f2b262320065fd0e", + "sanitized_output_sha256": "e222f8b364b0ef3aed91333615ff2ea31a541a9169bdbcb53347e0231495293b", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2_WRAPPER=V1\nHOST_PVE01=true\nINGRESS_HOSTKEY_SELF_BOUND=true\nMODE=change\nMUTATION_BOUNDARY=FRESH_VM150_BACKUP_PLUS_TEMP_ISOLATED_RESTORE_ONLY\nNO_PRODUCTION_VM150_CONFIG_MUTATION=true\nNO_DNS_MUTATION=true\nNO_MONITOR_MUTATION=true\nNO_SOURCE_MUTATION=true\nNO_GLOBAL_DR_POLICY_MUTATION=true\nPROOF_PYTHON_RC=0\nPROD_VM150_RUNNING_PRE=true\nPROD_VM150_QGA_PRE=true\nPROD_VM150_CONFIG_SHA_PRE=2e4c1ea46b27034a2efe7bfc00cd9f32c0641a43d8365aa21992f72493a43b0e\nVM150_RUNTIME_EXACT_MATCH_COUNT=60\nVM150_RUNTIME_WORKER_REF_VARIANT_COUNT=1\nVM150_RUNTIME_ALL_CONTRACTS_OK=true\nVM150_RUNTIME_LOCKSET_VARIANT_COUNT=1\nVM150_RUNTIME_WORKER_REF_CANONICAL=true\nVM150_RUNTIME_LOCKSET_CANONICAL=true\nVM150_RUNTIME_SELECTED_BASENAME=vm150-runtime.py\nVM150_RUNTIME_SELECTED_PATH_SHA256=4d3f6541955e4a1fe5b427672977762e4ff01b5f95e9ae391314f79fcd33a537\nCANONICAL_WORKER_PRESENT=true\nWORKER_SHA256=4c729debe80f99528fea1f6e1723e7c4d03c5249ba01fd640aaa7c4a4075075c\nWORKER_NOARG_RC=64\nWORKER_USAGE_MENTIONS_BACKUP=false\nROTATING_POLICY_CANDIDATE_COUNT=1\nTARGET_REGISTRY_CANONICAL_PATH_MATCH=true\nTARGET_VM150_ENTRY_COUNT=1\nTARGET_VM150_VALID=true\nOLD_DURABLE_GENERATION_PRESENT=true\nOLD_DURABLE_GENERATION_SHA256=a7d56bb072e0f03382df4d916dfbc4d95ec41933374747deebd4f701661bc9ec\nBACKUP_LOCK_COUNT=3\nBACKUP_LOCKS_ACQUIRED=true\nBACKUP_BUSY_UNDER_LOCK=false\nPROD_STABLE_UNDER_LOCK=true\nFRESH_BACKUP_WORKER_STARTED=true\nFRESH_BACKUP_WORKER_RC=0\nFRESH_BACKUP_WORKER_STDOUT_BYTES=469\nFRESH_BACKUP_WORKER_STDERR_BYTES=175\nFRESH_BACKUP_WORKER_STDOUT_SHA256=da31c0125eff44a7544157db857c941586aba896b5b2dcd6f8395b9b78ade2b5\nFRESH_BACKUP_WORKER_STDERR_SHA256=b729a4d73dd88f0ca8875e60e89eb5f564fbf73c6120dc7f690fba3377ac6f66\nFRESH_GENERATION_PARSED=true\nFRESH_GENERATION=vm150-pve01-20261005T091814Z\nFRESH_GENERATION_DIFFERS_OLD=true\nFRESH_GENERATION_AGE_HOURS=0.048\nFRESH_STATE_PRESENT=true\nFRESH_RESTORE_VALIDATION_PRESENT=true\nSTATE_STATUS_SEALED=true\nSTATE_CLOUD_QUORUM_2=true\nSTATE_CLOUD_A_VERIFIED=true\nSTATE_CLOUD_B_VERIFIED=true\nSTATE_CLOUD_A_SEAL_VERIFIED=true\nSTATE_CLOUD_B_SEAL_VERIFIED=true\nSTATE_PART_HASHES_VERIFIED=true\nSTATE_SEAL_WRITTEN=true\nSTATE_LOCAL_CLEANUP_OK=true\nSTATE_LOCAL_PAYLOAD_ABSENT=true\nRESTORE_RESULT_OK=true\nRESTORE_PAYLOAD_SHA_VERIFIED=true\nRESTORE_ARCHIVE_READBACK_VERIFIED=true\nRESTORE_PROXMOX_CONFIG_EXTRACT_VERIFIED=true\nFRESH_STATE_SHA256=d1633743b207d851dee72c59fb26a3071622bcbcbd63e943463ebada0081f10c\nFRESH_RESTORE_VALIDATION_SHA256=122ea17af4149a1fdbb42efb78d13256f3e49915cbff4a87d595fd1e13c18822\nFRESH_STRICT_BACKUP_EVIDENCE_PASS=true\nFRESH_REMOTE_A_METADATA_VALID=true\nFRESH_REMOTE_A_PART_COUNT=2\nFRESH_REMOTE_B_METADATA_VALID=true\nFRESH_REMOTE_B_PART_COUNT=2\nSTAGE_FREE_BYTES=284966633472\nSTAGE_REQUIRED_BYTES=3083153382\nVM150_MAXDISK_BYTES=68719476736\nLOCAL_LVM_AVAILABLE_BYTES=755394638848\nLOCAL_LVM_REQUIRED_BYTES=85899345920\nTEMP_VMID_SELECTED=9600\nTEMP_VMID_PREEXISTED=false\nRESTORE_STAGE_CREATED=true\nFETCH_A_STARTED=true\nFETCH_A_SUCCESS=true\nFETCH_SOURCE_CLOUD=A\nFETCHED_ARCHIVE_SIZE_MATCH=true\nFETCHED_ARCHIVE_SHA_MATCH=true\nISOLATED_QMRESTORE_STARTED=true\nISOLATED_QEMU_BOOT_RETURNED=true\nISOLATED_QEMU_BOOT_PROOF_TYPE=str\nTEMP_NIC_COUNT=0\nTEMP_ONBOOT_ZERO=true\nTEMP_QGA_PING=true\nTEMP_GUEST_INSPECTION_AVAILABLE=true\nTEMP_HOSTNAME_SNIKKET=false\nTEMP_SNIKKET_DOMAIN_OK=true\nTEMP_DOCKER_OK=true\nTEMP_RUNNING_CONTAINER_COUNT=4\nFRESH_BACKUP_RESTORE_ERROR_CLASS=RuntimeError\nFRESH_BACKUP_RESTORE_ERROR_SHA256=d6eb2ff661527d5f0d4774daaebb5c6f16555e98f343de1e41f0b157f16b14a5\nPUBLIC_DNS_OK_COUNT=3\nPUBLIC_HTTPS_OK_COUNT=3\nFRESH_BACKUP_AND_ISOLATED_RESTORE_PASS=false\nDECISION=HOLD_SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2\nNEXT_GATE=SNIKKET_FRESH_BACKUP_RESTORE_RECONCILE\nTASK_RESULT=HOLD_SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2\nCHANGES_MADE=true\nROLLBACK_STARTED=true\nROLLBACK_RESTORED=true\nMUTATION_OUTCOME=TEMP_ROLLED_BACK_FRESH_BACKUP_MAY_PERSIST\nPROOF_PYTHON_STDERR_BYTES=0\nPUBLIC_STUN_3479_PASS=true\nFINAL_FRESH_BACKUP_RESTORE_ACCEPT=false\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261005-SNIKKET-FRESH-BACKUP-RESTORE-PROOF-V2-99595R1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":true,\"rollback_restored\":true}\n" + "output": "HOME_GRAM1_EDGE_VPN_DNS_RCA=V1\nNO_MAIL_SEND=true\nNO_SERVICE_RESTART=true\nNO_TIMER_MUTATION=true\nNO_NETWORK_MUTATION=true\nNO_SOURCE_MUTATION=true\nNO_DNS_MUTATION=true\nNO_PROXY_MUTATION=true\nNO_CONTAINER_MUTATION=true\nNO_ACCESS_LIST_MUTATION=true\nNO_LOCAL_WINDOWS_MUTATION=true\nMODE=read-only\nHOST_PVE01=true\nLOCAL_DIAG_OK=true \nLOCAL_NETBIRD_PRESENT=true \nLOCAL_NETBIRD_SERVICE_FOUND=true \nLOCAL_NETBIRD_SERVICE_RUNNING=true \nLOCAL_NETBIRD_STATUS_RC=0 \nLOCAL_NETBIRD_CONNECTED_HINT=true \nLOCAL_NETBIRD_DISCONNECTED_HINT=false \nLOCAL_NETBIRD_MANAGEMENT_HINT=true \nLOCAL_NETBIRD_SIGNAL_HINT=true \nLOCAL_NETBIRD_OUTPUT_SHA=99aa8ce33befabc416914dd33b1af56e247c8e25960e4cb74a4a797ce330a880 \nLOCAL_HOME_DNS_COUNT=0 \nLOCAL_HOME_DNS_PRIVATE_COUNT=0 \nLOCAL_HOME_DNS_PUBLIC_COUNT=0 \nLOCAL_HOME_HTTPS_STATUS=0 \nLOCAL_HOMEVPN_DNS_COUNT=0 \nLOCAL_HOMEVPN_DNS_PRIVATE_COUNT=0 \nLOCAL_HOMEVPN_DNS_PUBLIC_COUNT=0 \nLOCAL_HOMEVPN_HTTPS_STATUS=0 \nSERVER_HOME_DNS_COUNT=1\nSERVER_HOME_DNS_PRIVATE_COUNT=1\nSERVER_HOME_DNS_PUBLIC_COUNT=0\nSERVER_HOME_HTTPS_STATUS=200\nSERVER_HOME_CURL_RC=0\nSERVER_HOMEVPN_DNS_COUNT=0\nSERVER_HOMEVPN_DNS_PRIVATE_COUNT=0\nSERVER_HOMEVPN_DNS_PUBLIC_COUNT=0\nSERVER_HOMEVPN_HTTPS_STATUS=000\nSERVER_HOMEVPN_CURL_RC=6\nEDGE_VM_FOUND=true\nEDGE_VM_NODE=pve03\nEDGE_VM_STATUS=running\nEDGE_VM_NAME=edge-vm\nPVE03_EDGE_INSPECT_RC=0\nPVE03_EDGE_INSPECT_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nEDGE_QM_GUEST_EXEC_RC=0\nEDGE_QM_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nEDGE_QGA_JSON=true\nEDGE_GUEST_EXITCODE=0\nEDGE_HOSTNAME=edge-vm\nEDGE_DOCKER_PRESENT=yes\nEDGE_NETBIRD_PRESENT=yes\nEDGE_NETBIRD_STATUS_SHA=7de6bb08abbcd58a722827794738dd523a1cbb4119b3cf8a5cba3d617b99b459\nEDGE_NETBIRD_CONNECTED_HINT=true\nEDGE_RELEVANT_CONTAINER_COUNT=2\nEDGE_CONTAINER_1_NAME=npmplus\nEDGE_CONTAINER_1_IMAGE=zoeyvid/npmplus:2026-06-17-b1\nEDGE_CONTAINER_1_STATUS=Up 5 weeks (healthy)\nEDGE_CONTAINER_2_NAME=socket-proxy\nEDGE_CONTAINER_2_IMAGE=lscr.io/linuxserver/socket-proxy:latest\nEDGE_CONTAINER_2_STATUS=Up 5 weeks\nEDGE_HOMEPAGE_CONTAINER_COUNT=0\nEDGE_DOMAIN_CONFIG_MATCH_COUNT=120\nEDGE_DOMAINCFG_1_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_1_HAS_HOME=true\nEDGE_DOMAINCFG_1_HAS_VPN=false\nEDGE_DOMAINCFG_1_HAS_ALLOW=false\nEDGE_DOMAINCFG_1_HAS_DENY=false\nEDGE_DOMAINCFG_1_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_2_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_2_HAS_HOME=true\nEDGE_DOMAINCFG_2_HAS_VPN=true\nEDGE_DOMAINCFG_2_HAS_ALLOW=false\nEDGE_DOMAINCFG_2_HAS_DENY=false\nEDGE_DOMAINCFG_2_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_3_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_3_HAS_HOME=true\nEDGE_DOMAINCFG_3_HAS_VPN=false\nEDGE_DOMAINCFG_3_HAS_ALLOW=false\nEDGE_DOMAINCFG_3_HAS_DENY=false\nEDGE_DOMAINCFG_3_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_4_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_4_HAS_HOME=true\nEDGE_DOMAINCFG_4_HAS_VPN=false\nEDGE_DOMAINCFG_4_HAS_ALLOW=false\nEDGE_DOMAINCFG_4_HAS_DENY=false\nEDGE_DOMAINCFG_4_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_5_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_5_HAS_HOME=true\nEDGE_DOMAINCFG_5_HAS_VPN=true\nEDGE_DOMAINCFG_5_HAS_ALLOW=false\nEDGE_DOMAINCFG_5_HAS_DENY=false\nEDGE_DOMAINCFG_5_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_6_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_6_HAS_HOME=true\nEDGE_DOMAINCFG_6_HAS_VPN=true\nEDGE_DOMAINCFG_6_HAS_ALLOW=false\nEDGE_DOMAINCFG_6_HAS_DENY=false\nEDGE_DOMAINCFG_6_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_7_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_7_HAS_HOME=false\nEDGE_DOMAINCFG_7_HAS_VPN=true\nEDGE_DOMAINCFG_7_HAS_ALLOW=false\nEDGE_DOMAINCFG_7_HAS_DENY=false\nEDGE_DOMAINCFG_7_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_8_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_8_HAS_HOME=true\nEDGE_DOMAINCFG_8_HAS_VPN=true\nEDGE_DOMAINCFG_8_HAS_ALLOW=false\nEDGE_DOMAINCFG_8_HAS_DENY=false\nEDGE_DOMAINCFG_8_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_9_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_9_HAS_HOME=true\nEDGE_DOMAINCFG_9_HAS_VPN=true\nEDGE_DOMAINCFG_9_HAS_ALLOW=false\nEDGE_DOMAINCFG_9_HAS_DENY=false\nEDGE_DOMAINCFG_9_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_10_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_10_HAS_HOME=true\nEDGE_DOMAINCFG_10_HAS_VPN=false\nEDGE_DOMAINCFG_10_HAS_ALLOW=false\nEDGE_DOMAINCFG_10_HAS_DENY=false\nEDGE_DOMAINCFG_10_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_11_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_11_HAS_HOME=false\nEDGE_DOMAINCFG_11_HAS_VPN=true\nEDGE_DOMAINCFG_11_HAS_ALLOW=false\nEDGE_DOMAINCFG_11_HAS_DENY=false\nEDGE_DOMAINCFG_11_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_12_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_12_HAS_HOME=false\nEDGE_DOMAINCFG_12_HAS_VPN=true\nEDGE_DOMAINCFG_12_HAS_ALLOW=false\nEDGE_DOMAINCFG_12_HAS_DENY=false\nEDGE_DOMAINCFG_12_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_13_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_13_HAS_HOME=false\nEDGE_DOMAINCFG_13_HAS_VPN=true\nEDGE_DOMAINCFG_13_HAS_ALLOW=false\nEDGE_DOMAINCFG_13_HAS_DENY=false\nEDGE_DOMAINCFG_13_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_14_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_14_HAS_HOME=true\nEDGE_DOMAINCFG_14_HAS_VPN=false\nEDGE_DOMAINCFG_14_HAS_ALLOW=false\nEDGE_DOMAINCFG_14_HAS_DENY=false\nEDGE_DOMAINCFG_14_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_15_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_15_HAS_HOME=true\nEDGE_DOMAINCFG_15_HAS_VPN=false\nEDGE_DOMAINCFG_15_HAS_ALLOW=false\nEDGE_DOMAINCFG_15_HAS_DENY=false\nEDGE_DOMAINCFG_15_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_16_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_16_HAS_HOME=false\nEDGE_DOMAINCFG_16_HAS_VPN=true\nEDGE_DOMAINCFG_16_HAS_ALLOW=false\nEDGE_DOMAINCFG_16_HAS_DENY=false\nEDGE_DOMAINCFG_16_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_17_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_17_HAS_HOME=true\nEDGE_DOMAINCFG_17_HAS_VPN=false\nEDGE_DOMAINCFG_17_HAS_ALLOW=false\nEDGE_DOMAINCFG_17_HAS_DENY=false\nEDGE_DOMAINCFG_17_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_18_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_18_HAS_HOME=true\nEDGE_DOMAINCFG_18_HAS_VPN=true\nEDGE_DOMAINCFG_18_HAS_ALLOW=false\nEDGE_DOMAINCFG_18_HAS_DENY=false\nEDGE_DOMAINCFG_18_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_19_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_19_HAS_HOME=false\nEDGE_DOMAINCFG_19_HAS_VPN=true\nEDGE_DOMAINCFG_19_HAS_ALLOW=false\nEDGE_DOMAINCFG_19_HAS_DENY=false\nEDGE_DOMAINCFG_19_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_20_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_20_HAS_HOME=true\nEDGE_DOMAINCFG_20_HAS_VPN=false\nEDGE_DOMAINCFG_20_HAS_ALLOW=false\nEDGE_DOMAINCFG_20_HAS_DENY=false\nEDGE_DOMAINCFG_20_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_21_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_21_HAS_HOME=false\nEDGE_DOMAINCFG_21_HAS_VPN=true\nEDGE_DOMAINCFG_21_HAS_ALLOW=false\nEDGE_DOMAINCFG_21_HAS_DENY=false\nEDGE_DOMAINCFG_21_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_22_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_22_HAS_HOME=false\nEDGE_DOMAINCFG_22_HAS_VPN=true\nEDGE_DOMAINCFG_22_HAS_ALLOW=false\nEDGE_DOMAINCFG_22_HAS_DENY=false\nEDGE_DOMAINCFG_22_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_23_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-supported-vpn-routes-closeout-20260623/index.html\nEDGE_DOMAINCFG_23_HAS_HOME=false\nEDGE_DOMAINCFG_23_HAS_VPN=true\nEDGE_DOMAINCFG_23_HAS_ALLOW=false\nEDGE_DOMAINCFG_23_HAS_DENY=false\nEDGE_DOMAINCFG_23_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_24_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_24_HAS_HOME=true\nEDGE_DOMAINCFG_24_HAS_VPN=false\nEDGE_DOMAINCFG_24_HAS_ALLOW=false\nEDGE_DOMAINCFG_24_HAS_DENY=false\nEDGE_DOMAINCFG_24_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_25_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_25_HAS_HOME=true\nEDGE_DOMAINCFG_25_HAS_VPN=false\nEDGE_DOMAINCFG_25_HAS_ALLOW=false\nEDGE_DOMAINCFG_25_HAS_DENY=false\nEDGE_DOMAINCFG_25_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_26_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_26_HAS_HOME=true\nEDGE_DOMAINCFG_26_HAS_VPN=true\nEDGE_DOMAINCFG_26_HAS_ALLOW=false\nEDGE_DOMAINCFG_26_HAS_DENY=false\nEDGE_DOMAINCFG_26_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_27_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_27_HAS_HOME=true\nEDGE_DOMAINCFG_27_HAS_VPN=false\nEDGE_DOMAINCFG_27_HAS_ALLOW=false\nEDGE_DOMAINCFG_27_HAS_DENY=false\nEDGE_DOMAINCFG_27_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_28_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/search/search_index.json\nEDGE_DOMAINCFG_28_HAS_HOME=true\nEDGE_DOMAINCFG_28_HAS_VPN=true\nEDGE_DOMAINCFG_28_HAS_ALLOW=true\nEDGE_DOMAINCFG_28_HAS_DENY=true\nEDGE_DOMAINCFG_28_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_29_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/index.html\nEDGE_DOMAINCFG_29_HAS_HOME=true\nEDGE_DOMAINCFG_29_HAS_VPN=false\nEDGE_DOMAINCFG_29_HAS_ALLOW=false\nEDGE_DOMAINCFG_29_HAS_DENY=false\nEDGE_DOMAINCFG_29_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_30_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/domains.csv\nEDGE_DOMAINCFG_30_HAS_HOME=true\nEDGE_DOMAINCFG_30_HAS_VPN=false\nEDGE_DOMAINCFG_30_HAS_ALLOW=false\nEDGE_DOMAINCFG_30_HAS_DENY=false\nEDGE_DOMAINCFG_30_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_31_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/ports/index.html\nEDGE_DOMAINCFG_31_HAS_HOME=true\nEDGE_DOMAINCFG_31_HAS_VPN=false\nEDGE_DOMAINCFG_31_HAS_ALLOW=false\nEDGE_DOMAINCFG_31_HAS_DENY=false\nEDGE_DOMAINCFG_31_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_32_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_32_HAS_HOME=true\nEDGE_DOMAINCFG_32_HAS_VPN=false\nEDGE_DOMAINCFG_32_HAS_ALLOW=false\nEDGE_DOMAINCFG_32_HAS_DENY=false\nEDGE_DOMAINCFG_32_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_33_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_33_HAS_HOME=true\nEDGE_DOMAINCFG_33_HAS_VPN=false\nEDGE_DOMAINCFG_33_HAS_ALLOW=false\nEDGE_DOMAINCFG_33_HAS_DENY=false\nEDGE_DOMAINCFG_33_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_34_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_34_HAS_HOME=false\nEDGE_DOMAINCFG_34_HAS_VPN=true\nEDGE_DOMAINCFG_34_HAS_ALLOW=false\nEDGE_DOMAINCFG_34_HAS_DENY=false\nEDGE_DOMAINCFG_34_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_35_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_35_HAS_HOME=true\nEDGE_DOMAINCFG_35_HAS_VPN=true\nEDGE_DOMAINCFG_35_HAS_ALLOW=false\nEDGE_DOMAINCFG_35_HAS_DENY=false\nEDGE_DOMAINCFG_35_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_36_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_36_HAS_HOME=true\nEDGE_DOMAINCFG_36_HAS_VPN=false\nEDGE_DOMAINCFG_36_HAS_ALLOW=false\nEDGE_DOMAINCFG_36_HAS_DENY=false\nEDGE_DOMAINCFG_36_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_37_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_37_HAS_HOME=false\nEDGE_DOMAINCFG_37_HAS_VPN=true\nEDGE_DOMAINCFG_37_HAS_ALLOW=false\nEDGE_DOMAINCFG_37_HAS_DENY=false\nEDGE_DOMAINCFG_37_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_38_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_38_HAS_HOME=true\nEDGE_DOMAINCFG_38_HAS_VPN=false\nEDGE_DOMAINCFG_38_HAS_ALLOW=false\nEDGE_DOMAINCFG_38_HAS_DENY=false\nEDGE_DOMAINCFG_38_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_39_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_39_HAS_HOME=false\nEDGE_DOMAINCFG_39_HAS_VPN=true\nEDGE_DOMAINCFG_39_HAS_ALLOW=false\nEDGE_DOMAINCFG_39_HAS_DENY=false\nEDGE_DOMAINCFG_39_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_40_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_40_HAS_HOME=true\nEDGE_DOMAINCFG_40_HAS_VPN=true\nEDGE_DOMAINCFG_40_HAS_ALLOW=false\nEDGE_DOMAINCFG_40_HAS_DENY=false\nEDGE_DOMAINCFG_40_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_41_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/SERVICES-BOOTSTRAP-20260617/index.html\nEDGE_DOMAINCFG_41_HAS_HOME=false\nEDGE_DOMAINCFG_41_HAS_VPN=true\nEDGE_DOMAINCFG_41_HAS_ALLOW=false\nEDGE_DOMAINCFG_41_HAS_DENY=false\nEDGE_DOMAINCFG_41_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_42_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_42_HAS_HOME=true\nEDGE_DOMAINCFG_42_HAS_VPN=false\nEDGE_DOMAINCFG_42_HAS_ALLOW=false\nEDGE_DOMAINCFG_42_HAS_DENY=false\nEDGE_DOMAINCFG_42_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_43_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_43_HAS_HOME=true\nEDGE_DOMAINCFG_43_HAS_VPN=true\nEDGE_DOMAINCFG_43_HAS_ALLOW=false\nEDGE_DOMAINCFG_43_HAS_DENY=false\nEDGE_DOMAINCFG_43_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_44_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_44_HAS_HOME=true\nEDGE_DOMAINCFG_44_HAS_VPN=false\nEDGE_DOMAINCFG_44_HAS_ALLOW=false\nEDGE_DOMAINCFG_44_HAS_DENY=false\nEDGE_DOMAINCFG_44_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_45_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_45_HAS_HOME=true\nEDGE_DOMAINCFG_45_HAS_VPN=false\nEDGE_DOMAINCFG_45_HAS_ALLOW=false\nEDGE_DOMAINCFG_45_HAS_DENY=false\nEDGE_DOMAINCFG_45_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_46_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_46_HAS_HOME=true\nEDGE_DOMAINCFG_46_HAS_VPN=true\nEDGE_DOMAINCFG_46_HAS_ALLOW=false\nEDGE_DOMAINCFG_46_HAS_DENY=false\nEDGE_DOMAINCFG_46_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_47_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_47_HAS_HOME=true\nEDGE_DOMAINCFG_47_HAS_VPN=true\nEDGE_DOMAINCFG_47_HAS_ALLOW=false\nEDGE_DOMAINCFG_47_HAS_DENY=false\nEDGE_DOMAINCFG_47_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_48_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_48_HAS_HOME=false\nEDGE_DOMAINCFG_48_HAS_VPN=true\nEDGE_DOMAINCFG_48_HAS_ALLOW=false\nEDGE_DOMAINCFG_48_HAS_DENY=false\nEDGE_DOMAINCFG_48_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_49_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_49_HAS_HOME=true\nEDGE_DOMAINCFG_49_HAS_VPN=true\nEDGE_DOMAINCFG_49_HAS_ALLOW=false\nEDGE_DOMAINCFG_49_HAS_DENY=false\nEDGE_DOMAINCFG_49_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_50_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_50_HAS_HOME=true\nEDGE_DOMAINCFG_50_HAS_VPN=true\nEDGE_DOMAINCFG_50_HAS_ALLOW=false\nEDGE_DOMAINCFG_50_HAS_DENY=false\nEDGE_DOMAINCFG_50_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_51_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_51_HAS_HOME=true\nEDGE_DOMAINCFG_51_HAS_VPN=false\nEDGE_DOMAINCFG_51_HAS_ALLOW=false\nEDGE_DOMAINCFG_51_HAS_DENY=false\nEDGE_DOMAINCFG_51_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_52_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_52_HAS_HOME=false\nEDGE_DOMAINCFG_52_HAS_VPN=true\nEDGE_DOMAINCFG_52_HAS_ALLOW=false\nEDGE_DOMAINCFG_52_HAS_DENY=false\nEDGE_DOMAINCFG_52_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_53_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_53_HAS_HOME=false\nEDGE_DOMAINCFG_53_HAS_VPN=true\nEDGE_DOMAINCFG_53_HAS_ALLOW=false\nEDGE_DOMAINCFG_53_HAS_DENY=false\nEDGE_DOMAINCFG_53_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_54_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_54_HAS_HOME=false\nEDGE_DOMAINCFG_54_HAS_VPN=true\nEDGE_DOMAINCFG_54_HAS_ALLOW=false\nEDGE_DOMAINCFG_54_HAS_DENY=false\nEDGE_DOMAINCFG_54_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_55_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_55_HAS_HOME=true\nEDGE_DOMAINCFG_55_HAS_VPN=false\nEDGE_DOMAINCFG_55_HAS_ALLOW=false\nEDGE_DOMAINCFG_55_HAS_DENY=false\nEDGE_DOMAINCFG_55_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_56_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_56_HAS_HOME=true\nEDGE_DOMAINCFG_56_HAS_VPN=false\nEDGE_DOMAINCFG_56_HAS_ALLOW=false\nEDGE_DOMAINCFG_56_HAS_DENY=false\nEDGE_DOMAINCFG_56_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_57_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_57_HAS_HOME=false\nEDGE_DOMAINCFG_57_HAS_VPN=true\nEDGE_DOMAINCFG_57_HAS_ALLOW=false\nEDGE_DOMAINCFG_57_HAS_DENY=false\nEDGE_DOMAINCFG_57_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_58_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_58_HAS_HOME=true\nEDGE_DOMAINCFG_58_HAS_VPN=false\nEDGE_DOMAINCFG_58_HAS_ALLOW=false\nEDGE_DOMAINCFG_58_HAS_DENY=false\nEDGE_DOMAINCFG_58_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_59_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_59_HAS_HOME=true\nEDGE_DOMAINCFG_59_HAS_VPN=true\nEDGE_DOMAINCFG_59_HAS_ALLOW=false\nEDGE_DOMAINCFG_59_HAS_DENY=false\nEDGE_DOMAINCFG_59_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_60_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_60_HAS_HOME=false\nEDGE_DOMAINCFG_60_HAS_VPN=true\nEDGE_DOMAINCFG_60_HAS_ALLOW=false\nEDGE_DOMAINCFG_60_HAS_DENY=false\nEDGE_DOMAINCFG_60_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_61_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_61_HAS_HOME=true\nEDGE_DOMAINCFG_61_HAS_VPN=false\nEDGE_DOMAINCFG_61_HAS_ALLOW=false\nEDGE_DOMAINCFG_61_HAS_DENY=false\nEDGE_DOMAINCFG_61_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_62_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_62_HAS_HOME=false\nEDGE_DOMAINCFG_62_HAS_VPN=true\nEDGE_DOMAINCFG_62_HAS_ALLOW=false\nEDGE_DOMAINCFG_62_HAS_DENY=false\nEDGE_DOMAINCFG_62_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_63_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_63_HAS_HOME=false\nEDGE_DOMAINCFG_63_HAS_VPN=true\nEDGE_DOMAINCFG_63_HAS_ALLOW=false\nEDGE_DOMAINCFG_63_HAS_DENY=false\nEDGE_DOMAINCFG_63_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_64_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_64_HAS_HOME=true\nEDGE_DOMAINCFG_64_HAS_VPN=false\nEDGE_DOMAINCFG_64_HAS_ALLOW=false\nEDGE_DOMAINCFG_64_HAS_DENY=false\nEDGE_DOMAINCFG_64_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_65_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_65_HAS_HOME=true\nEDGE_DOMAINCFG_65_HAS_VPN=false\nEDGE_DOMAINCFG_65_HAS_ALLOW=false\nEDGE_DOMAINCFG_65_HAS_DENY=false\nEDGE_DOMAINCFG_65_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_66_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_66_HAS_HOME=true\nEDGE_DOMAINCFG_66_HAS_VPN=true\nEDGE_DOMAINCFG_66_HAS_ALLOW=false\nEDGE_DOMAINCFG_66_HAS_DENY=false\nEDGE_DOMAINCFG_66_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_67_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_67_HAS_HOME=true\nEDGE_DOMAINCFG_67_HAS_VPN=false\nEDGE_DOMAINCFG_67_HAS_ALLOW=false\nEDGE_DOMAINCFG_67_HAS_DENY=false\nEDGE_DOMAINCFG_67_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_68_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/search/search_index.json\nEDGE_DOMAINCFG_68_HAS_HOME=true\nEDGE_DOMAINCFG_68_HAS_VPN=true\nEDGE_DOMAINCFG_68_HAS_ALLOW=true\nEDGE_DOMAINCFG_68_HAS_DENY=true\nEDGE_DOMAINCFG_68_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_69_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/index.html\nEDGE_DOMAINCFG_69_HAS_HOME=true\nEDGE_DOMAINCFG_69_HAS_VPN=false\nEDGE_DOMAINCFG_69_HAS_ALLOW=false\nEDGE_DOMAINCFG_69_HAS_DENY=false\nEDGE_DOMAINCFG_69_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_70_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/domains.csv\nEDGE_DOMAINCFG_70_HAS_HOME=true\nEDGE_DOMAINCFG_70_HAS_VPN=false\nEDGE_DOMAINCFG_70_HAS_ALLOW=false\nEDGE_DOMAINCFG_70_HAS_DENY=false\nEDGE_DOMAINCFG_70_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_71_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/ports/index.html\nEDGE_DOMAINCFG_71_HAS_HOME=true\nEDGE_DOMAINCFG_71_HAS_VPN=false\nEDGE_DOMAINCFG_71_HAS_ALLOW=false\nEDGE_DOMAINCFG_71_HAS_DENY=false\nEDGE_DOMAINCFG_71_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_72_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_72_HAS_HOME=true\nEDGE_DOMAINCFG_72_HAS_VPN=false\nEDGE_DOMAINCFG_72_HAS_ALLOW=false\nEDGE_DOMAINCFG_72_HAS_DENY=false\nEDGE_DOMAINCFG_72_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_73_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_73_HAS_HOME=true\nEDGE_DOMAINCFG_73_HAS_VPN=false\nEDGE_DOMAINCFG_73_HAS_ALLOW=false\nEDGE_DOMAINCFG_73_HAS_DENY=false\nEDGE_DOMAINCFG_73_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_74_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_74_HAS_HOME=false\nEDGE_DOMAINCFG_74_HAS_VPN=true\nEDGE_DOMAINCFG_74_HAS_ALLOW=false\nEDGE_DOMAINCFG_74_HAS_DENY=false\nEDGE_DOMAINCFG_74_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_75_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_75_HAS_HOME=true\nEDGE_DOMAINCFG_75_HAS_VPN=true\nEDGE_DOMAINCFG_75_HAS_ALLOW=false\nEDGE_DOMAINCFG_75_HAS_DENY=false\nEDGE_DOMAINCFG_75_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_76_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_76_HAS_HOME=true\nEDGE_DOMAINCFG_76_HAS_VPN=false\nEDGE_DOMAINCFG_76_HAS_ALLOW=false\nEDGE_DOMAINCFG_76_HAS_DENY=false\nEDGE_DOMAINCFG_76_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_77_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_77_HAS_HOME=false\nEDGE_DOMAINCFG_77_HAS_VPN=true\nEDGE_DOMAINCFG_77_HAS_ALLOW=false\nEDGE_DOMAINCFG_77_HAS_DENY=false\nEDGE_DOMAINCFG_77_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_78_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_78_HAS_HOME=true\nEDGE_DOMAINCFG_78_HAS_VPN=false\nEDGE_DOMAINCFG_78_HAS_ALLOW=false\nEDGE_DOMAINCFG_78_HAS_DENY=false\nEDGE_DOMAINCFG_78_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_79_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_79_HAS_HOME=false\nEDGE_DOMAINCFG_79_HAS_VPN=true\nEDGE_DOMAINCFG_79_HAS_ALLOW=false\nEDGE_DOMAINCFG_79_HAS_DENY=false\nEDGE_DOMAINCFG_79_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_80_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_80_HAS_HOME=true\nEDGE_DOMAINCFG_80_HAS_VPN=true\nEDGE_DOMAINCFG_80_HAS_ALLOW=false\nEDGE_DOMAINCFG_80_HAS_DENY=false\nEDGE_DOMAINCFG_80_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_81_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/SERVICES-BOOTSTRAP-20260617/index.html\nEDGE_DOMAINCFG_81_HAS_HOME=false\nEDGE_DOMAINCFG_81_HAS_VPN=true\nEDGE_DOMAINCFG_81_HAS_ALLOW=false\nEDGE_DOMAINCFG_81_HAS_DENY=false\nEDGE_DOMAINCFG_81_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_82_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certificate-expiry-audit-20260621/index.html\nEDGE_DOMAINCFG_82_HAS_HOME=true\nEDGE_DOMAINCFG_82_HAS_VPN=false\nEDGE_DOMAINCFG_82_HAS_ALLOW=false\nEDGE_DOMAINCFG_82_HAS_DENY=false\nEDGE_DOMAINCFG_82_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_83_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-prepatch-snapshot-20260621/index.html\nEDGE_DOMAINCFG_83_HAS_HOME=true\nEDGE_DOMAINCFG_83_HAS_VPN=true\nEDGE_DOMAINCFG_83_HAS_ALLOW=false\nEDGE_DOMAINCFG_83_HAS_DENY=false\nEDGE_DOMAINCFG_83_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_84_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html\nEDGE_DOMAINCFG_84_HAS_HOME=true\nEDGE_DOMAINCFG_84_HAS_VPN=false\nEDGE_DOMAINCFG_84_HAS_ALLOW=false\nEDGE_DOMAINCFG_84_HAS_DENY=false\nEDGE_DOMAINCFG_84_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_85_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html\nEDGE_DOMAINCFG_85_HAS_HOME=true\nEDGE_DOMAINCFG_85_HAS_VPN=false\nEDGE_DOMAINCFG_85_HAS_ALLOW=false\nEDGE_DOMAINCFG_85_HAS_DENY=false\nEDGE_DOMAINCFG_85_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_86_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html\nEDGE_DOMAINCFG_86_HAS_HOME=true\nEDGE_DOMAINCFG_86_HAS_VPN=true\nEDGE_DOMAINCFG_86_HAS_ALLOW=false\nEDGE_DOMAINCFG_86_HAS_DENY=false\nEDGE_DOMAINCFG_86_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_87_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homelab-service-visibility-strict-audit-20260621/index.html\nEDGE_DOMAINCFG_87_HAS_HOME=true\nEDGE_DOMAINCFG_87_HAS_VPN=true\nEDGE_DOMAINCFG_87_HAS_ALLOW=false\nEDGE_DOMAINCFG_87_HAS_DENY=false\nEDGE_DOMAINCFG_87_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_88_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html\nEDGE_DOMAINCFG_88_HAS_HOME=false\nEDGE_DOMAINCFG_88_HAS_VPN=true\nEDGE_DOMAINCFG_88_HAS_ALLOW=false\nEDGE_DOMAINCFG_88_HAS_DENY=false\nEDGE_DOMAINCFG_88_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_89_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html\nEDGE_DOMAINCFG_89_HAS_HOME=true\nEDGE_DOMAINCFG_89_HAS_VPN=true\nEDGE_DOMAINCFG_89_HAS_ALLOW=false\nEDGE_DOMAINCFG_89_HAS_DENY=false\nEDGE_DOMAINCFG_89_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_90_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html\nEDGE_DOMAINCFG_90_HAS_HOME=true\nEDGE_DOMAINCFG_90_HAS_VPN=true\nEDGE_DOMAINCFG_90_HAS_ALLOW=false\nEDGE_DOMAINCFG_90_HAS_DENY=false\nEDGE_DOMAINCFG_90_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_91_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html\nEDGE_DOMAINCFG_91_HAS_HOME=true\nEDGE_DOMAINCFG_91_HAS_VPN=false\nEDGE_DOMAINCFG_91_HAS_ALLOW=false\nEDGE_DOMAINCFG_91_HAS_DENY=false\nEDGE_DOMAINCFG_91_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_92_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html\nEDGE_DOMAINCFG_92_HAS_HOME=false\nEDGE_DOMAINCFG_92_HAS_VPN=true\nEDGE_DOMAINCFG_92_HAS_ALLOW=false\nEDGE_DOMAINCFG_92_HAS_DENY=false\nEDGE_DOMAINCFG_92_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_93_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-recovery-v2-20260623/index.html\nEDGE_DOMAINCFG_93_HAS_HOME=false\nEDGE_DOMAINCFG_93_HAS_VPN=true\nEDGE_DOMAINCFG_93_HAS_ALLOW=false\nEDGE_DOMAINCFG_93_HAS_DENY=false\nEDGE_DOMAINCFG_93_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_94_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html\nEDGE_DOMAINCFG_94_HAS_HOME=false\nEDGE_DOMAINCFG_94_HAS_VPN=true\nEDGE_DOMAINCFG_94_HAS_ALLOW=false\nEDGE_DOMAINCFG_94_HAS_DENY=false\nEDGE_DOMAINCFG_94_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_95_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html\nEDGE_DOMAINCFG_95_HAS_HOME=true\nEDGE_DOMAINCFG_95_HAS_VPN=false\nEDGE_DOMAINCFG_95_HAS_ALLOW=false\nEDGE_DOMAINCFG_95_HAS_DENY=false\nEDGE_DOMAINCFG_95_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_96_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html\nEDGE_DOMAINCFG_96_HAS_HOME=true\nEDGE_DOMAINCFG_96_HAS_VPN=false\nEDGE_DOMAINCFG_96_HAS_ALLOW=false\nEDGE_DOMAINCFG_96_HAS_DENY=false\nEDGE_DOMAINCFG_96_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_97_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html\nEDGE_DOMAINCFG_97_HAS_HOME=false\nEDGE_DOMAINCFG_97_HAS_VPN=true\nEDGE_DOMAINCFG_97_HAS_ALLOW=false\nEDGE_DOMAINCFG_97_HAS_DENY=false\nEDGE_DOMAINCFG_97_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_98_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html\nEDGE_DOMAINCFG_98_HAS_HOME=true\nEDGE_DOMAINCFG_98_HAS_VPN=false\nEDGE_DOMAINCFG_98_HAS_ALLOW=false\nEDGE_DOMAINCFG_98_HAS_DENY=false\nEDGE_DOMAINCFG_98_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_99_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-clickability-grouping-audit-20260621/index.html\nEDGE_DOMAINCFG_99_HAS_HOME=true\nEDGE_DOMAINCFG_99_HAS_VPN=true\nEDGE_DOMAINCFG_99_HAS_ALLOW=false\nEDGE_DOMAINCFG_99_HAS_DENY=false\nEDGE_DOMAINCFG_99_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_100_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html\nEDGE_DOMAINCFG_100_HAS_HOME=false\nEDGE_DOMAINCFG_100_HAS_VPN=true\nEDGE_DOMAINCFG_100_HAS_ALLOW=false\nEDGE_DOMAINCFG_100_HAS_DENY=false\nEDGE_DOMAINCFG_100_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_101_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html\nEDGE_DOMAINCFG_101_HAS_HOME=true\nEDGE_DOMAINCFG_101_HAS_VPN=false\nEDGE_DOMAINCFG_101_HAS_ALLOW=false\nEDGE_DOMAINCFG_101_HAS_DENY=false\nEDGE_DOMAINCFG_101_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_102_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html\nEDGE_DOMAINCFG_102_HAS_HOME=false\nEDGE_DOMAINCFG_102_HAS_VPN=true\nEDGE_DOMAINCFG_102_HAS_ALLOW=false\nEDGE_DOMAINCFG_102_HAS_DENY=false\nEDGE_DOMAINCFG_102_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_103_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-2-20260622/index.html\nEDGE_DOMAINCFG_103_HAS_HOME=false\nEDGE_DOMAINCFG_103_HAS_VPN=true\nEDGE_DOMAINCFG_103_HAS_ALLOW=false\nEDGE_DOMAINCFG_103_HAS_DENY=false\nEDGE_DOMAINCFG_103_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_104_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-grouping-href-patch-20260622/index.html\nEDGE_DOMAINCFG_104_HAS_HOME=true\nEDGE_DOMAINCFG_104_HAS_VPN=false\nEDGE_DOMAINCFG_104_HAS_ALLOW=false\nEDGE_DOMAINCFG_104_HAS_DENY=false\nEDGE_DOMAINCFG_104_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_105_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html\nEDGE_DOMAINCFG_105_HAS_HOME=true\nEDGE_DOMAINCFG_105_HAS_VPN=false\nEDGE_DOMAINCFG_105_HAS_ALLOW=false\nEDGE_DOMAINCFG_105_HAS_DENY=false\nEDGE_DOMAINCFG_105_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_106_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html\nEDGE_DOMAINCFG_106_HAS_HOME=true\nEDGE_DOMAINCFG_106_HAS_VPN=true\nEDGE_DOMAINCFG_106_HAS_ALLOW=false\nEDGE_DOMAINCFG_106_HAS_DENY=false\nEDGE_DOMAINCFG_106_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_107_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-production-update-20260619/index.html\nEDGE_DOMAINCFG_107_HAS_HOME=true\nEDGE_DOMAINCFG_107_HAS_VPN=false\nEDGE_DOMAINCFG_107_HAS_ALLOW=false\nEDGE_DOMAINCFG_107_HAS_DENY=false\nEDGE_DOMAINCFG_107_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_108_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/search/search_index.json\nEDGE_DOMAINCFG_108_HAS_HOME=true\nEDGE_DOMAINCFG_108_HAS_VPN=true\nEDGE_DOMAINCFG_108_HAS_ALLOW=true\nEDGE_DOMAINCFG_108_HAS_DENY=true\nEDGE_DOMAINCFG_108_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_109_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/index.html\nEDGE_DOMAINCFG_109_HAS_HOME=true\nEDGE_DOMAINCFG_109_HAS_VPN=false\nEDGE_DOMAINCFG_109_HAS_ALLOW=false\nEDGE_DOMAINCFG_109_HAS_DENY=false\nEDGE_DOMAINCFG_109_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_110_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/domains.csv\nEDGE_DOMAINCFG_110_HAS_HOME=true\nEDGE_DOMAINCFG_110_HAS_VPN=false\nEDGE_DOMAINCFG_110_HAS_ALLOW=false\nEDGE_DOMAINCFG_110_HAS_DENY=false\nEDGE_DOMAINCFG_110_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_111_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/ports/index.html\nEDGE_DOMAINCFG_111_HAS_HOME=true\nEDGE_DOMAINCFG_111_HAS_VPN=false\nEDGE_DOMAINCFG_111_HAS_ALLOW=false\nEDGE_DOMAINCFG_111_HAS_DENY=false\nEDGE_DOMAINCFG_111_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_112_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/01-add-new-service/index.html\nEDGE_DOMAINCFG_112_HAS_HOME=true\nEDGE_DOMAINCFG_112_HAS_VPN=false\nEDGE_DOMAINCFG_112_HAS_ALLOW=false\nEDGE_DOMAINCFG_112_HAS_DENY=false\nEDGE_DOMAINCFG_112_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_113_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/00-restore-from-zero-for-beginners/index.html\nEDGE_DOMAINCFG_113_HAS_HOME=true\nEDGE_DOMAINCFG_113_HAS_VPN=false\nEDGE_DOMAINCFG_113_HAS_ALLOW=false\nEDGE_DOMAINCFG_113_HAS_DENY=false\nEDGE_DOMAINCFG_113_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_114_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html\nEDGE_DOMAINCFG_114_HAS_HOME=false\nEDGE_DOMAINCFG_114_HAS_VPN=true\nEDGE_DOMAINCFG_114_HAS_ALLOW=false\nEDGE_DOMAINCFG_114_HAS_DENY=false\nEDGE_DOMAINCFG_114_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_115_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/99-current-state-summary/index.html\nEDGE_DOMAINCFG_115_HAS_HOME=true\nEDGE_DOMAINCFG_115_HAS_VPN=true\nEDGE_DOMAINCFG_115_HAS_ALLOW=false\nEDGE_DOMAINCFG_115_HAS_DENY=false\nEDGE_DOMAINCFG_115_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_116_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/05-service-catalog/index.html\nEDGE_DOMAINCFG_116_HAS_HOME=true\nEDGE_DOMAINCFG_116_HAS_VPN=false\nEDGE_DOMAINCFG_116_HAS_ALLOW=false\nEDGE_DOMAINCFG_116_HAS_DENY=false\nEDGE_DOMAINCFG_116_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_117_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/HANDOFF-20260618-authentik-npmplus/index.html\nEDGE_DOMAINCFG_117_HAS_HOME=false\nEDGE_DOMAINCFG_117_HAS_VPN=true\nEDGE_DOMAINCFG_117_HAS_ALLOW=false\nEDGE_DOMAINCFG_117_HAS_DENY=false\nEDGE_DOMAINCFG_117_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_118_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/06-certificates-troubleshooting/index.html\nEDGE_DOMAINCFG_118_HAS_HOME=true\nEDGE_DOMAINCFG_118_HAS_VPN=false\nEDGE_DOMAINCFG_118_HAS_ALLOW=false\nEDGE_DOMAINCFG_118_HAS_DENY=false\nEDGE_DOMAINCFG_118_HAS_AUTH_REQUEST=false\nEDGE_DOMAINCFG_119_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/ERRORS-LESSONS-20260618/index.html\nEDGE_DOMAINCFG_119_HAS_HOME=false\nEDGE_DOMAINCFG_119_HAS_VPN=true\nEDGE_DOMAINCFG_119_HAS_ALLOW=false\nEDGE_DOMAINCFG_119_HAS_DENY=false\nEDGE_DOMAINCFG_119_HAS_AUTH_REQUEST=true\nEDGE_DOMAINCFG_120_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/service-url-catalog/index.html\nEDGE_DOMAINCFG_120_HAS_HOME=true\nEDGE_DOMAINCFG_120_HAS_VPN=true\nEDGE_DOMAINCFG_120_HAS_ALLOW=false\nEDGE_DOMAINCFG_120_HAS_DENY=false\nEDGE_DOMAINCFG_120_HAS_AUTH_REQUEST=false\nEDGE_PROXY_CONTAINER_COUNT=1\nEDGE_PROXY_DB_CANDIDATE_COUNT=1\nEDGE_PROXY_DB_SELECTED=true\nEDGE_PROXY_DB_PATH_SHA=36a7644962bc77f6f2ab31bf092004ded1daf0d1eb4421ac479f92a54b4c4c60\nEDGE_PROXY_MATCH_COUNT=2\nEDGE_PROXY_1_ID=8\nEDGE_PROXY_1_DOMAINS=[\"home.gram1.ru\"]\nEDGE_PROXY_1_FORWARD_SCHEME=http\nEDGE_PROXY_1_FORWARD_HOST_CLASS=private\nEDGE_PROXY_1_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0\nEDGE_PROXY_1_FORWARD_PORT=3000\nEDGE_PROXY_1_ACCESS_LIST_ID=1\nEDGE_PROXY_1_SSL_FORCED=1\nEDGE_PROXY_1_ENABLED=1\nEDGE_PROXY_1_ADV_HAS_ALLOW=false\nEDGE_PROXY_1_ADV_HAS_DENY=false\nEDGE_PROXY_1_ADV_HAS_AUTH=false\nEDGE_PROXY_1_BACKEND_HTTP=200\nEDGE_PROXY_2_ID=17\nEDGE_PROXY_2_DOMAINS=[\"homepage.vpn.gram1.ru\"]\nEDGE_PROXY_2_FORWARD_SCHEME=http\nEDGE_PROXY_2_FORWARD_HOST_CLASS=private\nEDGE_PROXY_2_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0\nEDGE_PROXY_2_FORWARD_PORT=3000\nEDGE_PROXY_2_ACCESS_LIST_ID=1\nEDGE_PROXY_2_SSL_FORCED=1\nEDGE_PROXY_2_ENABLED=1\nEDGE_PROXY_2_ADV_HAS_ALLOW=false\nEDGE_PROXY_2_ADV_HAS_DENY=false\nEDGE_PROXY_2_ADV_HAS_AUTH=false\nEDGE_PROXY_2_BACKEND_HTTP=200\nEDGE_USED_ACL_COUNT=1\nEDGE_ACL_1_ID=1\nEDGE_ACL_1_NAME=LAN only\nEDGE_ACL_1_SATISFY_ANY=0\nEDGE_ACL_1_PASS_AUTH=0\nEDGE_ACL_1_RULE_COUNT=4\nEDGE_ACL_1_RULE_1_CLASS=private\nEDGE_ACL_1_RULE_1_SHA=3bc5d8aba5c1426425a0ad3770bf77782d3f16a12d4455ad3d3a7ce324a5910a\nEDGE_ACL_1_RULE_1_DIRECTIVE=allow\nEDGE_ACL_1_RULE_2_CLASS=private\nEDGE_ACL_1_RULE_2_SHA=d01a825c13311b46a70c53405baab8c9aab1ceda5076cf56ef86d1d8c8673f5a\nEDGE_ACL_1_RULE_2_DIRECTIVE=allow\nEDGE_ACL_1_RULE_3_CLASS=private\nEDGE_ACL_1_RULE_3_SHA=783712746109b3d66507177fc2ac066b768aac772e5c9d7f20b28f4c7b5ef641\nEDGE_ACL_1_RULE_3_DIRECTIVE=allow\nEDGE_ACL_1_RULE_4_CLASS=private\nEDGE_ACL_1_RULE_4_SHA=9422ac7ba7ba4ebf2d71db387c71b97ed1709669d2d2e55408128148cfae4daf\nEDGE_ACL_1_RULE_4_DIRECTIVE=allow\nEDGE_RECENT_403_COUNT=0\nSOURCE_1_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_1_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-backup:53: echo \"NETBIRD_ACTIVE=$(systemctl is-active netbird 2>/dev/null || true)\"\nSOURCE_2_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_2_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:197: facts[\"netbird_route\"] = route\nSOURCE_3_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_3_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:199: problems.append(\"netbird_route_not_wt0\")\nSOURCE_4_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_4_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f\"- NetBird route: {facts.get('netbird_route')}\",\nSOURCE_5_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_5_LINE=tests/test_cr_2026_0005.py:33: for forbidden in (\"paperless\", \"netbird\", \"vm160\", \"pve02\", \"pve03\", \"cluster/backup\"):\nSOURCE_6_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_6_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-status:51:section \"EDGE-VM: монитор, NetBird и расширения\"\nSOURCE_7_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc\nSOURCE_7_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f\"- NetBird route: {facts.get('netbird_route')}\",\nSOURCE_8_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_8_LINE=.gitea/workflows/validate-kb.yml:59: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_9_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_9_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_10_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_10_LINE=kb/lessons/known_failures.json:423: \"netbird\",\nSOURCE_11_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_11_LINE=kb/lessons/known_failures_public.json:247: \"netbird\",\nSOURCE_12_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_12_LINE=kb/private/access.json:88: \"id\": \"new_usa_netbird\",\nSOURCE_13_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_13_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service`\nSOURCE_14_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_14_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z`\nSOURCE_15_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_15_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH]\nSOURCE_16_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_16_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_17_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_17_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_18_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_18_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_19_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_19_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: \"netbird.service\",\nSOURCE_20_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_20_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: \"netbird.service\",\nSOURCE_21_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_21_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: \"skladchik-ct200-netbird-egress.service\",\nSOURCE_22_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_22_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: \"udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=38)) \",\nSOURCE_23_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_23_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: \"udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=27)) \",\nSOURCE_24_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_24_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: \"tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=39)) \",\nSOURCE_25_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_25_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird:\nSOURCE_26_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_26_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: \"[IP_REDACTED]\"\nSOURCE_27_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_27_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED\nSOURCE_28_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_28_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate.\nSOURCE_29_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_29_LINE=deploy/homelab-command-stack/payload/homelab-command-portal:651:

Ссылка одноразовая и уже привязана к этому NetBird-адресу.

\nSOURCE_30_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_30_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`.\nSOURCE_31_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_31_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket.\nSOURCE_32_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_32_LINE=docs/superpowers/specs/2026-08-31-cr0103-command-stack-boot-readiness-design.md:92:- change NetBird configuration;\nSOURCE_33_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_33_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`.\nSOURCE_34_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_34_LINE=kb/AI_CONTEXT.md:30:## NetBird migration\nSOURCE_35_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_35_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0.\nSOURCE_36_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_36_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates.\nSOURCE_37_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_37_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains.\nSOURCE_38_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_38_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies.\nSOURCE_39_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_39_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening).\nSOURCE_40_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_40_LINE=kb/inventory/guests.json:59: \"role\": \"edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services\",\nSOURCE_41_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_41_LINE=kb/lessons/known_failures.json:430: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_42_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_42_LINE=kb/lessons/known_failures_public.json:250: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_43_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_43_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails;\nSOURCE_44_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_44_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS.\nSOURCE_45_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_45_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`.\nSOURCE_46_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a\nSOURCE_46_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production\nSOURCE_47_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_47_LINE=.gitea/workflows/validate-kb.yml:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_48_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_48_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2\nSOURCE_49_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_49_LINE=kb/lessons/known_failures.json:423: \"netbird\",\nSOURCE_50_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_50_LINE=kb/lessons/known_failures_public.json:247: \"netbird\",\nSOURCE_51_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_51_LINE=kb/private/access.json:88: \"id\": \"new_usa_netbird\",\nSOURCE_52_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_52_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service`\nSOURCE_53_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_53_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z`\nSOURCE_54_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_54_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH]\nSOURCE_55_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_55_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_56_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_56_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_57_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_57_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: \"netbird\": \"[IP_REDACTED]\",\nSOURCE_58_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_58_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: \"netbird.service\",\nSOURCE_59_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_59_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: \"netbird.service\",\nSOURCE_60_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_60_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: \"skladchik-ct200-netbird-egress.service\",\nSOURCE_61_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_61_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: \"udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=38)) \",\nSOURCE_62_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_62_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: \"udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=27)) \",\nSOURCE_63_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_63_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: \"tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\\\"netbird\\\",pid=705,fd=39)) \",\nSOURCE_64_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_64_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird:\nSOURCE_65_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_65_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: \"[IP_REDACTED]\"\nSOURCE_66_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_66_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED\nSOURCE_67_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_67_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate.\nSOURCE_68_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_68_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`.\nSOURCE_69_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_69_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket.\nSOURCE_70_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_70_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`.\nSOURCE_71_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_71_LINE=kb/AI_CONTEXT.md:30:## NetBird migration\nSOURCE_72_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_72_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0.\nSOURCE_73_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_73_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates.\nSOURCE_74_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_74_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains.\nSOURCE_75_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_75_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies.\nSOURCE_76_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_76_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening).\nSOURCE_77_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_77_LINE=kb/inventory/guests.json:59: \"role\": \"edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services\",\nSOURCE_78_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_78_LINE=kb/lessons/known_failures.json:430: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_79_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_79_LINE=kb/lessons/known_failures_public.json:250: \"incident\": \"On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.\",\nSOURCE_80_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_80_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails;\nSOURCE_81_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_81_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS.\nSOURCE_82_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_82_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`.\nSOURCE_83_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_83_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production\nSOURCE_84_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_84_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:211:- NetBird server SHA `efa4e50dbc556ccd7bdc5b0d977ff29fe21bdee3b7e312cba6e3fa53bbeec60b`\nSOURCE_85_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb\nSOURCE_85_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:215:NetBird server:\nSOURCE_86_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_86_LINE=README.md:9:- Homepage: https://home.gram1.ru\nSOURCE_87_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_87_LINE=README.md:53:- https://home.gram1.ru\nSOURCE_88_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_88_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru\nSOURCE_89_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_89_LINE=configs/sanitized/edge-vm/homepage-services.yaml:3: href: https://home.gram1.ru\nSOURCE_90_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_90_LINE=docs/05-service-catalog.md:67:- Domain: https://home.gram1.ru\nSOURCE_91_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_91_LINE=docs/06-certificates-troubleshooting.md:62:Observed with home.gram1.ru and git.gram1.ru before certificate completion.\nSOURCE_92_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_92_LINE=docs/06-certificates-troubleshooting.md:96:- home.gram1.ru: Lets Encrypt via Cloudflare DNS challenge.\nSOURCE_93_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_93_LINE=docs/99-current-state-summary.md:113:- URL: https://home.gram1.ru\nSOURCE_94_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_94_LINE=docs/99-current-state-summary.md:147:- https://home.gram1.ru\nSOURCE_95_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_95_LINE=docs/operations/p0-healthchecks-restore-proof-preflight-20260624T190801Z.md:65:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_96_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_96_LINE=docs/operations/p0-restore-drill-matrix-edge-index-20260624T183747Z.md:112:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_97_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_97_LINE=docs/operations/p0-restore-drill-matrix-quality-offhost-20260624T183931Z.md:126:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_98_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_98_LINE=docs/operations/p0-vikunja-restore-proof-preflight-20260624T191408Z.md:63:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru\nSOURCE_99_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_99_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.json:123: \"home.gram1.ru\"\nSOURCE_100_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_100_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.md:34:| 8 | public_or_unknown | home.gram1.ru | yes | http | [IP_REDACTED]:3000 | present | 8 |\nSOURCE_101_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_101_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:103: \"domain\": \"home.gram1.ru\",\nSOURCE_102_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_102_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:105: \"home.gram1.ru\"\nSOURCE_103_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_103_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.md:39:| 8 | home.gram1.ru | public-domain | homepage | edge-local | http://[IP_REDACTED]:3000 | yes | present | OK_PUBLIC_INTENTIONAL | keep_monitoring |\nSOURCE_104_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_104_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.json:905: \"domain\": \"home.gram1.ru\",\nSOURCE_105_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_105_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.md:68:| 8 | home.gram1.ru | http://[IP_REDACTED]:3000 | homepage | PUBLIC_OR_UNKNOWN_ROUTE, ACCESS_HINT_REVIEW |\nSOURCE_106_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_106_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru\nSOURCE_107_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_107_LINE=configs/sanitized/edge-vm/homepage-services.yaml:7: href: https://homepage.vpn.gram1.ru\nSOURCE_108_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_108_LINE=docs/99-current-state-summary.md:2333:- `homepage.vpn.gram1.ru`: HTTP `200`\nSOURCE_109_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_109_LINE=docs/ERRORS-LESSONS-20260618.md:61:Correct value: only https://homepage.vpn.gram1.ru.\nSOURCE_110_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_110_LINE=docs/ERRORS-LESSONS-20260618.md:108:Correction: use local direct Authentik outpost checks with homepage.vpn.gram1.ru forwarded headers before enabling NPMplus auth. Do not require the public auth.vpn outpost auth endpoint to match the Homepage provider.\nSOURCE_111_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_111_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:11:homepage.vpn.gram1.ru proxy id 17 cert id 32 access 1 ssl forced\nSOURCE_112_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_112_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:33:Launch URL: https://homepage.vpn.gram1.ru\nSOURCE_113_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_113_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:42:Only after provider and outpost verification, enable npmplus_auth_request authentik for homepage.vpn.gram1.ru. Keep rollback ready by setting it back to none.\nSOURCE_114_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_114_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:54:The public check through auth.vpn.gram1.ru returned 404 for /outpost.goauthentik.io/auth/nginx, while the local direct outpost check for homepage.vpn.gram1.ru returned a valid auth response. Treat the public auth.vpn auth endpoint as a wrong validation path for Homepage. Next safe step: enable npmplus_auth_request=authentik only for homepage proxy id 17 with rollback ready.\nSOURCE_115_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_115_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:73:host: homepage.vpn.gram1.ru\nSOURCE_116_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_116_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:22:homepage.vpn.gram1.ru -> [IP_REDACTED] -> NPMplus -> [IP_REDACTED]:3000\nSOURCE_117_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_117_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:55:EDGE_HOST=edge-vm;DOCKER_IMAGES=actual-budget=actualbudget/actual-server:latest;authentik-postgresql-1=postgres:16-alpine;authentik-server-1=ghcr.io/goauthentik/server:2026.5.3;authentik-worker-1=ghcr.io/goauthentik/server:2026.5.3;beszel=henrygd/beszel:latest;crowdsec=crowdsecurity/crowdsec:latest;dockge=louislam/dockge:1;dozzle=amir20/dozzle:latest;filebrowser=filebrowser/filebrowser:latest;gitea=docker.gitea.com/gitea:1.26.2;gotify=gotify/server:latest;grafana=grafana/grafana:latest;homeassistant=ghcr.io/home-assistant/home-assistant:stable;homebox=ghcr.io/sysadminsmedia/homebox:latest-rootless;homepage=ghcr.io/gethomepage/homepage:latest;immi\nSOURCE_118_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_118_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:208:homepage.vpn.gram1.ru -> [IP_REDACTED] -> [IP_REDACTED]:3000\nSOURCE_119_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_119_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:216:BINDING= - NPM_IPV4_BINDING=[IP_REDACTED]; - IPV4_BINDING=[IP_REDACTED];;ACCESS=5|access_list_id=1|address=[IP_REDACTED]|directive=allow;6|access_list_id=1|address=[IP_REDACTED]|directive=allow;7|access_list_id=1|address=[IP_REDACTED]|directive=allow;8|access_list_id=1|address=[IP_REDACTED]|directive=allow;;PROXIES=16|[\"kuma.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3001|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;17|[\"homepage.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3000|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;18|[\"gitea.vpn.gram1.ru\"]|forward=http://[IP_REDACTED]:3002|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;19|[\"fileb\nSOURCE_120_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e\nSOURCE_120_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:222:kuma.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=302|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;homepage.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;gitea.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;filebrowser.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=iss\nSOURCE_MATCH_COUNT=120\nPVE01_NETBIRD_UNIT_MATCH_COUNT=3\nPVE01_NETBIRD_PRESENT=true\nPVE01_NETBIRD_STATUS_SHA=0cf182820b4c45584910a7a7b5bff12370f80c8707f9104557b0a61e643bbf11\nPVE01_NETBIRD_CONNECTED_HINT=true\nNEW_PC_NETBIRD_MISSING=true\nNEW_PC_NETBIRD_NOT_RUNNING=false\nNEW_PC_NETBIRD_NOT_CONNECTED=false\nNEW_PC_HOME_DNS_MISSING=true\nNEW_PC_HOME_PRIVATE_DNS_PRESENT=false\nNEW_PC_HOME_HTTPS_WORKING=false\nREPAIR_CLASS=REPAIR_NEW_PC_NETBIRD_INSTALL\nDECISION=ANALYZE_HOME_GRAM1_EDGE_VPN_DNS\nNEXT_GATE=HOME_GRAM1_NEW_PC_TARGETED_REPAIR\nTASK_RESULT=HOME_GRAM1_EDGE_VPN_DNS_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index cac7e13c..6ceb1f3c 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,141 +1,1126 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-261005-SNIKKET-FRESH-BACKUP-RESTORE-PROOF-V2-99595R1 +COMMAND_ID=SUPPORT-261005-HOME-GRAM1-EDGE-VPN-DNS-RCA-99595R1 STATUS=OK RC=0 HOST=pve01 -MODE=change -COMPONENT=snikket-fresh-backup-restore-proof-v2 +MODE=read-only +COMPONENT=home-gram1-edge-vpn-dns-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=e5f4350c717158d50825b0adfb635570be3956a552db1be8f8ed18e46bef09a7 +COMMAND_SHA256=8373cbc8cc09222185a3eea30f811f59cdfd6c7e88118f3aa80c8fa2ce6e6027 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE COMMAND_RC=0 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=ROLLED_BACK +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=d569d172f2e465714f4781b9aa9b008b4836cfd91629ebe75c33c747d708382d -SANITIZED_OUTPUT_SHA256=d569d172f2e465714f4781b9aa9b008b4836cfd91629ebe75c33c747d708382d +RAW_EVIDENCE_SHA256=8d2e00550474afe9ffde1aee1364664e74e5775593673837f2b262320065fd0e +SANITIZED_OUTPUT_SHA256=e222f8b364b0ef3aed91333615ff2ea31a541a9169bdbcb53347e0231495293b OUTPUT_BEGIN -SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2_WRAPPER=V1 -HOST_PVE01=true -INGRESS_HOSTKEY_SELF_BOUND=true -MODE=change -MUTATION_BOUNDARY=FRESH_VM150_BACKUP_PLUS_TEMP_ISOLATED_RESTORE_ONLY -NO_PRODUCTION_VM150_CONFIG_MUTATION=true -NO_DNS_MUTATION=true -NO_MONITOR_MUTATION=true +HOME_GRAM1_EDGE_VPN_DNS_RCA=V1 +NO_MAIL_SEND=true +NO_SERVICE_RESTART=true +NO_TIMER_MUTATION=true +NO_NETWORK_MUTATION=true NO_SOURCE_MUTATION=true -NO_GLOBAL_DR_POLICY_MUTATION=true -PROOF_PYTHON_RC=0 -PROD_VM150_RUNNING_PRE=true -PROD_VM150_QGA_PRE=true -PROD_VM150_CONFIG_SHA_PRE=2e4c1ea46b27034a2efe7bfc00cd9f32c0641a43d8365aa21992f72493a43b0e -VM150_RUNTIME_EXACT_MATCH_COUNT=60 -VM150_RUNTIME_WORKER_REF_VARIANT_COUNT=1 -VM150_RUNTIME_ALL_CONTRACTS_OK=true -VM150_RUNTIME_LOCKSET_VARIANT_COUNT=1 -VM150_RUNTIME_WORKER_REF_CANONICAL=true -VM150_RUNTIME_LOCKSET_CANONICAL=true -VM150_RUNTIME_SELECTED_BASENAME=vm150-runtime.py -VM150_RUNTIME_SELECTED_PATH_SHA256=4d3f6541955e4a1fe5b427672977762e4ff01b5f95e9ae391314f79fcd33a537 -CANONICAL_WORKER_PRESENT=true -WORKER_SHA256=4c729debe80f99528fea1f6e1723e7c4d03c5249ba01fd640aaa7c4a4075075c -WORKER_NOARG_RC=64 -WORKER_USAGE_MENTIONS_BACKUP=false -ROTATING_POLICY_CANDIDATE_COUNT=1 -TARGET_REGISTRY_CANONICAL_PATH_MATCH=true -TARGET_VM150_ENTRY_COUNT=1 -TARGET_VM150_VALID=true -OLD_DURABLE_GENERATION_PRESENT=true -OLD_DURABLE_GENERATION_SHA256=a7d56bb072e0f03382df4d916dfbc4d95ec41933374747deebd4f701661bc9ec -BACKUP_LOCK_COUNT=3 -BACKUP_LOCKS_ACQUIRED=true -BACKUP_BUSY_UNDER_LOCK=false -PROD_STABLE_UNDER_LOCK=true -FRESH_BACKUP_WORKER_STARTED=true -FRESH_BACKUP_WORKER_RC=0 -FRESH_BACKUP_WORKER_STDOUT_BYTES=469 -FRESH_BACKUP_WORKER_STDERR_BYTES=175 -FRESH_BACKUP_WORKER_STDOUT_SHA256=da31c0125eff44a7544157db857c941586aba896b5b2dcd6f8395b9b78ade2b5 -FRESH_BACKUP_WORKER_STDERR_SHA256=b729a4d73dd88f0ca8875e60e89eb5f564fbf73c6120dc7f690fba3377ac6f66 -FRESH_GENERATION_PARSED=true -FRESH_GENERATION=vm150-pve01-20261005T091814Z -FRESH_GENERATION_DIFFERS_OLD=true -FRESH_GENERATION_AGE_HOURS=0.048 -FRESH_STATE_PRESENT=true -FRESH_RESTORE_VALIDATION_PRESENT=true -STATE_STATUS_SEALED=true -STATE_CLOUD_QUORUM_2=true -STATE_CLOUD_A_VERIFIED=true -STATE_CLOUD_B_VERIFIED=true -STATE_CLOUD_A_SEAL_VERIFIED=true -STATE_CLOUD_B_SEAL_VERIFIED=true -STATE_PART_HASHES_VERIFIED=true -STATE_SEAL_WRITTEN=true -STATE_LOCAL_CLEANUP_OK=true -STATE_LOCAL_PAYLOAD_ABSENT=true -RESTORE_RESULT_OK=true -RESTORE_PAYLOAD_SHA_VERIFIED=true -RESTORE_ARCHIVE_READBACK_VERIFIED=true -RESTORE_PROXMOX_CONFIG_EXTRACT_VERIFIED=true -FRESH_STATE_SHA256=d1633743b207d851dee72c59fb26a3071622bcbcbd63e943463ebada0081f10c -FRESH_RESTORE_VALIDATION_SHA256=122ea17af4149a1fdbb42efb78d13256f3e49915cbff4a87d595fd1e13c18822 -FRESH_STRICT_BACKUP_EVIDENCE_PASS=true -FRESH_REMOTE_A_METADATA_VALID=true -FRESH_REMOTE_A_PART_COUNT=2 -FRESH_REMOTE_B_METADATA_VALID=true -FRESH_REMOTE_B_PART_COUNT=2 -STAGE_FREE_BYTES=284966633472 -STAGE_REQUIRED_BYTES=3083153382 -VM150_MAXDISK_BYTES=68719476736 -LOCAL_LVM_AVAILABLE_BYTES=755394638848 -LOCAL_LVM_REQUIRED_BYTES=85899345920 -TEMP_VMID_SELECTED=9600 -TEMP_VMID_PREEXISTED=false -RESTORE_STAGE_CREATED=true -FETCH_A_STARTED=true -FETCH_A_SUCCESS=true -FETCH_SOURCE_CLOUD=A -FETCHED_ARCHIVE_SIZE_MATCH=true -FETCHED_ARCHIVE_SHA_MATCH=true -ISOLATED_QMRESTORE_STARTED=true -ISOLATED_QEMU_BOOT_RETURNED=true -ISOLATED_QEMU_BOOT_PROOF_TYPE=str -TEMP_NIC_COUNT=0 -TEMP_ONBOOT_ZERO=true -TEMP_QGA_PING=true -TEMP_GUEST_INSPECTION_AVAILABLE=true -TEMP_HOSTNAME_SNIKKET=false -TEMP_SNIKKET_DOMAIN_OK=true -TEMP_DOCKER_OK=true -TEMP_RUNNING_CONTAINER_COUNT=4 -FRESH_BACKUP_RESTORE_ERROR_CLASS=RuntimeError -FRESH_BACKUP_RESTORE_ERROR_SHA256=d6eb2ff661527d5f0d4774daaebb5c6f16555e98f343de1e41f0b157f16b14a5 -PUBLIC_DNS_OK_COUNT=3 -PUBLIC_HTTPS_OK_COUNT=3 -FRESH_BACKUP_AND_ISOLATED_RESTORE_PASS=false -DECISION=HOLD_SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2 -NEXT_GATE=SNIKKET_FRESH_BACKUP_RESTORE_RECONCILE -TASK_RESULT=HOLD_SNIKKET_FRESH_BACKUP_RESTORE_PROOF_V2 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=TEMP_ROLLED_BACK_FRESH_BACKUP_MAY_PERSIST -PROOF_PYTHON_STDERR_BYTES=0 -PUBLIC_STUN_3479_PASS=true -FINAL_FRESH_BACKUP_RESTORE_ACCEPT=false -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261005-SNIKKET-FRESH-BACKUP-RESTORE-PROOF-V2-99595R1","status":"OK","changes_made":true,"rollback_started":true,"rollback_restored":true} +NO_DNS_MUTATION=true +NO_PROXY_MUTATION=true +NO_CONTAINER_MUTATION=true +NO_ACCESS_LIST_MUTATION=true +NO_LOCAL_WINDOWS_MUTATION=true +MODE=read-only +HOST_PVE01=true +LOCAL_DIAG_OK=true +LOCAL_NETBIRD_PRESENT=true +LOCAL_NETBIRD_SERVICE_FOUND=true +LOCAL_NETBIRD_SERVICE_RUNNING=true +LOCAL_NETBIRD_STATUS_RC=0 +LOCAL_NETBIRD_CONNECTED_HINT=true +LOCAL_NETBIRD_DISCONNECTED_HINT=false +LOCAL_NETBIRD_MANAGEMENT_HINT=true +LOCAL_NETBIRD_SIGNAL_HINT=true +LOCAL_NETBIRD_OUTPUT_SHA=99aa8ce33befabc416914dd33b1af56e247c8e25960e4cb74a4a797ce330a880 +LOCAL_HOME_DNS_COUNT=0 +LOCAL_HOME_DNS_PRIVATE_COUNT=0 +LOCAL_HOME_DNS_PUBLIC_COUNT=0 +LOCAL_HOME_HTTPS_STATUS=0 +LOCAL_HOMEVPN_DNS_COUNT=0 +LOCAL_HOMEVPN_DNS_PRIVATE_COUNT=0 +LOCAL_HOMEVPN_DNS_PUBLIC_COUNT=0 +LOCAL_HOMEVPN_HTTPS_STATUS=0 +SERVER_HOME_DNS_COUNT=1 +SERVER_HOME_DNS_PRIVATE_COUNT=1 +SERVER_HOME_DNS_PUBLIC_COUNT=0 +SERVER_HOME_HTTPS_STATUS=200 +SERVER_HOME_CURL_RC=0 +SERVER_HOMEVPN_DNS_COUNT=0 +SERVER_HOMEVPN_DNS_PRIVATE_COUNT=0 +SERVER_HOMEVPN_DNS_PUBLIC_COUNT=0 +SERVER_HOMEVPN_HTTPS_STATUS=000 +SERVER_HOMEVPN_CURL_RC=6 +EDGE_VM_FOUND=true +EDGE_VM_NODE=pve03 +EDGE_VM_STATUS=running +EDGE_VM_NAME=edge-vm +PVE03_EDGE_INSPECT_RC=0 +PVE03_EDGE_INSPECT_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +EDGE_QM_GUEST_EXEC_RC=0 +EDGE_QM_STDERR_SHA=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +EDGE_QGA_JSON=true +EDGE_GUEST_EXITCODE=0 +EDGE_HOSTNAME=edge-vm +EDGE_DOCKER_PRESENT=yes +EDGE_NETBIRD_PRESENT=yes +EDGE_NETBIRD_STATUS_SHA=7de6bb08abbcd58a722827794738dd523a1cbb4119b3cf8a5cba3d617b99b459 +EDGE_NETBIRD_CONNECTED_HINT=true +EDGE_RELEVANT_CONTAINER_COUNT=2 +EDGE_CONTAINER_1_NAME=npmplus +EDGE_CONTAINER_1_IMAGE=zoeyvid/npmplus:2026-06-17-b1 +EDGE_CONTAINER_1_STATUS=Up 5 weeks (healthy) +EDGE_CONTAINER_2_NAME=socket-proxy +EDGE_CONTAINER_2_IMAGE=lscr.io/linuxserver/socket-proxy:latest +EDGE_CONTAINER_2_STATUS=Up 5 weeks +EDGE_HOMEPAGE_CONTAINER_COUNT=0 +EDGE_DOMAIN_CONFIG_MATCH_COUNT=120 +EDGE_DOMAINCFG_1_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_1_HAS_HOME=true +EDGE_DOMAINCFG_1_HAS_VPN=false +EDGE_DOMAINCFG_1_HAS_ALLOW=false +EDGE_DOMAINCFG_1_HAS_DENY=false +EDGE_DOMAINCFG_1_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_2_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_2_HAS_HOME=true +EDGE_DOMAINCFG_2_HAS_VPN=true +EDGE_DOMAINCFG_2_HAS_ALLOW=false +EDGE_DOMAINCFG_2_HAS_DENY=false +EDGE_DOMAINCFG_2_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_3_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_3_HAS_HOME=true +EDGE_DOMAINCFG_3_HAS_VPN=false +EDGE_DOMAINCFG_3_HAS_ALLOW=false +EDGE_DOMAINCFG_3_HAS_DENY=false +EDGE_DOMAINCFG_3_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_4_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_4_HAS_HOME=true +EDGE_DOMAINCFG_4_HAS_VPN=false +EDGE_DOMAINCFG_4_HAS_ALLOW=false +EDGE_DOMAINCFG_4_HAS_DENY=false +EDGE_DOMAINCFG_4_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_5_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_5_HAS_HOME=true +EDGE_DOMAINCFG_5_HAS_VPN=true +EDGE_DOMAINCFG_5_HAS_ALLOW=false +EDGE_DOMAINCFG_5_HAS_DENY=false +EDGE_DOMAINCFG_5_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_6_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_6_HAS_HOME=true +EDGE_DOMAINCFG_6_HAS_VPN=true +EDGE_DOMAINCFG_6_HAS_ALLOW=false +EDGE_DOMAINCFG_6_HAS_DENY=false +EDGE_DOMAINCFG_6_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_7_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_7_HAS_HOME=false +EDGE_DOMAINCFG_7_HAS_VPN=true +EDGE_DOMAINCFG_7_HAS_ALLOW=false +EDGE_DOMAINCFG_7_HAS_DENY=false +EDGE_DOMAINCFG_7_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_8_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_8_HAS_HOME=true +EDGE_DOMAINCFG_8_HAS_VPN=true +EDGE_DOMAINCFG_8_HAS_ALLOW=false +EDGE_DOMAINCFG_8_HAS_DENY=false +EDGE_DOMAINCFG_8_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_9_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_9_HAS_HOME=true +EDGE_DOMAINCFG_9_HAS_VPN=true +EDGE_DOMAINCFG_9_HAS_ALLOW=false +EDGE_DOMAINCFG_9_HAS_DENY=false +EDGE_DOMAINCFG_9_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_10_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_10_HAS_HOME=true +EDGE_DOMAINCFG_10_HAS_VPN=false +EDGE_DOMAINCFG_10_HAS_ALLOW=false +EDGE_DOMAINCFG_10_HAS_DENY=false +EDGE_DOMAINCFG_10_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_11_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_11_HAS_HOME=false +EDGE_DOMAINCFG_11_HAS_VPN=true +EDGE_DOMAINCFG_11_HAS_ALLOW=false +EDGE_DOMAINCFG_11_HAS_DENY=false +EDGE_DOMAINCFG_11_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_12_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_12_HAS_HOME=false +EDGE_DOMAINCFG_12_HAS_VPN=true +EDGE_DOMAINCFG_12_HAS_ALLOW=false +EDGE_DOMAINCFG_12_HAS_DENY=false +EDGE_DOMAINCFG_12_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_13_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_13_HAS_HOME=false +EDGE_DOMAINCFG_13_HAS_VPN=true +EDGE_DOMAINCFG_13_HAS_ALLOW=false +EDGE_DOMAINCFG_13_HAS_DENY=false +EDGE_DOMAINCFG_13_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_14_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_14_HAS_HOME=true +EDGE_DOMAINCFG_14_HAS_VPN=false +EDGE_DOMAINCFG_14_HAS_ALLOW=false +EDGE_DOMAINCFG_14_HAS_DENY=false +EDGE_DOMAINCFG_14_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_15_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_15_HAS_HOME=true +EDGE_DOMAINCFG_15_HAS_VPN=false +EDGE_DOMAINCFG_15_HAS_ALLOW=false +EDGE_DOMAINCFG_15_HAS_DENY=false +EDGE_DOMAINCFG_15_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_16_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_16_HAS_HOME=false +EDGE_DOMAINCFG_16_HAS_VPN=true +EDGE_DOMAINCFG_16_HAS_ALLOW=false +EDGE_DOMAINCFG_16_HAS_DENY=false +EDGE_DOMAINCFG_16_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_17_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_17_HAS_HOME=true +EDGE_DOMAINCFG_17_HAS_VPN=false +EDGE_DOMAINCFG_17_HAS_ALLOW=false +EDGE_DOMAINCFG_17_HAS_DENY=false +EDGE_DOMAINCFG_17_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_18_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_18_HAS_HOME=true +EDGE_DOMAINCFG_18_HAS_VPN=true +EDGE_DOMAINCFG_18_HAS_ALLOW=false +EDGE_DOMAINCFG_18_HAS_DENY=false +EDGE_DOMAINCFG_18_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_19_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_19_HAS_HOME=false +EDGE_DOMAINCFG_19_HAS_VPN=true +EDGE_DOMAINCFG_19_HAS_ALLOW=false +EDGE_DOMAINCFG_19_HAS_DENY=false +EDGE_DOMAINCFG_19_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_20_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_20_HAS_HOME=true +EDGE_DOMAINCFG_20_HAS_VPN=false +EDGE_DOMAINCFG_20_HAS_ALLOW=false +EDGE_DOMAINCFG_20_HAS_DENY=false +EDGE_DOMAINCFG_20_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_21_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_21_HAS_HOME=false +EDGE_DOMAINCFG_21_HAS_VPN=true +EDGE_DOMAINCFG_21_HAS_ALLOW=false +EDGE_DOMAINCFG_21_HAS_DENY=false +EDGE_DOMAINCFG_21_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_22_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_22_HAS_HOME=false +EDGE_DOMAINCFG_22_HAS_VPN=true +EDGE_DOMAINCFG_22_HAS_ALLOW=false +EDGE_DOMAINCFG_22_HAS_DENY=false +EDGE_DOMAINCFG_22_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_23_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-supported-vpn-routes-closeout-20260623/index.html +EDGE_DOMAINCFG_23_HAS_HOME=false +EDGE_DOMAINCFG_23_HAS_VPN=true +EDGE_DOMAINCFG_23_HAS_ALLOW=false +EDGE_DOMAINCFG_23_HAS_DENY=false +EDGE_DOMAINCFG_23_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_24_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_24_HAS_HOME=true +EDGE_DOMAINCFG_24_HAS_VPN=false +EDGE_DOMAINCFG_24_HAS_ALLOW=false +EDGE_DOMAINCFG_24_HAS_DENY=false +EDGE_DOMAINCFG_24_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_25_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_25_HAS_HOME=true +EDGE_DOMAINCFG_25_HAS_VPN=false +EDGE_DOMAINCFG_25_HAS_ALLOW=false +EDGE_DOMAINCFG_25_HAS_DENY=false +EDGE_DOMAINCFG_25_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_26_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_26_HAS_HOME=true +EDGE_DOMAINCFG_26_HAS_VPN=true +EDGE_DOMAINCFG_26_HAS_ALLOW=false +EDGE_DOMAINCFG_26_HAS_DENY=false +EDGE_DOMAINCFG_26_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_27_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_27_HAS_HOME=true +EDGE_DOMAINCFG_27_HAS_VPN=false +EDGE_DOMAINCFG_27_HAS_ALLOW=false +EDGE_DOMAINCFG_27_HAS_DENY=false +EDGE_DOMAINCFG_27_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_28_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/search/search_index.json +EDGE_DOMAINCFG_28_HAS_HOME=true +EDGE_DOMAINCFG_28_HAS_VPN=true +EDGE_DOMAINCFG_28_HAS_ALLOW=true +EDGE_DOMAINCFG_28_HAS_DENY=true +EDGE_DOMAINCFG_28_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_29_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/index.html +EDGE_DOMAINCFG_29_HAS_HOME=true +EDGE_DOMAINCFG_29_HAS_VPN=false +EDGE_DOMAINCFG_29_HAS_ALLOW=false +EDGE_DOMAINCFG_29_HAS_DENY=false +EDGE_DOMAINCFG_29_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_30_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/domains.csv +EDGE_DOMAINCFG_30_HAS_HOME=true +EDGE_DOMAINCFG_30_HAS_VPN=false +EDGE_DOMAINCFG_30_HAS_ALLOW=false +EDGE_DOMAINCFG_30_HAS_DENY=false +EDGE_DOMAINCFG_30_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_31_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/inventory/ports/index.html +EDGE_DOMAINCFG_31_HAS_HOME=true +EDGE_DOMAINCFG_31_HAS_VPN=false +EDGE_DOMAINCFG_31_HAS_ALLOW=false +EDGE_DOMAINCFG_31_HAS_DENY=false +EDGE_DOMAINCFG_31_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_32_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_32_HAS_HOME=true +EDGE_DOMAINCFG_32_HAS_VPN=false +EDGE_DOMAINCFG_32_HAS_ALLOW=false +EDGE_DOMAINCFG_32_HAS_DENY=false +EDGE_DOMAINCFG_32_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_33_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_33_HAS_HOME=true +EDGE_DOMAINCFG_33_HAS_VPN=false +EDGE_DOMAINCFG_33_HAS_ALLOW=false +EDGE_DOMAINCFG_33_HAS_DENY=false +EDGE_DOMAINCFG_33_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_34_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_34_HAS_HOME=false +EDGE_DOMAINCFG_34_HAS_VPN=true +EDGE_DOMAINCFG_34_HAS_ALLOW=false +EDGE_DOMAINCFG_34_HAS_DENY=false +EDGE_DOMAINCFG_34_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_35_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_35_HAS_HOME=true +EDGE_DOMAINCFG_35_HAS_VPN=true +EDGE_DOMAINCFG_35_HAS_ALLOW=false +EDGE_DOMAINCFG_35_HAS_DENY=false +EDGE_DOMAINCFG_35_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_36_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_36_HAS_HOME=true +EDGE_DOMAINCFG_36_HAS_VPN=false +EDGE_DOMAINCFG_36_HAS_ALLOW=false +EDGE_DOMAINCFG_36_HAS_DENY=false +EDGE_DOMAINCFG_36_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_37_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_37_HAS_HOME=false +EDGE_DOMAINCFG_37_HAS_VPN=true +EDGE_DOMAINCFG_37_HAS_ALLOW=false +EDGE_DOMAINCFG_37_HAS_DENY=false +EDGE_DOMAINCFG_37_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_38_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_38_HAS_HOME=true +EDGE_DOMAINCFG_38_HAS_VPN=false +EDGE_DOMAINCFG_38_HAS_ALLOW=false +EDGE_DOMAINCFG_38_HAS_DENY=false +EDGE_DOMAINCFG_38_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_39_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_39_HAS_HOME=false +EDGE_DOMAINCFG_39_HAS_VPN=true +EDGE_DOMAINCFG_39_HAS_ALLOW=false +EDGE_DOMAINCFG_39_HAS_DENY=false +EDGE_DOMAINCFG_39_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_40_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_40_HAS_HOME=true +EDGE_DOMAINCFG_40_HAS_VPN=true +EDGE_DOMAINCFG_40_HAS_ALLOW=false +EDGE_DOMAINCFG_40_HAS_DENY=false +EDGE_DOMAINCFG_40_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_41_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T024129Z/docs/SERVICES-BOOTSTRAP-20260617/index.html +EDGE_DOMAINCFG_41_HAS_HOME=false +EDGE_DOMAINCFG_41_HAS_VPN=true +EDGE_DOMAINCFG_41_HAS_ALLOW=false +EDGE_DOMAINCFG_41_HAS_DENY=false +EDGE_DOMAINCFG_41_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_42_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_42_HAS_HOME=true +EDGE_DOMAINCFG_42_HAS_VPN=false +EDGE_DOMAINCFG_42_HAS_ALLOW=false +EDGE_DOMAINCFG_42_HAS_DENY=false +EDGE_DOMAINCFG_42_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_43_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_43_HAS_HOME=true +EDGE_DOMAINCFG_43_HAS_VPN=true +EDGE_DOMAINCFG_43_HAS_ALLOW=false +EDGE_DOMAINCFG_43_HAS_DENY=false +EDGE_DOMAINCFG_43_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_44_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_44_HAS_HOME=true +EDGE_DOMAINCFG_44_HAS_VPN=false +EDGE_DOMAINCFG_44_HAS_ALLOW=false +EDGE_DOMAINCFG_44_HAS_DENY=false +EDGE_DOMAINCFG_44_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_45_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_45_HAS_HOME=true +EDGE_DOMAINCFG_45_HAS_VPN=false +EDGE_DOMAINCFG_45_HAS_ALLOW=false +EDGE_DOMAINCFG_45_HAS_DENY=false +EDGE_DOMAINCFG_45_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_46_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_46_HAS_HOME=true +EDGE_DOMAINCFG_46_HAS_VPN=true +EDGE_DOMAINCFG_46_HAS_ALLOW=false +EDGE_DOMAINCFG_46_HAS_DENY=false +EDGE_DOMAINCFG_46_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_47_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_47_HAS_HOME=true +EDGE_DOMAINCFG_47_HAS_VPN=true +EDGE_DOMAINCFG_47_HAS_ALLOW=false +EDGE_DOMAINCFG_47_HAS_DENY=false +EDGE_DOMAINCFG_47_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_48_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_48_HAS_HOME=false +EDGE_DOMAINCFG_48_HAS_VPN=true +EDGE_DOMAINCFG_48_HAS_ALLOW=false +EDGE_DOMAINCFG_48_HAS_DENY=false +EDGE_DOMAINCFG_48_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_49_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_49_HAS_HOME=true +EDGE_DOMAINCFG_49_HAS_VPN=true +EDGE_DOMAINCFG_49_HAS_ALLOW=false +EDGE_DOMAINCFG_49_HAS_DENY=false +EDGE_DOMAINCFG_49_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_50_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_50_HAS_HOME=true +EDGE_DOMAINCFG_50_HAS_VPN=true +EDGE_DOMAINCFG_50_HAS_ALLOW=false +EDGE_DOMAINCFG_50_HAS_DENY=false +EDGE_DOMAINCFG_50_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_51_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_51_HAS_HOME=true +EDGE_DOMAINCFG_51_HAS_VPN=false +EDGE_DOMAINCFG_51_HAS_ALLOW=false +EDGE_DOMAINCFG_51_HAS_DENY=false +EDGE_DOMAINCFG_51_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_52_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_52_HAS_HOME=false +EDGE_DOMAINCFG_52_HAS_VPN=true +EDGE_DOMAINCFG_52_HAS_ALLOW=false +EDGE_DOMAINCFG_52_HAS_DENY=false +EDGE_DOMAINCFG_52_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_53_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_53_HAS_HOME=false +EDGE_DOMAINCFG_53_HAS_VPN=true +EDGE_DOMAINCFG_53_HAS_ALLOW=false +EDGE_DOMAINCFG_53_HAS_DENY=false +EDGE_DOMAINCFG_53_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_54_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_54_HAS_HOME=false +EDGE_DOMAINCFG_54_HAS_VPN=true +EDGE_DOMAINCFG_54_HAS_ALLOW=false +EDGE_DOMAINCFG_54_HAS_DENY=false +EDGE_DOMAINCFG_54_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_55_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_55_HAS_HOME=true +EDGE_DOMAINCFG_55_HAS_VPN=false +EDGE_DOMAINCFG_55_HAS_ALLOW=false +EDGE_DOMAINCFG_55_HAS_DENY=false +EDGE_DOMAINCFG_55_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_56_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_56_HAS_HOME=true +EDGE_DOMAINCFG_56_HAS_VPN=false +EDGE_DOMAINCFG_56_HAS_ALLOW=false +EDGE_DOMAINCFG_56_HAS_DENY=false +EDGE_DOMAINCFG_56_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_57_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_57_HAS_HOME=false +EDGE_DOMAINCFG_57_HAS_VPN=true +EDGE_DOMAINCFG_57_HAS_ALLOW=false +EDGE_DOMAINCFG_57_HAS_DENY=false +EDGE_DOMAINCFG_57_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_58_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_58_HAS_HOME=true +EDGE_DOMAINCFG_58_HAS_VPN=false +EDGE_DOMAINCFG_58_HAS_ALLOW=false +EDGE_DOMAINCFG_58_HAS_DENY=false +EDGE_DOMAINCFG_58_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_59_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_59_HAS_HOME=true +EDGE_DOMAINCFG_59_HAS_VPN=true +EDGE_DOMAINCFG_59_HAS_ALLOW=false +EDGE_DOMAINCFG_59_HAS_DENY=false +EDGE_DOMAINCFG_59_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_60_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_60_HAS_HOME=false +EDGE_DOMAINCFG_60_HAS_VPN=true +EDGE_DOMAINCFG_60_HAS_ALLOW=false +EDGE_DOMAINCFG_60_HAS_DENY=false +EDGE_DOMAINCFG_60_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_61_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_61_HAS_HOME=true +EDGE_DOMAINCFG_61_HAS_VPN=false +EDGE_DOMAINCFG_61_HAS_ALLOW=false +EDGE_DOMAINCFG_61_HAS_DENY=false +EDGE_DOMAINCFG_61_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_62_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_62_HAS_HOME=false +EDGE_DOMAINCFG_62_HAS_VPN=true +EDGE_DOMAINCFG_62_HAS_ALLOW=false +EDGE_DOMAINCFG_62_HAS_DENY=false +EDGE_DOMAINCFG_62_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_63_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_63_HAS_HOME=false +EDGE_DOMAINCFG_63_HAS_VPN=true +EDGE_DOMAINCFG_63_HAS_ALLOW=false +EDGE_DOMAINCFG_63_HAS_DENY=false +EDGE_DOMAINCFG_63_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_64_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_64_HAS_HOME=true +EDGE_DOMAINCFG_64_HAS_VPN=false +EDGE_DOMAINCFG_64_HAS_ALLOW=false +EDGE_DOMAINCFG_64_HAS_DENY=false +EDGE_DOMAINCFG_64_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_65_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_65_HAS_HOME=true +EDGE_DOMAINCFG_65_HAS_VPN=false +EDGE_DOMAINCFG_65_HAS_ALLOW=false +EDGE_DOMAINCFG_65_HAS_DENY=false +EDGE_DOMAINCFG_65_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_66_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_66_HAS_HOME=true +EDGE_DOMAINCFG_66_HAS_VPN=true +EDGE_DOMAINCFG_66_HAS_ALLOW=false +EDGE_DOMAINCFG_66_HAS_DENY=false +EDGE_DOMAINCFG_66_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_67_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_67_HAS_HOME=true +EDGE_DOMAINCFG_67_HAS_VPN=false +EDGE_DOMAINCFG_67_HAS_ALLOW=false +EDGE_DOMAINCFG_67_HAS_DENY=false +EDGE_DOMAINCFG_67_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_68_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/search/search_index.json +EDGE_DOMAINCFG_68_HAS_HOME=true +EDGE_DOMAINCFG_68_HAS_VPN=true +EDGE_DOMAINCFG_68_HAS_ALLOW=true +EDGE_DOMAINCFG_68_HAS_DENY=true +EDGE_DOMAINCFG_68_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_69_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/index.html +EDGE_DOMAINCFG_69_HAS_HOME=true +EDGE_DOMAINCFG_69_HAS_VPN=false +EDGE_DOMAINCFG_69_HAS_ALLOW=false +EDGE_DOMAINCFG_69_HAS_DENY=false +EDGE_DOMAINCFG_69_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_70_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/domains.csv +EDGE_DOMAINCFG_70_HAS_HOME=true +EDGE_DOMAINCFG_70_HAS_VPN=false +EDGE_DOMAINCFG_70_HAS_ALLOW=false +EDGE_DOMAINCFG_70_HAS_DENY=false +EDGE_DOMAINCFG_70_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_71_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/inventory/ports/index.html +EDGE_DOMAINCFG_71_HAS_HOME=true +EDGE_DOMAINCFG_71_HAS_VPN=false +EDGE_DOMAINCFG_71_HAS_ALLOW=false +EDGE_DOMAINCFG_71_HAS_DENY=false +EDGE_DOMAINCFG_71_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_72_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_72_HAS_HOME=true +EDGE_DOMAINCFG_72_HAS_VPN=false +EDGE_DOMAINCFG_72_HAS_ALLOW=false +EDGE_DOMAINCFG_72_HAS_DENY=false +EDGE_DOMAINCFG_72_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_73_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_73_HAS_HOME=true +EDGE_DOMAINCFG_73_HAS_VPN=false +EDGE_DOMAINCFG_73_HAS_ALLOW=false +EDGE_DOMAINCFG_73_HAS_DENY=false +EDGE_DOMAINCFG_73_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_74_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_74_HAS_HOME=false +EDGE_DOMAINCFG_74_HAS_VPN=true +EDGE_DOMAINCFG_74_HAS_ALLOW=false +EDGE_DOMAINCFG_74_HAS_DENY=false +EDGE_DOMAINCFG_74_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_75_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_75_HAS_HOME=true +EDGE_DOMAINCFG_75_HAS_VPN=true +EDGE_DOMAINCFG_75_HAS_ALLOW=false +EDGE_DOMAINCFG_75_HAS_DENY=false +EDGE_DOMAINCFG_75_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_76_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_76_HAS_HOME=true +EDGE_DOMAINCFG_76_HAS_VPN=false +EDGE_DOMAINCFG_76_HAS_ALLOW=false +EDGE_DOMAINCFG_76_HAS_DENY=false +EDGE_DOMAINCFG_76_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_77_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_77_HAS_HOME=false +EDGE_DOMAINCFG_77_HAS_VPN=true +EDGE_DOMAINCFG_77_HAS_ALLOW=false +EDGE_DOMAINCFG_77_HAS_DENY=false +EDGE_DOMAINCFG_77_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_78_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_78_HAS_HOME=true +EDGE_DOMAINCFG_78_HAS_VPN=false +EDGE_DOMAINCFG_78_HAS_ALLOW=false +EDGE_DOMAINCFG_78_HAS_DENY=false +EDGE_DOMAINCFG_78_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_79_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_79_HAS_HOME=false +EDGE_DOMAINCFG_79_HAS_VPN=true +EDGE_DOMAINCFG_79_HAS_ALLOW=false +EDGE_DOMAINCFG_79_HAS_DENY=false +EDGE_DOMAINCFG_79_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_80_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_80_HAS_HOME=true +EDGE_DOMAINCFG_80_HAS_VPN=true +EDGE_DOMAINCFG_80_HAS_ALLOW=false +EDGE_DOMAINCFG_80_HAS_DENY=false +EDGE_DOMAINCFG_80_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_81_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T021333Z/docs/SERVICES-BOOTSTRAP-20260617/index.html +EDGE_DOMAINCFG_81_HAS_HOME=false +EDGE_DOMAINCFG_81_HAS_VPN=true +EDGE_DOMAINCFG_81_HAS_ALLOW=false +EDGE_DOMAINCFG_81_HAS_DENY=false +EDGE_DOMAINCFG_81_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_82_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certificate-expiry-audit-20260621/index.html +EDGE_DOMAINCFG_82_HAS_HOME=true +EDGE_DOMAINCFG_82_HAS_VPN=false +EDGE_DOMAINCFG_82_HAS_ALLOW=false +EDGE_DOMAINCFG_82_HAS_DENY=false +EDGE_DOMAINCFG_82_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_83_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-prepatch-snapshot-20260621/index.html +EDGE_DOMAINCFG_83_HAS_HOME=true +EDGE_DOMAINCFG_83_HAS_VPN=true +EDGE_DOMAINCFG_83_HAS_ALLOW=false +EDGE_DOMAINCFG_83_HAS_DENY=false +EDGE_DOMAINCFG_83_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_84_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-monitoring-closure-20260621/index.html +EDGE_DOMAINCFG_84_HAS_HOME=true +EDGE_DOMAINCFG_84_HAS_VPN=false +EDGE_DOMAINCFG_84_HAS_ALLOW=false +EDGE_DOMAINCFG_84_HAS_DENY=false +EDGE_DOMAINCFG_84_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_85_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-post-ui-final-closure-20260621/index.html +EDGE_DOMAINCFG_85_HAS_HOME=true +EDGE_DOMAINCFG_85_HAS_VPN=false +EDGE_DOMAINCFG_85_HAS_ALLOW=false +EDGE_DOMAINCFG_85_HAS_DENY=false +EDGE_DOMAINCFG_85_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_86_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-services-full-npmplus-visibility-patch-20260621/index.html +EDGE_DOMAINCFG_86_HAS_HOME=true +EDGE_DOMAINCFG_86_HAS_VPN=true +EDGE_DOMAINCFG_86_HAS_ALLOW=false +EDGE_DOMAINCFG_86_HAS_DENY=false +EDGE_DOMAINCFG_86_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_87_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homelab-service-visibility-strict-audit-20260621/index.html +EDGE_DOMAINCFG_87_HAS_HOME=true +EDGE_DOMAINCFG_87_HAS_VPN=true +EDGE_DOMAINCFG_87_HAS_ALLOW=false +EDGE_DOMAINCFG_87_HAS_DENY=false +EDGE_DOMAINCFG_87_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_88_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-and-homepage-hostvalidation-fix-20260623/index.html +EDGE_DOMAINCFG_88_HAS_HOME=false +EDGE_DOMAINCFG_88_HAS_VPN=true +EDGE_DOMAINCFG_88_HAS_ALLOW=false +EDGE_DOMAINCFG_88_HAS_DENY=false +EDGE_DOMAINCFG_88_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_89_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-all-runtime-services-visible-patch-20260621/index.html +EDGE_DOMAINCFG_89_HAS_HOME=true +EDGE_DOMAINCFG_89_HAS_VPN=true +EDGE_DOMAINCFG_89_HAS_ALLOW=false +EDGE_DOMAINCFG_89_HAS_DENY=false +EDGE_DOMAINCFG_89_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_90_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-runtime-full-visibility-final-closure-20260621/index.html +EDGE_DOMAINCFG_90_HAS_HOME=true +EDGE_DOMAINCFG_90_HAS_VPN=true +EDGE_DOMAINCFG_90_HAS_ALLOW=false +EDGE_DOMAINCFG_90_HAS_DENY=false +EDGE_DOMAINCFG_90_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_91_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-fix-schema-preflight-20260621/index.html +EDGE_DOMAINCFG_91_HAS_HOME=true +EDGE_DOMAINCFG_91_HAS_VPN=false +EDGE_DOMAINCFG_91_HAS_ALLOW=false +EDGE_DOMAINCFG_91_HAS_DENY=false +EDGE_DOMAINCFG_91_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_92_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-alias-cards-patch-20260622/index.html +EDGE_DOMAINCFG_92_HAS_HOME=false +EDGE_DOMAINCFG_92_HAS_VPN=true +EDGE_DOMAINCFG_92_HAS_ALLOW=false +EDGE_DOMAINCFG_92_HAS_DENY=false +EDGE_DOMAINCFG_92_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_93_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/vpn-domain-route-recovery-v2-20260623/index.html +EDGE_DOMAINCFG_93_HAS_HOME=false +EDGE_DOMAINCFG_93_HAS_VPN=true +EDGE_DOMAINCFG_93_HAS_ALLOW=false +EDGE_DOMAINCFG_93_HAS_DENY=false +EDGE_DOMAINCFG_93_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_94_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-1-retry-20260622/index.html +EDGE_DOMAINCFG_94_HAS_HOME=false +EDGE_DOMAINCFG_94_HAS_VPN=true +EDGE_DOMAINCFG_94_HAS_ALLOW=false +EDGE_DOMAINCFG_94_HAS_DENY=false +EDGE_DOMAINCFG_94_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_95_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-warning-checker-patch-20260621/index.html +EDGE_DOMAINCFG_95_HAS_HOME=true +EDGE_DOMAINCFG_95_HAS_VPN=false +EDGE_DOMAINCFG_95_HAS_ALLOW=false +EDGE_DOMAINCFG_95_HAS_DENY=false +EDGE_DOMAINCFG_95_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_96_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-public-dns-blocker-audit-20260621/index.html +EDGE_DOMAINCFG_96_HAS_HOME=true +EDGE_DOMAINCFG_96_HAS_VPN=false +EDGE_DOMAINCFG_96_HAS_ALLOW=false +EDGE_DOMAINCFG_96_HAS_DENY=false +EDGE_DOMAINCFG_96_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_97_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/cloudflare-remaining-token-post-revoke-check-20260622/index.html +EDGE_DOMAINCFG_97_HAS_HOME=false +EDGE_DOMAINCFG_97_HAS_VPN=true +EDGE_DOMAINCFG_97_HAS_ALLOW=false +EDGE_DOMAINCFG_97_HAS_DENY=false +EDGE_DOMAINCFG_97_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_98_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-certbot-path-layout-preflight-20260621/index.html +EDGE_DOMAINCFG_98_HAS_HOME=true +EDGE_DOMAINCFG_98_HAS_VPN=false +EDGE_DOMAINCFG_98_HAS_ALLOW=false +EDGE_DOMAINCFG_98_HAS_DENY=false +EDGE_DOMAINCFG_98_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_99_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-clickability-grouping-audit-20260621/index.html +EDGE_DOMAINCFG_99_HAS_HOME=true +EDGE_DOMAINCFG_99_HAS_VPN=true +EDGE_DOMAINCFG_99_HAS_ALLOW=false +EDGE_DOMAINCFG_99_HAS_DENY=false +EDGE_DOMAINCFG_99_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_100_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-vpn-dns-wildcard-patch-20260621/index.html +EDGE_DOMAINCFG_100_HAS_HOME=false +EDGE_DOMAINCFG_100_HAS_VPN=true +EDGE_DOMAINCFG_100_HAS_ALLOW=false +EDGE_DOMAINCFG_100_HAS_DENY=false +EDGE_DOMAINCFG_100_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_101_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-checker-prepatch-inspect-20260621/index.html +EDGE_DOMAINCFG_101_HAS_HOME=true +EDGE_DOMAINCFG_101_HAS_VPN=false +EDGE_DOMAINCFG_101_HAS_ALLOW=false +EDGE_DOMAINCFG_101_HAS_DENY=false +EDGE_DOMAINCFG_101_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_102_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/post-revoke-final-docs-runtime-closure-20260622/index.html +EDGE_DOMAINCFG_102_HAS_HOME=false +EDGE_DOMAINCFG_102_HAS_VPN=true +EDGE_DOMAINCFG_102_HAS_ALLOW=false +EDGE_DOMAINCFG_102_HAS_DENY=false +EDGE_DOMAINCFG_102_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_103_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-vpn-route-batch-2-20260622/index.html +EDGE_DOMAINCFG_103_HAS_HOME=false +EDGE_DOMAINCFG_103_HAS_VPN=true +EDGE_DOMAINCFG_103_HAS_ALLOW=false +EDGE_DOMAINCFG_103_HAS_DENY=false +EDGE_DOMAINCFG_103_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_104_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-grouping-href-patch-20260622/index.html +EDGE_DOMAINCFG_104_HAS_HOME=true +EDGE_DOMAINCFG_104_HAS_VPN=false +EDGE_DOMAINCFG_104_HAS_ALLOW=false +EDGE_DOMAINCFG_104_HAS_DENY=false +EDGE_DOMAINCFG_104_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_105_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-zero-cert-routes-strict-tls-audit-20260621/index.html +EDGE_DOMAINCFG_105_HAS_HOME=true +EDGE_DOMAINCFG_105_HAS_VPN=false +EDGE_DOMAINCFG_105_HAS_ALLOW=false +EDGE_DOMAINCFG_105_HAS_DENY=false +EDGE_DOMAINCFG_105_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_106_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/homepage-full-visibility-closure-rescan-fixed-20260621/index.html +EDGE_DOMAINCFG_106_HAS_HOME=true +EDGE_DOMAINCFG_106_HAS_VPN=true +EDGE_DOMAINCFG_106_HAS_ALLOW=false +EDGE_DOMAINCFG_106_HAS_DENY=false +EDGE_DOMAINCFG_106_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_107_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/reports/npmplus-production-update-20260619/index.html +EDGE_DOMAINCFG_107_HAS_HOME=true +EDGE_DOMAINCFG_107_HAS_VPN=false +EDGE_DOMAINCFG_107_HAS_ALLOW=false +EDGE_DOMAINCFG_107_HAS_DENY=false +EDGE_DOMAINCFG_107_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_108_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/search/search_index.json +EDGE_DOMAINCFG_108_HAS_HOME=true +EDGE_DOMAINCFG_108_HAS_VPN=true +EDGE_DOMAINCFG_108_HAS_ALLOW=true +EDGE_DOMAINCFG_108_HAS_DENY=true +EDGE_DOMAINCFG_108_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_109_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/index.html +EDGE_DOMAINCFG_109_HAS_HOME=true +EDGE_DOMAINCFG_109_HAS_VPN=false +EDGE_DOMAINCFG_109_HAS_ALLOW=false +EDGE_DOMAINCFG_109_HAS_DENY=false +EDGE_DOMAINCFG_109_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_110_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/domains.csv +EDGE_DOMAINCFG_110_HAS_HOME=true +EDGE_DOMAINCFG_110_HAS_VPN=false +EDGE_DOMAINCFG_110_HAS_ALLOW=false +EDGE_DOMAINCFG_110_HAS_DENY=false +EDGE_DOMAINCFG_110_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_111_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/inventory/ports/index.html +EDGE_DOMAINCFG_111_HAS_HOME=true +EDGE_DOMAINCFG_111_HAS_VPN=false +EDGE_DOMAINCFG_111_HAS_ALLOW=false +EDGE_DOMAINCFG_111_HAS_DENY=false +EDGE_DOMAINCFG_111_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_112_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/01-add-new-service/index.html +EDGE_DOMAINCFG_112_HAS_HOME=true +EDGE_DOMAINCFG_112_HAS_VPN=false +EDGE_DOMAINCFG_112_HAS_ALLOW=false +EDGE_DOMAINCFG_112_HAS_DENY=false +EDGE_DOMAINCFG_112_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_113_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/runbooks/00-restore-from-zero-for-beginners/index.html +EDGE_DOMAINCFG_113_HAS_HOME=true +EDGE_DOMAINCFG_113_HAS_VPN=false +EDGE_DOMAINCFG_113_HAS_ALLOW=false +EDGE_DOMAINCFG_113_HAS_DENY=false +EDGE_DOMAINCFG_113_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_114_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618/index.html +EDGE_DOMAINCFG_114_HAS_HOME=false +EDGE_DOMAINCFG_114_HAS_VPN=true +EDGE_DOMAINCFG_114_HAS_ALLOW=false +EDGE_DOMAINCFG_114_HAS_DENY=false +EDGE_DOMAINCFG_114_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_115_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/99-current-state-summary/index.html +EDGE_DOMAINCFG_115_HAS_HOME=true +EDGE_DOMAINCFG_115_HAS_VPN=true +EDGE_DOMAINCFG_115_HAS_ALLOW=false +EDGE_DOMAINCFG_115_HAS_DENY=false +EDGE_DOMAINCFG_115_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_116_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/05-service-catalog/index.html +EDGE_DOMAINCFG_116_HAS_HOME=true +EDGE_DOMAINCFG_116_HAS_VPN=false +EDGE_DOMAINCFG_116_HAS_ALLOW=false +EDGE_DOMAINCFG_116_HAS_DENY=false +EDGE_DOMAINCFG_116_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_117_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/HANDOFF-20260618-authentik-npmplus/index.html +EDGE_DOMAINCFG_117_HAS_HOME=false +EDGE_DOMAINCFG_117_HAS_VPN=true +EDGE_DOMAINCFG_117_HAS_ALLOW=false +EDGE_DOMAINCFG_117_HAS_DENY=false +EDGE_DOMAINCFG_117_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_118_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/06-certificates-troubleshooting/index.html +EDGE_DOMAINCFG_118_HAS_HOME=true +EDGE_DOMAINCFG_118_HAS_VPN=false +EDGE_DOMAINCFG_118_HAS_ALLOW=false +EDGE_DOMAINCFG_118_HAS_DENY=false +EDGE_DOMAINCFG_118_HAS_AUTH_REQUEST=false +EDGE_DOMAINCFG_119_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/ERRORS-LESSONS-20260618/index.html +EDGE_DOMAINCFG_119_HAS_HOME=false +EDGE_DOMAINCFG_119_HAS_VPN=true +EDGE_DOMAINCFG_119_HAS_ALLOW=false +EDGE_DOMAINCFG_119_HAS_DENY=false +EDGE_DOMAINCFG_119_HAS_AUTH_REQUEST=true +EDGE_DOMAINCFG_120_PATH=/opt/stacks/mkdocs/site.prev-runtime-20260623T023348Z/docs/service-url-catalog/index.html +EDGE_DOMAINCFG_120_HAS_HOME=true +EDGE_DOMAINCFG_120_HAS_VPN=true +EDGE_DOMAINCFG_120_HAS_ALLOW=false +EDGE_DOMAINCFG_120_HAS_DENY=false +EDGE_DOMAINCFG_120_HAS_AUTH_REQUEST=false +EDGE_PROXY_CONTAINER_COUNT=1 +EDGE_PROXY_DB_CANDIDATE_COUNT=1 +EDGE_PROXY_DB_SELECTED=true +EDGE_PROXY_DB_PATH_SHA=36a7644962bc77f6f2ab31bf092004ded1daf0d1eb4421ac479f92a54b4c4c60 +EDGE_PROXY_MATCH_COUNT=2 +EDGE_PROXY_1_ID=8 +EDGE_PROXY_1_DOMAINS=["home.gram1.ru"] +EDGE_PROXY_1_FORWARD_SCHEME=http +EDGE_PROXY_1_FORWARD_HOST_CLASS=private +EDGE_PROXY_1_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0 +EDGE_PROXY_1_FORWARD_PORT=3000 +EDGE_PROXY_1_ACCESS_LIST_ID=1 +EDGE_PROXY_1_SSL_FORCED=1 +EDGE_PROXY_1_ENABLED=1 +EDGE_PROXY_1_ADV_HAS_ALLOW=false +EDGE_PROXY_1_ADV_HAS_DENY=false +EDGE_PROXY_1_ADV_HAS_AUTH=false +EDGE_PROXY_1_BACKEND_HTTP=200 +EDGE_PROXY_2_ID=17 +EDGE_PROXY_2_DOMAINS=["homepage.vpn.gram1.ru"] +EDGE_PROXY_2_FORWARD_SCHEME=http +EDGE_PROXY_2_FORWARD_HOST_CLASS=private +EDGE_PROXY_2_FORWARD_HOST_SHA=3eb2319e39eac307b3c7bd11f67663c0a0c814fd603989f5965083f9d1c80fb0 +EDGE_PROXY_2_FORWARD_PORT=3000 +EDGE_PROXY_2_ACCESS_LIST_ID=1 +EDGE_PROXY_2_SSL_FORCED=1 +EDGE_PROXY_2_ENABLED=1 +EDGE_PROXY_2_ADV_HAS_ALLOW=false +EDGE_PROXY_2_ADV_HAS_DENY=false +EDGE_PROXY_2_ADV_HAS_AUTH=false +EDGE_PROXY_2_BACKEND_HTTP=200 +EDGE_USED_ACL_COUNT=1 +EDGE_ACL_1_ID=1 +EDGE_ACL_1_NAME=LAN only +EDGE_ACL_1_SATISFY_ANY=0 +EDGE_ACL_1_PASS_AUTH=0 +EDGE_ACL_1_RULE_COUNT=4 +EDGE_ACL_1_RULE_1_CLASS=private +EDGE_ACL_1_RULE_1_SHA=3bc5d8aba5c1426425a0ad3770bf77782d3f16a12d4455ad3d3a7ce324a5910a +EDGE_ACL_1_RULE_1_DIRECTIVE=allow +EDGE_ACL_1_RULE_2_CLASS=private +EDGE_ACL_1_RULE_2_SHA=d01a825c13311b46a70c53405baab8c9aab1ceda5076cf56ef86d1d8c8673f5a +EDGE_ACL_1_RULE_2_DIRECTIVE=allow +EDGE_ACL_1_RULE_3_CLASS=private +EDGE_ACL_1_RULE_3_SHA=783712746109b3d66507177fc2ac066b768aac772e5c9d7f20b28f4c7b5ef641 +EDGE_ACL_1_RULE_3_DIRECTIVE=allow +EDGE_ACL_1_RULE_4_CLASS=private +EDGE_ACL_1_RULE_4_SHA=9422ac7ba7ba4ebf2d71db387c71b97ed1709669d2d2e55408128148cfae4daf +EDGE_ACL_1_RULE_4_DIRECTIVE=allow +EDGE_RECENT_403_COUNT=0 +SOURCE_1_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_1_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-backup:53: echo "NETBIRD_ACTIVE=$(systemctl is-active netbird 2>/dev/null || true)" +SOURCE_2_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_2_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:197: facts["netbird_route"] = route +SOURCE_3_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_3_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:199: problems.append("netbird_route_not_wt0") +SOURCE_4_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_4_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f"- NetBird route: {facts.get('netbird_route')}", +SOURCE_5_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_5_LINE=tests/test_cr_2026_0005.py:33: for forbidden in ("paperless", "netbird", "vm160", "pve02", "pve03", "cluster/backup"): +SOURCE_6_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_6_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-status:51:section "EDGE-VM: монитор, NetBird и расширения" +SOURCE_7_REPO_SHA=d8c882972d5d8aca9fdfa610a6ca2c73dd33459baa509ac09193a55cfc7426cc +SOURCE_7_LINE=tasks/skladchik-reports-monitor-controlled-reauth-v1/assets/pve01/skladchik-reports-monitor-supervisor:290: f"- NetBird route: {facts.get('netbird_route')}", +SOURCE_8_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_8_LINE=.gitea/workflows/validate-kb.yml:59: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_9_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_9_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_10_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_10_LINE=kb/lessons/known_failures.json:423: "netbird", +SOURCE_11_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_11_LINE=kb/lessons/known_failures_public.json:247: "netbird", +SOURCE_12_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_12_LINE=kb/private/access.json:88: "id": "new_usa_netbird", +SOURCE_13_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_13_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service` +SOURCE_14_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_14_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z` +SOURCE_15_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_15_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH] +SOURCE_16_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_16_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: "netbird": "[IP_REDACTED]", +SOURCE_17_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_17_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: "netbird": "[IP_REDACTED]", +SOURCE_18_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_18_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: "netbird": "[IP_REDACTED]", +SOURCE_19_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_19_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: "netbird.service", +SOURCE_20_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_20_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: "netbird.service", +SOURCE_21_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_21_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: "skladchik-ct200-netbird-egress.service", +SOURCE_22_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_22_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: "udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=38)) ", +SOURCE_23_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_23_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: "udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=27)) ", +SOURCE_24_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_24_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: "tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=39)) ", +SOURCE_25_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_25_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird: +SOURCE_26_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_26_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: "[IP_REDACTED]" +SOURCE_27_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_27_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED +SOURCE_28_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_28_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate. +SOURCE_29_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_29_LINE=deploy/homelab-command-stack/payload/homelab-command-portal:651:

Ссылка одноразовая и уже привязана к этому NetBird-адресу.

+SOURCE_30_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_30_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`. +SOURCE_31_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_31_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket. +SOURCE_32_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_32_LINE=docs/superpowers/specs/2026-08-31-cr0103-command-stack-boot-readiness-design.md:92:- change NetBird configuration; +SOURCE_33_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_33_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`. +SOURCE_34_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_34_LINE=kb/AI_CONTEXT.md:30:## NetBird migration +SOURCE_35_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_35_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0. +SOURCE_36_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_36_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates. +SOURCE_37_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_37_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains. +SOURCE_38_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_38_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies. +SOURCE_39_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_39_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening). +SOURCE_40_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_40_LINE=kb/inventory/guests.json:59: "role": "edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services", +SOURCE_41_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_41_LINE=kb/lessons/known_failures.json:430: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_42_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_42_LINE=kb/lessons/known_failures_public.json:250: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_43_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_43_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails; +SOURCE_44_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_44_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS. +SOURCE_45_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_45_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`. +SOURCE_46_REPO_SHA=58c56c4f28c229efb3ca4d09891e4070e176e047f78342121c8b9ce639a4291a +SOURCE_46_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production +SOURCE_47_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_47_LINE=.gitea/workflows/validate-kb.yml:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_48_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_48_LINE=kb/integration/validate-kb.yml.template:31: python3 kb/scripts/command_guard.py --target netbird-0.73.2 --command 'curl -f http://[IP_REDACTED]:9000/health' && exit 1 || test $? -eq 2 +SOURCE_49_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_49_LINE=kb/lessons/known_failures.json:423: "netbird", +SOURCE_50_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_50_LINE=kb/lessons/known_failures_public.json:247: "netbird", +SOURCE_51_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_51_LINE=kb/private/access.json:88: "id": "new_usa_netbird", +SOURCE_52_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_52_LINE=kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md:104:- `netbird.service` +SOURCE_53_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_53_LINE=kb/private/archive/2026-08-19/docs/20_NETBIRD_USA_MIGRATION_2026-08-18.md:66:`/root/netbird-cutover-20260818T145807Z` +SOURCE_54_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_54_LINE=kb/private/archive/2026-08-19/docs/27_SECURITY_ACCESS_CURRENT_DELTA_2026-08-19.md:6:`[SENSITIVE_PATH] +SOURCE_55_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_55_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:15: "netbird": "[IP_REDACTED]", +SOURCE_56_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_56_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:25: "netbird": "[IP_REDACTED]", +SOURCE_57_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_57_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:36: "netbird": "[IP_REDACTED]", +SOURCE_58_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_58_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:463: "netbird.service", +SOURCE_59_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_59_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:682: "netbird.service", +SOURCE_60_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_60_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:686: "skladchik-ct200-netbird-egress.service", +SOURCE_61_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_61_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:771: "udp UNCONN 0 0 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=38)) ", +SOURCE_62_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_62_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:776: "udp UNCONN 0 0 [IP_REDACTED]:3128 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=27)) ", +SOURCE_63_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_63_LINE=kb/private/archive/2026-08-19/machine/cluster_inventory.json:819: "tcp LISTEN 0 4096 [IP_REDACTED]:53 [IP_REDACTED]:* users:((\"netbird\",pid=705,fd=39)) ", +SOURCE_64_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_64_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:40:netbird: +SOURCE_65_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_65_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:53: old_secondary_netbird_ipv4: "[IP_REDACTED]" +SOURCE_66_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_66_LINE=kb/private/archive/2026-08-19/machine/current_state.yaml:54: netbird_server: STOPPED +SOURCE_67_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_67_LINE=KB_START_HERE.md:27:- Не считать NetBird 0.73.2 `/api/health` или `:9000/health` обязательным readiness gate. +SOURCE_68_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_68_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:18:- NetBird service must be `active`. +SOURCE_69_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_69_LINE=docs/MAIL-PVEPRO-DR-OBSERVER-CONTRACT-2026-08-17.md:72:This document supersedes older observer assumptions that require `nc.gram1.ru` or Nextcloud availability. It does not change Mailcow, NetBird routing, Gotify, firewall policy, or Snikket. +SOURCE_70_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_70_LINE=kb/AI_CONTEXT.md:15:- pve01 `[IP_REDACTED]`, operator historical NetBird path `root@[IP_REDACTED]`, MobaXterm key label `eddsa-key-20260617`. +SOURCE_71_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_71_LINE=kb/AI_CONTEXT.md:30:## NetBird migration +SOURCE_72_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_72_LINE=kb/AI_CONTEXT.md:32:Production NetBird is new USA `[IP_REDACTED]`, Debian 12, hostname `nb2`, NetBird `0.73.2`. Exact deployment caveat: `/api/health` = 404 and combined `:9000/health` = 503; these are not generic readiness gates for this deployment. Old USA `[IP_REDACTED]` has Mailcow/NetBird server stopped and observer disabled, but remains in rollback window. Permanent new-USA operator SSH hardening is still P0. +SOURCE_73_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_73_LINE=kb/AI_CONTEXT_PUBLIC.md:20:- New USA is current NetBird production on version 0.73.2. Its historical `/api/health` and combined `:9000/health` responses are not valid generic readiness gates. +SOURCE_74_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_74_LINE=kb/current/01_CURRENT_STATE.md:12:- old Mailcow/old NetBird server architecture is retired from production; rollback window remains. +SOURCE_75_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_75_LINE=kb/current/04_P0_NEXT.md:5:3. Canonical post-migration CR including NetBird new USA, Postbox/Null MX, Moldova V3/Gotify, old-USA retirement window and dependencies. +SOURCE_76_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_76_LINE=kb/current/04_P0_NEXT.md:12:Do not mix unrelated changes into these gates (e.g. NetBird version upgrade/hostname change during SSH hardening). +SOURCE_77_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_77_LINE=kb/inventory/guests.json:59: "role": "edge-vm: домашний ingress/NPMplus, NetBird/WireGuard, edge observability/backup services", +SOURCE_78_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_78_LINE=kb/lessons/known_failures.json:430: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_79_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_79_LINE=kb/lessons/known_failures_public.json:250: "incident": "On exact NetBird 0.73.2 deployment /api/health returned 404 and combined :9000/health returned 503; first rollback was triggered by assuming those were mandatory readiness.", +SOURCE_80_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_80_LINE=kb/private/archive/2026-08-19/README_FIRST.md:11:- добавлены NetBird/Mailcow/Postbox/Moldova/AlexHost/forum tails; +SOURCE_81_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_81_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:16:6. SSH-hardening нового USA NetBird VPS. +SOURCE_82_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_82_LINE=kb/private/archive/2026-08-19/docs/00_START_HERE.md:24:- NetBird production перенесён на `[IP_REDACTED]`. +SOURCE_83_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_83_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:183:## 6. New USA NetBird production +SOURCE_84_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_84_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:211:- NetBird server SHA `efa4e50dbc556ccd7bdc5b0d977ff29fe21bdee3b7e312cba6e3fa53bbeec60b` +SOURCE_85_REPO_SHA=2a829b2765d95641aac83ee239582027e35fb801358950022c180f08f6b3d9bb +SOURCE_85_LINE=kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md:215:NetBird server: +SOURCE_86_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_86_LINE=README.md:9:- Homepage: https://home.gram1.ru +SOURCE_87_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_87_LINE=README.md:53:- https://home.gram1.ru +SOURCE_88_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_88_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru +SOURCE_89_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_89_LINE=configs/sanitized/edge-vm/homepage-services.yaml:3: href: https://home.gram1.ru +SOURCE_90_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_90_LINE=docs/05-service-catalog.md:67:- Domain: https://home.gram1.ru +SOURCE_91_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_91_LINE=docs/06-certificates-troubleshooting.md:62:Observed with home.gram1.ru and git.gram1.ru before certificate completion. +SOURCE_92_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_92_LINE=docs/06-certificates-troubleshooting.md:96:- home.gram1.ru: Lets Encrypt via Cloudflare DNS challenge. +SOURCE_93_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_93_LINE=docs/99-current-state-summary.md:113:- URL: https://home.gram1.ru +SOURCE_94_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_94_LINE=docs/99-current-state-summary.md:147:- https://home.gram1.ru +SOURCE_95_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_95_LINE=docs/operations/p0-healthchecks-restore-proof-preflight-20260624T190801Z.md:65:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_96_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_96_LINE=docs/operations/p0-restore-drill-matrix-edge-index-20260624T183747Z.md:112:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_97_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_97_LINE=docs/operations/p0-restore-drill-matrix-quality-offhost-20260624T183931Z.md:126:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_98_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_98_LINE=docs/operations/p0-vikunja-restore-proof-preflight-20260624T191408Z.md:63:id=16 active=1 interval=300 type=http name=Homepage HTTPS target=https://home.gram1.ru +SOURCE_99_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_99_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.json:123: "home.gram1.ru" +SOURCE_100_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_100_LINE=docs/operations/p1-exposure-matrix-npmplus-route-inventory-20260625T212426Z.md:34:| 8 | public_or_unknown | home.gram1.ru | yes | http | [IP_REDACTED]:3000 | present | 8 | +SOURCE_101_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_101_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:103: "domain": "home.gram1.ru", +SOURCE_102_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_102_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.json:105: "home.gram1.ru" +SOURCE_103_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_103_LINE=docs/operations/p1-exposure-ownership-matrix-20260625T212704Z.md:39:| 8 | home.gram1.ru | public-domain | homepage | edge-local | http://[IP_REDACTED]:3000 | yes | present | OK_PUBLIC_INTENTIONAL | keep_monitoring | +SOURCE_104_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_104_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.json:905: "domain": "home.gram1.ru", +SOURCE_105_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_105_LINE=docs/operations/p2-dependency-risk-classification-20260625T221747Z.md:68:| 8 | home.gram1.ru | http://[IP_REDACTED]:3000 | homepage | PUBLIC_OR_UNKNOWN_ROUTE, ACCESS_HINT_REVIEW | +SOURCE_106_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_106_LINE=configs/sanitized/edge-vm/homepage-compose.yaml:9: HOMEPAGE_ALLOWED_HOSTS: home.gram1.ru,homepage.vpn.gram1.ru +SOURCE_107_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_107_LINE=configs/sanitized/edge-vm/homepage-services.yaml:7: href: https://homepage.vpn.gram1.ru +SOURCE_108_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_108_LINE=docs/99-current-state-summary.md:2333:- `homepage.vpn.gram1.ru`: HTTP `200` +SOURCE_109_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_109_LINE=docs/ERRORS-LESSONS-20260618.md:61:Correct value: only https://homepage.vpn.gram1.ru. +SOURCE_110_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_110_LINE=docs/ERRORS-LESSONS-20260618.md:108:Correction: use local direct Authentik outpost checks with homepage.vpn.gram1.ru forwarded headers before enabling NPMplus auth. Do not require the public auth.vpn outpost auth endpoint to match the Homepage provider. +SOURCE_111_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_111_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:11:homepage.vpn.gram1.ru proxy id 17 cert id 32 access 1 ssl forced +SOURCE_112_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_112_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:33:Launch URL: https://homepage.vpn.gram1.ru +SOURCE_113_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_113_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:42:Only after provider and outpost verification, enable npmplus_auth_request authentik for homepage.vpn.gram1.ru. Keep rollback ready by setting it back to none. +SOURCE_114_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_114_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:54:The public check through auth.vpn.gram1.ru returned 404 for /outpost.goauthentik.io/auth/nginx, while the local direct outpost check for homepage.vpn.gram1.ru returned a valid auth response. Treat the public auth.vpn auth endpoint as a wrong validation path for Homepage. Next safe step: enable npmplus_auth_request=authentik only for homepage proxy id 17 with rollback ready. +SOURCE_115_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_115_LINE=docs/HANDOFF-20260618-authentik-npmplus.md:73:host: homepage.vpn.gram1.ru +SOURCE_116_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_116_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:22:homepage.vpn.gram1.ru -> [IP_REDACTED] -> NPMplus -> [IP_REDACTED]:3000 +SOURCE_117_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_117_LINE=docs/RUNBOOK-PRIVATE-VPN-HOSTS-20260618.md:55:EDGE_HOST=edge-vm;DOCKER_IMAGES=actual-budget=actualbudget/actual-server:latest;authentik-postgresql-1=postgres:16-alpine;authentik-server-1=ghcr.io/goauthentik/server:2026.5.3;authentik-worker-1=ghcr.io/goauthentik/server:2026.5.3;beszel=henrygd/beszel:latest;crowdsec=crowdsecurity/crowdsec:latest;dockge=louislam/dockge:1;dozzle=amir20/dozzle:latest;filebrowser=filebrowser/filebrowser:latest;gitea=docker.gitea.com/gitea:1.26.2;gotify=gotify/server:latest;grafana=grafana/grafana:latest;homeassistant=ghcr.io/home-assistant/home-assistant:stable;homebox=ghcr.io/sysadminsmedia/homebox:latest-rootless;homepage=ghcr.io/gethomepage/homepage:latest;immi +SOURCE_118_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_118_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:208:homepage.vpn.gram1.ru -> [IP_REDACTED] -> [IP_REDACTED]:3000 +SOURCE_119_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_119_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:216:BINDING= - NPM_IPV4_BINDING=[IP_REDACTED]; - IPV4_BINDING=[IP_REDACTED];;ACCESS=5|access_list_id=1|address=[IP_REDACTED]|directive=allow;6|access_list_id=1|address=[IP_REDACTED]|directive=allow;7|access_list_id=1|address=[IP_REDACTED]|directive=allow;8|access_list_id=1|address=[IP_REDACTED]|directive=allow;;PROXIES=16|["kuma.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3001|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;17|["homepage.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3000|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;18|["gitea.vpn.gram1.ru"]|forward=http://[IP_REDACTED]:3002|cert=32|access=1|enabled=1|ssl_forced=1|hsts=0;19|["fileb +SOURCE_120_REPO_SHA=bda448179d6d1f16a6340a95e7cf3b4f963deeb55630695f814993ac8c8ff65e +SOURCE_120_LINE=docs/SERVICES-BOOTSTRAP-20260617.md:222:kuma.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=302|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;homepage.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;gitea.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=issuer=C=US, O=Let's Encrypt, CN=YE2;notAfter=Sep 15 20:18:29 2026 GMT;X509v3 Subject Alternative Name: ; DNS:*.vpn.gram1.ru, DNS:vpn.gram1.ru;;filebrowser.vpn.gram1.ru|DNS=[IP_REDACTED]|HTTPS=200|CERT=iss +SOURCE_MATCH_COUNT=120 +PVE01_NETBIRD_UNIT_MATCH_COUNT=3 +PVE01_NETBIRD_PRESENT=true +PVE01_NETBIRD_STATUS_SHA=0cf182820b4c45584910a7a7b5bff12370f80c8707f9104557b0a61e643bbf11 +PVE01_NETBIRD_CONNECTED_HINT=true +NEW_PC_NETBIRD_MISSING=true +NEW_PC_NETBIRD_NOT_RUNNING=false +NEW_PC_NETBIRD_NOT_CONNECTED=false +NEW_PC_HOME_DNS_MISSING=true +NEW_PC_HOME_PRIVATE_DNS_PRESENT=false +NEW_PC_HOME_HTTPS_WORKING=false +REPAIR_CLASS=REPAIR_NEW_PC_NETBIRD_INSTALL +DECISION=ANALYZE_HOME_GRAM1_EDGE_VPN_DNS +NEXT_GATE=HOME_GRAM1_NEW_PC_TARGETED_REPAIR +TASK_RESULT=HOME_GRAM1_EDGE_VPN_DNS_RCA +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION OUTPUT_END CHAT_OUTPUT_END