From 464be1ac04864b20fbd50d49e9a8c4e9663e9cf9 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 23 Sep 2026 23:23:09 +0000 Subject: [PATCH] runtime: publish SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1 --- ...A-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.json | 38 +++++ ...VA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.txt | 99 ++++++++++++ runtime/latest.json | 26 ++-- runtime/latest.txt | 143 ++++++++++-------- 4 files changed, 230 insertions(+), 76 deletions(-) create mode 100644 runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.json create mode 100644 runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.txt diff --git a/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.json b/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.json new file mode 100644 index 00000000..55ef99ec --- /dev/null +++ b/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "homelab-moldova-cloudflare-control-preflight", + "started_at_utc": "2026-09-23T23:23:07Z", + "finished_at_utc": "2026-09-23T23:23:08Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "85dd2d6ae586942deaddc0690a3f91764837fdc2ede99bb4377aaea2a1553297", + "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": "a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430", + "sanitized_output_sha256": "a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_BEGIN=1\nCOMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1\nMODE=read-only\nCOMPONENT=homelab-moldova-cloudflare-control-preflight\nMUTATION_BOUNDARY=NONE;LOCAL_CLOUDFLARE_CONTROL_PATH_AND_READ_API_PROOF_ONLY;NO_MOLDOVA_CONNECTION;NO_REMOTE_SSH;CLOUDFLARE_GET_ONLY;NO_DNS_WRITE;NO_PROVIDER_MUTATION;NO_SYSTEMD_ACTION;NO_BACKUP_MUTATION;NO_TARGET_POLICY_MUTATION;NO_NETBIRD_MUTATION;NO_GIT_WRITE;NO_SECRET_VALUE_OUTPUT\nPREDECESSOR_1158=PASS_MOLDOVA_1158_COMPACT_1155_RESULT_RECOVERED\nRECOVERED_PROVIDER=CLOUDFLARE\nRECOVERED_CONTROL_PATH_CLASS=NOT_PROVEN\nHISTORICAL_EDGE_HELPER=pvepro-cf-upsert-a.py\nLOCAL_REJECTED_CID_1159=true\nCARRIER_BASELINE=KNOWN_GOOD_1137_BYTE_SEMANTICS\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nTARGETS_SHA256=5cba5f1e14c65211c9fab6d11594c19279ab68369b4db3f7283708c368348288\nMD_RELAY_COUNT=1\nMD_RELAY_ENABLED=false\nCONTROL_ARTIFACT_COUNT=3\nCONTROL_ARTIFACT|base=cf_token_audit.py|path_sha256=6c2970c878a1cbf6c261160e5063e1e0b7f8962e6b437fa89d1c71a32b33556b|bytes=3020|mode=600|owner=0:0|sha256=a5ce4ec019b811c68333d9394b55824814a35269958b0edc4ce221995ffab118\nCONTROL_SRC|base=cf_token_audit.py|line=14|text= (\"pvepro\", \"/opt/npmplus/secure/pvepro_cf_token\", [\"pvepro.ru\"]),\nCONTROL_SRC|base=cf_token_audit.py|line=18|text=def extract_token(text):\nCONTROL_SRC|base=cf_token_audit.py|line=62|text= token = [REDACTED]\"ignore\"))\nCONTROL_SRC|base=cf_token_audit.py|line=69|text= verify = cf_get(token, \"https://api.cloudflare.com/client/v4/user/tokens/verify\")\nCONTROL_SRC|base=cf_token_audit.py|line=83|text= url = \"https://api.cloudflare.com/client/v4/zones?name=\" + urllib.parse.quote(zone) + \"&per_page=1\"\nCONTROL_ARTIFACT|base=edge-cf-zone-check.py|path_sha256=87c1aa6eafb8b6a7b2b3d7ee76cd1dd06e6c8438d2378a2a889d9b0698b4348d|bytes=3607|mode=700|owner=1000:1000|sha256=81dde2bc42ca56e63af77bdb49c3423703fe9ca3befe00045ea36b630be8bd88\nCONTROL_SRC|base=edge-cf-zone-check.py|line=47|text= url = \"https://api.cloudflare.com/client/v4\" + path\nCONTROL_SRC|base=edge-cf-zone-check.py|line=48|text= req = urllib.request.Request(url, headers=headers, method=\"GET\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=70|text= z_status, z_data = api_get(\"/zones?\" + q)\nCONTROL_SRC|base=edge-cf-zone-check.py|line=83|text= zone_id = zone.get(\"id\", \"\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=85|text= print(f\"CF_ZONE_ACCESS DOMAIN={domain} ACCESS=yes HTTP_STATUS={z_status} ZONE_NAME={zone_name} ZONE_ID_PREFIX={zone_id[:8]}\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=88|text= r_status, r_data = api_get(f\"/zones/{zone_id}/dns_records?type=A&name={urllib.parse.quote(domain)}\")\nCONTROL_ARTIFACT|base=pvepro-cf-upsert-a.py|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|bytes=2521|mode=700|owner=1000:1000|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=6|text=DOMAIN = \"pvepro.ru\"\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=10|text=def token(): return TOKEN_PATH.read_text(encoding=\"utf-8\").strip()\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=13|text= req = urllib.request.Request(\"https://api.cloudflare.com/client/v4\"+path, data=data, headers={\"Authorization\":\"Bearer \"+token(), \"Content-Type\":\"application/json\"}, method=method)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=21|text=def zone_id():\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=22|text= status, data = api(\"GET\", \"/zones?\"+urllib.parse.urlencode({\"name\": DOMAIN}))\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=25|text= zid=data[\"result\"][0][\"id\"]; out(f\"PVEPRO_DNS_ZONE_LOOKUP OK=yes ZONE_ID_PREFIX={zid[:8]}\"); return zid\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=27|text= status, data = api(\"GET\", f\"/zones/{zid}/dns_records?\"+urllib.parse.urlencode({\"type\":\"A\",\"name\":name}))\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=35|text= status, resp = api(\"PUT\", f\"/zones/{zid}/dns_records/{r['id']}\", payload)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=40|text= status, resp = api(\"POST\", f\"/zones/{zid}/dns_records\", payload)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=44|text=zid = zone_id()\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=47|text=ok1 = upsert(zid, \"pvepro.ru\")\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=48|text=ok2 = upsert(zid, \"www.pvepro.ru\")\nCONTROL_ENV_NAME_COUNT=1\nCONTROL_ENV_NAME=CF_ZONE_ACCESS\nCONTROL_LITERAL_PATH_COUNT=6\nCONTROL_LITERAL_PATH|base=forum_cf_token.env|path_sha256=dd63233c1b049d3d64222fb321969ae4925381be668e3516fc8a65137556d432|exists=false\nCONTROL_LITERAL_PATH|base=gram1_cf_token|path_sha256=641c598a546799f0d1316aa993d57731741eee0da3d43d11055c0d8ceaedc6be|exists=false\nCONTROL_LITERAL_PATH|base=parked_cf_token|path_sha256=ffc4f9615e6abbf61d7e0c09ef0f54b579fe107beb147c054f44a930d86619a1|exists=false\nCONTROL_LITERAL_PATH|base=pvepro_cf_token|path_sha256=c7daf39db4f8bf2479c549e135e9b1354fbc38c686923ff950a58ee40802724a|exists=false\nCONTROL_LITERAL_PATH|base=taftauto_cf_token|path_sha256=87ea3adb51036747bc9fe04f659a6d0858255ba3e2f24c62dcd608b01fbf63bc|exists=false\nCONTROL_LITERAL_PATH|base=verify|path_sha256=b5311e03be0fc877b4a7eb67c335d0acbce814d03878bd2190dfe7e8da34bd81|exists=false\nTOKEN_CANDIDATE_COUNT=0\nTOKEN_VALID_COUNT=0\nREAD_AUTHORITY_COUNT=0\nLOCAL_UPSERT_HELPER_COUNT=1\nLOCAL_UPSERT_HELPER|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b|methods=|has_read=true|has_record_id=true|has_rollback_terms=true\nREPO_CONTEXT_COUNT=0\nCLOUDFLARE_READ_CONTROL_CLASS=NO_VALID_LOCAL_CLOUDFLARE_TOKEN\nCLOUDFLARE_WRITE_PATH_CANDIDATE=false\nNEXT_CONTROL_GATE=LOCATE_OR_PROVE_AUTHORITATIVE_A_RECORD_WRITE_PATH\nDECISION=PASS_MOLDOVA_1160_CLOUDFLARE_CONTROL_PREFLIGHT_COLLECTED\nNEXT_GATE=READ_EXACT_1160_AND_CHOOSE_SAFE_DNS_RETIREMENT_PATH\nTASK_RESULT=PASS_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nWORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_END=1\n" +} diff --git a/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.txt b/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.txt new file mode 100644 index 00000000..a23df6e5 --- /dev/null +++ b/runtime/history/SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1.txt @@ -0,0 +1,99 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=homelab-moldova-cloudflare-control-preflight +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=85dd2d6ae586942deaddc0690a3f91764837fdc2ede99bb4377aaea2a1553297 +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=a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430 +SANITIZED_OUTPUT_SHA256=a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430 +OUTPUT_BEGIN +WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_BEGIN=1 +COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1 +MODE=read-only +COMPONENT=homelab-moldova-cloudflare-control-preflight +MUTATION_BOUNDARY=NONE;LOCAL_CLOUDFLARE_CONTROL_PATH_AND_READ_API_PROOF_ONLY;NO_MOLDOVA_CONNECTION;NO_REMOTE_SSH;CLOUDFLARE_GET_ONLY;NO_DNS_WRITE;NO_PROVIDER_MUTATION;NO_SYSTEMD_ACTION;NO_BACKUP_MUTATION;NO_TARGET_POLICY_MUTATION;NO_NETBIRD_MUTATION;NO_GIT_WRITE;NO_SECRET_VALUE_OUTPUT +PREDECESSOR_1158=PASS_MOLDOVA_1158_COMPACT_1155_RESULT_RECOVERED +RECOVERED_PROVIDER=CLOUDFLARE +RECOVERED_CONTROL_PATH_CLASS=NOT_PROVEN +HISTORICAL_EDGE_HELPER=pvepro-cf-upsert-a.py +LOCAL_REJECTED_CID_1159=true +CARRIER_BASELINE=KNOWN_GOOD_1137_BYTE_SEMANTICS +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d +TARGETS_SHA256=5cba5f1e14c65211c9fab6d11594c19279ab68369b4db3f7283708c368348288 +MD_RELAY_COUNT=1 +MD_RELAY_ENABLED=false +CONTROL_ARTIFACT_COUNT=3 +CONTROL_ARTIFACT|base=cf_token_audit.py|path_sha256=6c2970c878a1cbf6c261160e5063e1e0b7f8962e6b437fa89d1c71a32b33556b|bytes=3020|mode=600|owner=0:0|sha256=a5ce4ec019b811c68333d9394b55824814a35269958b0edc4ce221995ffab118 +CONTROL_SRC|base=cf_token_audit.py|line=14|text= ("pvepro", "/opt/npmplus/secure/pvepro_cf_token", ["pvepro.ru"]), +CONTROL_SRC|base=cf_token_audit.py|line=18|text=def extract_token(text): +CONTROL_SRC|base=cf_token_audit.py|line=62|text= token = [REDACTED]"ignore")) +CONTROL_SRC|base=cf_token_audit.py|line=69|text= verify = cf_get(token, "https://api.cloudflare.com/client/v4/user/tokens/verify") +CONTROL_SRC|base=cf_token_audit.py|line=83|text= url = "https://api.cloudflare.com/client/v4/zones?name=" + urllib.parse.quote(zone) + "&per_page=1" +CONTROL_ARTIFACT|base=edge-cf-zone-check.py|path_sha256=87c1aa6eafb8b6a7b2b3d7ee76cd1dd06e6c8438d2378a2a889d9b0698b4348d|bytes=3607|mode=700|owner=1000:1000|sha256=81dde2bc42ca56e63af77bdb49c3423703fe9ca3befe00045ea36b630be8bd88 +CONTROL_SRC|base=edge-cf-zone-check.py|line=47|text= url = "https://api.cloudflare.com/client/v4" + path +CONTROL_SRC|base=edge-cf-zone-check.py|line=48|text= req = urllib.request.Request(url, headers=headers, method="GET") +CONTROL_SRC|base=edge-cf-zone-check.py|line=70|text= z_status, z_data = api_get("/zones?" + q) +CONTROL_SRC|base=edge-cf-zone-check.py|line=83|text= zone_id = zone.get("id", "") +CONTROL_SRC|base=edge-cf-zone-check.py|line=85|text= print(f"CF_ZONE_ACCESS DOMAIN={domain} ACCESS=yes HTTP_STATUS={z_status} ZONE_NAME={zone_name} ZONE_ID_PREFIX={zone_id[:8]}") +CONTROL_SRC|base=edge-cf-zone-check.py|line=88|text= r_status, r_data = api_get(f"/zones/{zone_id}/dns_records?type=A&name={urllib.parse.quote(domain)}") +CONTROL_ARTIFACT|base=pvepro-cf-upsert-a.py|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|bytes=2521|mode=700|owner=1000:1000|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=6|text=DOMAIN = "pvepro.ru" +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=10|text=def token(): return TOKEN_PATH.read_text(encoding="utf-8").strip() +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=13|text= req = urllib.request.Request("https://api.cloudflare.com/client/v4"+path, data=data, headers={"Authorization":"Bearer "+token(), "Content-Type":"application/json"}, method=method) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=21|text=def zone_id(): +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=22|text= status, data = api("GET", "/zones?"+urllib.parse.urlencode({"name": DOMAIN})) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=25|text= zid=data["result"][0]["id"]; out(f"PVEPRO_DNS_ZONE_LOOKUP OK=yes ZONE_ID_PREFIX={zid[:8]}"); return zid +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=27|text= status, data = api("GET", f"/zones/{zid}/dns_records?"+urllib.parse.urlencode({"type":"A","name":name})) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=35|text= status, resp = api("PUT", f"/zones/{zid}/dns_records/{r['id']}", payload) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=40|text= status, resp = api("POST", f"/zones/{zid}/dns_records", payload) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=44|text=zid = zone_id() +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=47|text=ok1 = upsert(zid, "pvepro.ru") +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=48|text=ok2 = upsert(zid, "www.pvepro.ru") +CONTROL_ENV_NAME_COUNT=1 +CONTROL_ENV_NAME=CF_ZONE_ACCESS +CONTROL_LITERAL_PATH_COUNT=6 +CONTROL_LITERAL_PATH|base=forum_cf_token.env|path_sha256=dd63233c1b049d3d64222fb321969ae4925381be668e3516fc8a65137556d432|exists=false +CONTROL_LITERAL_PATH|base=gram1_cf_token|path_sha256=641c598a546799f0d1316aa993d57731741eee0da3d43d11055c0d8ceaedc6be|exists=false +CONTROL_LITERAL_PATH|base=parked_cf_token|path_sha256=ffc4f9615e6abbf61d7e0c09ef0f54b579fe107beb147c054f44a930d86619a1|exists=false +CONTROL_LITERAL_PATH|base=pvepro_cf_token|path_sha256=c7daf39db4f8bf2479c549e135e9b1354fbc38c686923ff950a58ee40802724a|exists=false +CONTROL_LITERAL_PATH|base=taftauto_cf_token|path_sha256=87ea3adb51036747bc9fe04f659a6d0858255ba3e2f24c62dcd608b01fbf63bc|exists=false +CONTROL_LITERAL_PATH|base=verify|path_sha256=b5311e03be0fc877b4a7eb67c335d0acbce814d03878bd2190dfe7e8da34bd81|exists=false +TOKEN_CANDIDATE_COUNT=0 +TOKEN_VALID_COUNT=0 +READ_AUTHORITY_COUNT=0 +LOCAL_UPSERT_HELPER_COUNT=1 +LOCAL_UPSERT_HELPER|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b|methods=|has_read=true|has_record_id=true|has_rollback_terms=true +REPO_CONTEXT_COUNT=0 +CLOUDFLARE_READ_CONTROL_CLASS=NO_VALID_LOCAL_CLOUDFLARE_TOKEN +CLOUDFLARE_WRITE_PATH_CANDIDATE=false +NEXT_CONTROL_GATE=LOCATE_OR_PROVE_AUTHORITATIVE_A_RECORD_WRITE_PATH +DECISION=PASS_MOLDOVA_1160_CLOUDFLARE_CONTROL_PREFLIGHT_COLLECTED +NEXT_GATE=READ_EXACT_1160_AND_CHOOSE_SAFE_DNS_RETIREMENT_PATH +TASK_RESULT=PASS_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_END=1 + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 970b3947..55ef99ec 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1", + "command_id": "SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1", "status": "OK", "rc": 0, "host": "pve01", - "mode": "change", - "component": "pve01-yandex-header-sender-rewrite", - "started_at_utc": "2026-09-23T23:21:44Z", - "finished_at_utc": "2026-09-23T23:21:45Z", + "mode": "read-only", + "component": "homelab-moldova-cloudflare-control-preflight", + "started_at_utc": "2026-09-23T23:23:07Z", + "finished_at_utc": "2026-09-23T23:23:08Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "29a20a58e7c93ada93fda00114e896fbcf1dcb4e94fdc7c90a695f8c17f21a01", + "command_sha256": "85dd2d6ae586942deaddc0690a3f91764837fdc2ede99bb4377aaea2a1553297", "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, + "changes_made": false, "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "MUTATED", + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "005f574f52865254827ba32dd68de2927d3f775b95ffb371ce1c8d352d5894c1", - "sanitized_output_sha256": "005f574f52865254827ba32dd68de2927d3f775b95ffb371ce1c8d352d5894c1", + "raw_evidence_sha256": "a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430", + "sanitized_output_sha256": "a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "CID=POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1\nMODE=change\nCOMPONENT=pve01-yandex-header-sender-rewrite\nMUTATION_BOUNDARY=EXTEND_SMTP_GENERIC_MAP_WITH_TWO_PROVEN_LOCAL_HEADER_SENDERS;ONE_RUSSIAN_CANARY_EMAIL;POSTFIX_RELOAD;NO_MAIN_CF_CHANGE;NO_SASL_CHANGE;NO_ALIASES_CHANGE;NO_QUEUE_FLUSH;NO_QUEUE_DELETE;NO_PACKAGE_CHANGE;NO_CLOUD\nEXECUTION_STARTED=true\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nGENERIC_PRE_SHA256=f5193e44439cbeeca1c333e8fcb7baae5bbbf6188716003825461854fc23d15f\nGENERIC_PRE_ROW_COUNT=2\nGENERIC_PRE_KEY_SHA256=4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2\nGENERIC_PRE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_PRE_KEY_SHA256=ace6bc9c27f9c27e1bfc7deb00459e791d6069647b62648a6f461619a85a90f6\nGENERIC_PRE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_STAGE_ROW_COUNT=4\nGENERIC_STAGE_KEY_SHA256=4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2\nGENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_STAGE_KEY_SHA256=ace6bc9c27f9c27e1bfc7deb00459e791d6069647b62648a6f461619a85a90f6\nGENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_STAGE_KEY_SHA256=12aac32fc6b91280e12c07fff4b9740582f1ccb96e34920034776a5c8723ae17\nGENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_STAGE_KEY_SHA256=b0bed41f4afebf9195fec0370d5f354ab168017bb254749754be26cdd2d91813\nGENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\nGENERIC_STAGE_QUERIES=PASS\nCHANGES_MADE=true\nPOSTFIX_CHECK_RC=0\nGENERIC_INSTALLED_QUERIES=PASS\npostfix/postlog: refreshing the Postfix mail system\nPOSTFIX_RELOAD=PASS\nCANARY_SUBMIT_RC=0\nCANARY_QUEUE_ID_SHA256=be18f4723728136a3fd3dbae221e7b92ab5b160af6c348146faf39d67e5acd31\nCANARY_SENT=true\nCANARY_BOUNCED=false\nCANARY_SENDER_OWNERSHIP_REJECT=false\nCANARY_DMARC=false\nCANARY_AUTHFAIL=false\nGENERIC_POST_SHA256=4e7642a59548cdea6ad0f585ab32bf75188b9499b6217eafe0ab96b250a71a76\nHEADER_SENDER_FIX_COMMITTED=true\nNO_MAIN_CF_CHANGE=true\nNO_SASL_CHANGE=true\nNO_ALIASES_CHANGE=true\nNO_QUEUE_FLUSH=true\nNO_QUEUE_DELETE=true\nFAILURE=NONE\nDECISION=PASS_HEADER_SENDER_REWRITE_FIX\nNEXT_GATE=FINAL_VERIFY_SENDER_OWNERSHIP\nTASK_RESULT=PASS_BOUNDED_HEADER_SENDER_REWRITE\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_BEGIN=1\nCOMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1\nMODE=read-only\nCOMPONENT=homelab-moldova-cloudflare-control-preflight\nMUTATION_BOUNDARY=NONE;LOCAL_CLOUDFLARE_CONTROL_PATH_AND_READ_API_PROOF_ONLY;NO_MOLDOVA_CONNECTION;NO_REMOTE_SSH;CLOUDFLARE_GET_ONLY;NO_DNS_WRITE;NO_PROVIDER_MUTATION;NO_SYSTEMD_ACTION;NO_BACKUP_MUTATION;NO_TARGET_POLICY_MUTATION;NO_NETBIRD_MUTATION;NO_GIT_WRITE;NO_SECRET_VALUE_OUTPUT\nPREDECESSOR_1158=PASS_MOLDOVA_1158_COMPACT_1155_RESULT_RECOVERED\nRECOVERED_PROVIDER=CLOUDFLARE\nRECOVERED_CONTROL_PATH_CLASS=NOT_PROVEN\nHISTORICAL_EDGE_HELPER=pvepro-cf-upsert-a.py\nLOCAL_REJECTED_CID_1159=true\nCARRIER_BASELINE=KNOWN_GOOD_1137_BYTE_SEMANTICS\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nTARGETS_SHA256=5cba5f1e14c65211c9fab6d11594c19279ab68369b4db3f7283708c368348288\nMD_RELAY_COUNT=1\nMD_RELAY_ENABLED=false\nCONTROL_ARTIFACT_COUNT=3\nCONTROL_ARTIFACT|base=cf_token_audit.py|path_sha256=6c2970c878a1cbf6c261160e5063e1e0b7f8962e6b437fa89d1c71a32b33556b|bytes=3020|mode=600|owner=0:0|sha256=a5ce4ec019b811c68333d9394b55824814a35269958b0edc4ce221995ffab118\nCONTROL_SRC|base=cf_token_audit.py|line=14|text= (\"pvepro\", \"/opt/npmplus/secure/pvepro_cf_token\", [\"pvepro.ru\"]),\nCONTROL_SRC|base=cf_token_audit.py|line=18|text=def extract_token(text):\nCONTROL_SRC|base=cf_token_audit.py|line=62|text= token = [REDACTED]\"ignore\"))\nCONTROL_SRC|base=cf_token_audit.py|line=69|text= verify = cf_get(token, \"https://api.cloudflare.com/client/v4/user/tokens/verify\")\nCONTROL_SRC|base=cf_token_audit.py|line=83|text= url = \"https://api.cloudflare.com/client/v4/zones?name=\" + urllib.parse.quote(zone) + \"&per_page=1\"\nCONTROL_ARTIFACT|base=edge-cf-zone-check.py|path_sha256=87c1aa6eafb8b6a7b2b3d7ee76cd1dd06e6c8438d2378a2a889d9b0698b4348d|bytes=3607|mode=700|owner=1000:1000|sha256=81dde2bc42ca56e63af77bdb49c3423703fe9ca3befe00045ea36b630be8bd88\nCONTROL_SRC|base=edge-cf-zone-check.py|line=47|text= url = \"https://api.cloudflare.com/client/v4\" + path\nCONTROL_SRC|base=edge-cf-zone-check.py|line=48|text= req = urllib.request.Request(url, headers=headers, method=\"GET\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=70|text= z_status, z_data = api_get(\"/zones?\" + q)\nCONTROL_SRC|base=edge-cf-zone-check.py|line=83|text= zone_id = zone.get(\"id\", \"\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=85|text= print(f\"CF_ZONE_ACCESS DOMAIN={domain} ACCESS=yes HTTP_STATUS={z_status} ZONE_NAME={zone_name} ZONE_ID_PREFIX={zone_id[:8]}\")\nCONTROL_SRC|base=edge-cf-zone-check.py|line=88|text= r_status, r_data = api_get(f\"/zones/{zone_id}/dns_records?type=A&name={urllib.parse.quote(domain)}\")\nCONTROL_ARTIFACT|base=pvepro-cf-upsert-a.py|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|bytes=2521|mode=700|owner=1000:1000|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=6|text=DOMAIN = \"pvepro.ru\"\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=10|text=def token(): return TOKEN_PATH.read_text(encoding=\"utf-8\").strip()\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=13|text= req = urllib.request.Request(\"https://api.cloudflare.com/client/v4\"+path, data=data, headers={\"Authorization\":\"Bearer \"+token(), \"Content-Type\":\"application/json\"}, method=method)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=21|text=def zone_id():\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=22|text= status, data = api(\"GET\", \"/zones?\"+urllib.parse.urlencode({\"name\": DOMAIN}))\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=25|text= zid=data[\"result\"][0][\"id\"]; out(f\"PVEPRO_DNS_ZONE_LOOKUP OK=yes ZONE_ID_PREFIX={zid[:8]}\"); return zid\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=27|text= status, data = api(\"GET\", f\"/zones/{zid}/dns_records?\"+urllib.parse.urlencode({\"type\":\"A\",\"name\":name}))\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=35|text= status, resp = api(\"PUT\", f\"/zones/{zid}/dns_records/{r['id']}\", payload)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=40|text= status, resp = api(\"POST\", f\"/zones/{zid}/dns_records\", payload)\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=44|text=zid = zone_id()\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=47|text=ok1 = upsert(zid, \"pvepro.ru\")\nCONTROL_SRC|base=pvepro-cf-upsert-a.py|line=48|text=ok2 = upsert(zid, \"www.pvepro.ru\")\nCONTROL_ENV_NAME_COUNT=1\nCONTROL_ENV_NAME=CF_ZONE_ACCESS\nCONTROL_LITERAL_PATH_COUNT=6\nCONTROL_LITERAL_PATH|base=forum_cf_token.env|path_sha256=dd63233c1b049d3d64222fb321969ae4925381be668e3516fc8a65137556d432|exists=false\nCONTROL_LITERAL_PATH|base=gram1_cf_token|path_sha256=641c598a546799f0d1316aa993d57731741eee0da3d43d11055c0d8ceaedc6be|exists=false\nCONTROL_LITERAL_PATH|base=parked_cf_token|path_sha256=ffc4f9615e6abbf61d7e0c09ef0f54b579fe107beb147c054f44a930d86619a1|exists=false\nCONTROL_LITERAL_PATH|base=pvepro_cf_token|path_sha256=c7daf39db4f8bf2479c549e135e9b1354fbc38c686923ff950a58ee40802724a|exists=false\nCONTROL_LITERAL_PATH|base=taftauto_cf_token|path_sha256=87ea3adb51036747bc9fe04f659a6d0858255ba3e2f24c62dcd608b01fbf63bc|exists=false\nCONTROL_LITERAL_PATH|base=verify|path_sha256=b5311e03be0fc877b4a7eb67c335d0acbce814d03878bd2190dfe7e8da34bd81|exists=false\nTOKEN_CANDIDATE_COUNT=0\nTOKEN_VALID_COUNT=0\nREAD_AUTHORITY_COUNT=0\nLOCAL_UPSERT_HELPER_COUNT=1\nLOCAL_UPSERT_HELPER|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b|methods=|has_read=true|has_record_id=true|has_rollback_terms=true\nREPO_CONTEXT_COUNT=0\nCLOUDFLARE_READ_CONTROL_CLASS=NO_VALID_LOCAL_CLOUDFLARE_TOKEN\nCLOUDFLARE_WRITE_PATH_CANDIDATE=false\nNEXT_CONTROL_GATE=LOCATE_OR_PROVE_AUTHORITATIVE_A_RECORD_WRITE_PATH\nDECISION=PASS_MOLDOVA_1160_CLOUDFLARE_CONTROL_PREFLIGHT_COLLECTED\nNEXT_GATE=READ_EXACT_1160_AND_CHOOSE_SAFE_DNS_RETIREMENT_PATH\nTASK_RESULT=PASS_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nWORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_END=1\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index be67c0e2..a23df6e5 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,82 +1,99 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1 +COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1 STATUS=OK RC=0 HOST=pve01 -MODE=change -COMPONENT=pve01-yandex-header-sender-rewrite +MODE=read-only +COMPONENT=homelab-moldova-cloudflare-control-preflight REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=29a20a58e7c93ada93fda00114e896fbcf1dcb4e94fdc7c90a695f8c17f21a01 +COMMAND_SHA256=85dd2d6ae586942deaddc0690a3f91764837fdc2ede99bb4377aaea2a1553297 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=false -ROLLBACK_RESTORED=null -MUTATION_OUTCOME=MUTATED -SANITIZED=yes -SECRETS_INCLUDED=no -PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=005f574f52865254827ba32dd68de2927d3f775b95ffb371ce1c8d352d5894c1 -SANITIZED_OUTPUT_SHA256=005f574f52865254827ba32dd68de2927d3f775b95ffb371ce1c8d352d5894c1 -OUTPUT_BEGIN -CID=POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1 -MODE=change -COMPONENT=pve01-yandex-header-sender-rewrite -MUTATION_BOUNDARY=EXTEND_SMTP_GENERIC_MAP_WITH_TWO_PROVEN_LOCAL_HEADER_SENDERS;ONE_RUSSIAN_CANARY_EMAIL;POSTFIX_RELOAD;NO_MAIN_CF_CHANGE;NO_SASL_CHANGE;NO_ALIASES_CHANGE;NO_QUEUE_FLUSH;NO_QUEUE_DELETE;NO_PACKAGE_CHANGE;NO_CLOUD -EXECUTION_STARTED=true CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -GENERIC_PRE_SHA256=f5193e44439cbeeca1c333e8fcb7baae5bbbf6188716003825461854fc23d15f -GENERIC_PRE_ROW_COUNT=2 -GENERIC_PRE_KEY_SHA256=4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2 -GENERIC_PRE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_PRE_KEY_SHA256=ace6bc9c27f9c27e1bfc7deb00459e791d6069647b62648a6f461619a85a90f6 -GENERIC_PRE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_STAGE_ROW_COUNT=4 -GENERIC_STAGE_KEY_SHA256=4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2 -GENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_STAGE_KEY_SHA256=ace6bc9c27f9c27e1bfc7deb00459e791d6069647b62648a6f461619a85a90f6 -GENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_STAGE_KEY_SHA256=12aac32fc6b91280e12c07fff4b9740582f1ccb96e34920034776a5c8723ae17 -GENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_STAGE_KEY_SHA256=b0bed41f4afebf9195fec0370d5f354ab168017bb254749754be26cdd2d91813 -GENERIC_STAGE_VALUE_SHA256=0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf -GENERIC_STAGE_QUERIES=PASS -CHANGES_MADE=true -POSTFIX_CHECK_RC=0 -GENERIC_INSTALLED_QUERIES=PASS -postfix/postlog: refreshing the Postfix mail system -POSTFIX_RELOAD=PASS -CANARY_SUBMIT_RC=0 -CANARY_QUEUE_ID_SHA256=be18f4723728136a3fd3dbae221e7b92ab5b160af6c348146faf39d67e5acd31 -CANARY_SENT=true -CANARY_BOUNCED=false -CANARY_SENDER_OWNERSHIP_REJECT=false -CANARY_DMARC=false -CANARY_AUTHFAIL=false -GENERIC_POST_SHA256=4e7642a59548cdea6ad0f585ab32bf75188b9499b6217eafe0ab96b250a71a76 -HEADER_SENDER_FIX_COMMITTED=true -NO_MAIN_CF_CHANGE=true -NO_SASL_CHANGE=true -NO_ALIASES_CHANGE=true -NO_QUEUE_FLUSH=true -NO_QUEUE_DELETE=true -FAILURE=NONE -DECISION=PASS_HEADER_SENDER_REWRITE_FIX -NEXT_GATE=FINAL_VERIFY_SENDER_OWNERSHIP -TASK_RESULT=PASS_BOUNDED_HEADER_SENDER_REWRITE -ROLLBACK_STARTED=false -ROLLBACK_RESTORED=null -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"POSTFIX-260924-REPAIR-SENDER-HEADERS-B29FR1","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null} +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430 +SANITIZED_OUTPUT_SHA256=a361996e350aea494209756bfa60a101a6e1f233ee272949c06f69d67d770430 +OUTPUT_BEGIN +WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_BEGIN=1 +COMMAND_ID=SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1 +MODE=read-only +COMPONENT=homelab-moldova-cloudflare-control-preflight +MUTATION_BOUNDARY=NONE;LOCAL_CLOUDFLARE_CONTROL_PATH_AND_READ_API_PROOF_ONLY;NO_MOLDOVA_CONNECTION;NO_REMOTE_SSH;CLOUDFLARE_GET_ONLY;NO_DNS_WRITE;NO_PROVIDER_MUTATION;NO_SYSTEMD_ACTION;NO_BACKUP_MUTATION;NO_TARGET_POLICY_MUTATION;NO_NETBIRD_MUTATION;NO_GIT_WRITE;NO_SECRET_VALUE_OUTPUT +PREDECESSOR_1158=PASS_MOLDOVA_1158_COMPACT_1155_RESULT_RECOVERED +RECOVERED_PROVIDER=CLOUDFLARE +RECOVERED_CONTROL_PATH_CLASS=NOT_PROVEN +HISTORICAL_EDGE_HELPER=pvepro-cf-upsert-a.py +LOCAL_REJECTED_CID_1159=true +CARRIER_BASELINE=KNOWN_GOOD_1137_BYTE_SEMANTICS +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d +TARGETS_SHA256=5cba5f1e14c65211c9fab6d11594c19279ab68369b4db3f7283708c368348288 +MD_RELAY_COUNT=1 +MD_RELAY_ENABLED=false +CONTROL_ARTIFACT_COUNT=3 +CONTROL_ARTIFACT|base=cf_token_audit.py|path_sha256=6c2970c878a1cbf6c261160e5063e1e0b7f8962e6b437fa89d1c71a32b33556b|bytes=3020|mode=600|owner=0:0|sha256=a5ce4ec019b811c68333d9394b55824814a35269958b0edc4ce221995ffab118 +CONTROL_SRC|base=cf_token_audit.py|line=14|text= ("pvepro", "/opt/npmplus/secure/pvepro_cf_token", ["pvepro.ru"]), +CONTROL_SRC|base=cf_token_audit.py|line=18|text=def extract_token(text): +CONTROL_SRC|base=cf_token_audit.py|line=62|text= token = [REDACTED]"ignore")) +CONTROL_SRC|base=cf_token_audit.py|line=69|text= verify = cf_get(token, "https://api.cloudflare.com/client/v4/user/tokens/verify") +CONTROL_SRC|base=cf_token_audit.py|line=83|text= url = "https://api.cloudflare.com/client/v4/zones?name=" + urllib.parse.quote(zone) + "&per_page=1" +CONTROL_ARTIFACT|base=edge-cf-zone-check.py|path_sha256=87c1aa6eafb8b6a7b2b3d7ee76cd1dd06e6c8438d2378a2a889d9b0698b4348d|bytes=3607|mode=700|owner=1000:1000|sha256=81dde2bc42ca56e63af77bdb49c3423703fe9ca3befe00045ea36b630be8bd88 +CONTROL_SRC|base=edge-cf-zone-check.py|line=47|text= url = "https://api.cloudflare.com/client/v4" + path +CONTROL_SRC|base=edge-cf-zone-check.py|line=48|text= req = urllib.request.Request(url, headers=headers, method="GET") +CONTROL_SRC|base=edge-cf-zone-check.py|line=70|text= z_status, z_data = api_get("/zones?" + q) +CONTROL_SRC|base=edge-cf-zone-check.py|line=83|text= zone_id = zone.get("id", "") +CONTROL_SRC|base=edge-cf-zone-check.py|line=85|text= print(f"CF_ZONE_ACCESS DOMAIN={domain} ACCESS=yes HTTP_STATUS={z_status} ZONE_NAME={zone_name} ZONE_ID_PREFIX={zone_id[:8]}") +CONTROL_SRC|base=edge-cf-zone-check.py|line=88|text= r_status, r_data = api_get(f"/zones/{zone_id}/dns_records?type=A&name={urllib.parse.quote(domain)}") +CONTROL_ARTIFACT|base=pvepro-cf-upsert-a.py|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|bytes=2521|mode=700|owner=1000:1000|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=6|text=DOMAIN = "pvepro.ru" +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=10|text=def token(): return TOKEN_PATH.read_text(encoding="utf-8").strip() +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=13|text= req = urllib.request.Request("https://api.cloudflare.com/client/v4"+path, data=data, headers={"Authorization":"Bearer "+token(), "Content-Type":"application/json"}, method=method) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=21|text=def zone_id(): +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=22|text= status, data = api("GET", "/zones?"+urllib.parse.urlencode({"name": DOMAIN})) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=25|text= zid=data["result"][0]["id"]; out(f"PVEPRO_DNS_ZONE_LOOKUP OK=yes ZONE_ID_PREFIX={zid[:8]}"); return zid +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=27|text= status, data = api("GET", f"/zones/{zid}/dns_records?"+urllib.parse.urlencode({"type":"A","name":name})) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=35|text= status, resp = api("PUT", f"/zones/{zid}/dns_records/{r['id']}", payload) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=40|text= status, resp = api("POST", f"/zones/{zid}/dns_records", payload) +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=44|text=zid = zone_id() +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=47|text=ok1 = upsert(zid, "pvepro.ru") +CONTROL_SRC|base=pvepro-cf-upsert-a.py|line=48|text=ok2 = upsert(zid, "www.pvepro.ru") +CONTROL_ENV_NAME_COUNT=1 +CONTROL_ENV_NAME=CF_ZONE_ACCESS +CONTROL_LITERAL_PATH_COUNT=6 +CONTROL_LITERAL_PATH|base=forum_cf_token.env|path_sha256=dd63233c1b049d3d64222fb321969ae4925381be668e3516fc8a65137556d432|exists=false +CONTROL_LITERAL_PATH|base=gram1_cf_token|path_sha256=641c598a546799f0d1316aa993d57731741eee0da3d43d11055c0d8ceaedc6be|exists=false +CONTROL_LITERAL_PATH|base=parked_cf_token|path_sha256=ffc4f9615e6abbf61d7e0c09ef0f54b579fe107beb147c054f44a930d86619a1|exists=false +CONTROL_LITERAL_PATH|base=pvepro_cf_token|path_sha256=c7daf39db4f8bf2479c549e135e9b1354fbc38c686923ff950a58ee40802724a|exists=false +CONTROL_LITERAL_PATH|base=taftauto_cf_token|path_sha256=87ea3adb51036747bc9fe04f659a6d0858255ba3e2f24c62dcd608b01fbf63bc|exists=false +CONTROL_LITERAL_PATH|base=verify|path_sha256=b5311e03be0fc877b4a7eb67c335d0acbce814d03878bd2190dfe7e8da34bd81|exists=false +TOKEN_CANDIDATE_COUNT=0 +TOKEN_VALID_COUNT=0 +READ_AUTHORITY_COUNT=0 +LOCAL_UPSERT_HELPER_COUNT=1 +LOCAL_UPSERT_HELPER|path_sha256=51e628648f15a76c6f5ae3b06496f8957794f75dca09af2edd6e1002a4ab85bc|sha256=605ee9215580abc5f254f2452b29adc331ab929974a42f96250f8b8dff79a05b|methods=|has_read=true|has_record_id=true|has_rollback_terms=true +REPO_CONTEXT_COUNT=0 +CLOUDFLARE_READ_CONTROL_CLASS=NO_VALID_LOCAL_CLOUDFLARE_TOKEN +CLOUDFLARE_WRITE_PATH_CANDIDATE=false +NEXT_CONTROL_GATE=LOCATE_OR_PROVE_AUTHORITATIVE_A_RECORD_WRITE_PATH +DECISION=PASS_MOLDOVA_1160_CLOUDFLARE_CONTROL_PREFLIGHT_COLLECTED +NEXT_GATE=READ_EXACT_1160_AND_CHOOSE_SAFE_DNS_RETIREMENT_PATH +TASK_RESULT=PASS_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260924-HOMELAB-MOLDOVA-CLOUDFLARE-CONTROL-PREFLIGHT-1160R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +WORKERS2_MOLDOVA_CLOUDFLARE_CONTROL_PREFLIGHT_END=1 OUTPUT_END CHAT_OUTPUT_END