1
0
Files
homelab-public-context/runtime/latest.json
T
2026-09-08 14:24:00 +00:00

39 lines
28 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "NEWFI-260908-A-STAGINGEDGE-CANONICAL-PREFLIGHT20",
"status": "FAIL",
"rc": 1,
"host": "pve01",
"mode": "read-only",
"component": "newfi-stagingedge-canonical-clusterwide-preflight-readonly",
"started_at_utc": "2026-09-08T14:23:53Z",
"finished_at_utc": "2026-09-08T14:24:00Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "0a0becc5eda238d51524e3bacbc4c4fe9eb94d9f3f1d4b3464b5eb6bb5e69a8c",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 1,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "a82c164500f89dca157a858c297090d00269ab75f4aefb0e535bc505cbd7dcea",
"sanitized_output_sha256": "a82c164500f89dca157a858c297090d00269ab75f4aefb0e535bc505cbd7dcea",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "PREFLIGHT20_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-CANONICAL-PREFLIGHT20\nMODE=read-only\nMUTATIONS_PERFORMED=NO\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nRUNNER_SHA_MATCH=true\nTRUSTED_EDGEVM_MARKER=true\nPUBLIC_VPS_REJECT_MARKER=true\nCANONICAL_LIVE_USER_COUNT=1\nCANONICAL_LIVE_USERS=debian\nPOST_REBOOT_USER_CONFIRM=true\nCANONICAL_USER_PROOF=true\nVM211_CLUSTER_RESOURCES_RC=0\nVM211_CLUSTER_MATCH_COUNT=1\nVM211_NODE=pve03\nVM211_CLUSTER_NAME=newfi-staging\nVM211_CLUSTER_STATUS=running\nVM211_STATUS_API_RC=0\nVM211_STATUS_API_RUNNING=true\nVM211_CONFIG_API_RC=0\nVM211_CONFIG_NAME=newfi-staging\nVM211_AGENT_CONFIG_PRESENT=true\nVM211_QGA_NET_API_RC=0\nVM211_QGA_PRIVATE_IPV4_COUNT=1\nVM211_BACKEND_503_MATCH_COUNT=1\nVM211_IP_UNIQUE=true\nVM211_IP_SHA256=52051fb856fa9ba24a7bae92f1580040b1fd6a37785e6e16bf317214ae7bc4b5\nVM211_LIVE_IDENTITY_OK=true\nNETBIRD_STATUS_JSON_RC=0\nNETBIRD_STATUS_DETAIL_RC=0\nEDGEVM_OVERLAY_IP_COUNT=1\nEDGEVM_OVERLAY_IP_UNIQUE=true\nEDGEVM_IP_SHA256=5649415146501fa3dc7b2e08f469ef80b6b04e46b86079acd21229eb875e9440\nEDGEVM_KNOWN_HOST_RC=0\nEDGEVM_KEYSCAN_RC=0\nEDGEVM_HOSTKEY_MATCH=true\nEDGEVM_HOSTKEY_ALGS=ssh-ed25519\nEDGEVM_SUDO_RC=0\nREMOTE_TRANSPORT_RC=0\nREMOTE_TRANSPORT_OK=true\nOUTER_CANONICAL_GATE=true\nREMOTE_CANONICAL_RC=0\nREMOTE_CANONICAL_JSON={\"euid\":0,\"mutations_performed\":\"NO\",\"docker_ps_rc\":0,\"npmplus_row_count\":1,\"npmplus_image\":\"zoeyvid/npmplus:2026-06-17-b1\",\"npmplus_status\":\"Up 11 days (healthy)\",\"npmplus_healthy\":true,\"docker_inspect_rc\":0,\"data_mount_count\":1,\"data_source_sha256\":\"ec0ac67820f886335dce34c42ff129b582df373f1e5de2ed20957546cc9dc92d\",\"proxy_dir_exists\":true,\"container_nginx_path\":\"/usr/local/nginx/sbin/nginx\",\"nginx_test_rc\":0,\"proxy_conf_count\":36,\"staging_route_hit_count\":0,\"staging_route_hits\":[],\"production_template_count\":1,\"production_template_files\":[\"998.conf\"],\"production_template_file\":\"998.conf\",\"production_template_sha256\":\"dd443098bf4452f629597e9dd5cf26f844b2a6a64e6882ee401bb6925a6281b0\",\"production_template_uid\":0,\"production_template_gid\":0,\"production_template_mode\":\"0o644\",\"template_directive_counts\":{\"server_name\":2,\"forward_scheme\":0,\"server_set\":0,\"port_set\":0,\"ssl_certificate\":1,\"ssl_certificate_key\":1,\"proxy_pass\":1,\"listen\":4,\"include\":0},\"template_directives\":[{\"line\":4,\"kind\":\"listen\",\"text\":\"listen 0.0.0.0:80;\"},{\"line\":5,\"kind\":\"listen\",\"text\":\"listen [::]:80;\"},{\"line\":6,\"kind\":\"server_name\",\"text\":\"server_name newfi.ru www.newfi.ru;\"},{\"line\":12,\"kind\":\"listen\",\"text\":\"listen 0.0.0.0:443 ssl;\"},{\"line\":13,\"kind\":\"listen\",\"text\":\"listen [::]:443 ssl;\"},{\"line\":14,\"kind\":\"server_name\",\"text\":\"server_name newfi.ru www.newfi.ru;\"},{\"line\":16,\"kind\":\"ssl_certificate\",\"text\":\"ssl_certificate /data/tls/parked-certs/newfi.ru/fullchain.pem;\"},{\"line\":17,\"kind\":\"ssl_certificate_key\",\"text\":\"ssl_certificate_key /data/tls/parked-certs/newfi.ru/privkey.pem;\"},{\"line\":31,\"kind\":\"proxy_pass\",\"text\":\"proxy_pass http://[PRIVATE_IP]:80;\"}],\"template_inventory_truncated\":false,\"cert_path_map_ok\":true,\"cert_file_exists\":true,\"key_file_exists\":true,\"renewal_file_exists\":true,\"cert_host_path_sha256\":\"e254cd4d1e9f64021024d24514f885dd805aee7e7b824228a89dc24cd5e91260\",\"key_host_path_sha256\":\"b08efb70fc902dcfec969ea10390e91a0cac7db9c71cb9b57a0054e8278bb8cc\",\"renewal_host_path_sha256\":\"46f037d986ba47f6c26f1dab358466c61159a815902bac93c25230b5d22a1394\",\"cert_san_exact\":true,\"cert_san_count\":1,\"cert_expiry_days\":89,\"cert_key_match\":true,\"renew_auth_dns_cloudflare\":true,\"renew_credential_ref_present\":true,\"credential_host_path_sha256\":\"aeeb35c552b85a82b6549ceda1d8cd9fab7e794f131355cc7645b2ee467d6301\",\"edge_to_vm211_curl_rc\":0,\"edge_to_vm211_http\":\"503\",\"BASE_FRONTEND_OK\":true,\"EXACT_CERT_LINEAGE_OK\":false,\"BACKEND_503_OK\":true,\"CLOUDFLARE_READONLY_OK\":false,\"decision\":\"HOLD_CERT_CLOUDFLARE\"}\nREMOTE_CANONICAL_DECISION=HOLD_CERT_CLOUDFLARE\nPRODUCTION_PUBLIC_CURL_RC=0\nPRODUCTION_PUBLIC_HTTP=200\nSTAGING_PUBLIC_RESOLVE_RC=2\nTraceback (most recent call last):\n File \"<string>\", line 1, in <module>\n import base64,zlib,hashlib;d=zlib.decompress(base64.b64decode('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'));assert hashlib.sha256(d).hexdigest()=='2cf6875517b9be299b338138844426a7bc2e06b525ad46525ca03189d85a109a';exec(compile(d.decode('utf-8'),'<preflight20>','exec'))\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"<preflight20>\", line 534, in <module>\n File \"<preflight20>\", line 49, in ips\nAttributeError: 'str' object has no attribute 'findall'\n"
}