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
