39 lines
14 KiB
JSON
39 lines
14 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "SUPPORT-260922-SPB-HOME-INGRESS-ACME-HOOK-PRECHECK-9120R1",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "read-only",
|
|
"component": "spb-home-ingress-acme-hook-precheck",
|
|
"started_at_utc": "2026-09-22T13:36:00Z",
|
|
"finished_at_utc": "2026-09-22T13:36:04Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
|
"command_sha256": "b1a01d27969a1f75b7fe7163b96f1cdf80777ac2464b02682bec2697891b8f99",
|
|
"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": "3cf1f3e3846e8996d51ae516413ea21e677e9893d8b4299f3f47cd409f5e0973",
|
|
"sanitized_output_sha256": "3cf1f3e3846e8996d51ae516413ea21e677e9893d8b4299f3f47cd409f5e0973",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "SPB9120_PRECHECK={\"guest\":{\"ok\":true,\"data\":{\"hostname\":\"edge-vm\",\"hooks\":{\"pvepro-cf-certbot-hook.py\":[{\"path\":\"/opt/npmplus/scripts/pvepro-cf-certbot-hook.py\",\"sha256\":\"9b92d1893119af794096665dedeaae873b2da64905173c0a62916ae1f6aed268\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"req = urllib.request.Request(\\\"https://api.cloudflare.com/client/v4\\\"+path, data=data, headers={\\\"Authorization\\\":\\\"Bearer \\\"+token(), \\\"Content-Type\\\":\\\"application/json\\\"}, method=method)\",\"return STATE_DIR / (domain + \\\"-\\\" + hashlib.sha256((domain+\\\"|\\\"+validation).encode()).hexdigest()[:20] + \\\".json\\\")\",\"domain=os.environ.get(\\\"CERTBOT_DOMAIN\\\",\\\"\\\"); validation=os.environ.get(\\\"CERTBOT_VALIDATION\\\",\\\"\\\")\",\"name=\\\"_acme-challenge.\\\"+domain\",\"status, data = api(\\\"POST\\\", f\\\"/zones/{zid}/dns_records\\\", {\\\"type\\\":\\\"TXT\\\",\\\"name\\\":name,\\\"content\\\":validation,\\\"ttl\\\":120})\",\"time.sleep(45); return 0\",\"domain=os.environ.get(\\\"CERTBOT_DOMAIN\\\",\\\"\\\"); validation=os.environ.get(\\\"CERTBOT_VALIDATION\\\",\\\"\\\")\",\"status, resp=api(\\\"DELETE\\\", f\\\"/zones/{data['zone_id']}/dns_records/{data['record_id']}\\\")\"]}],\"pvepro-cf-cleanup-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/pvepro-cf-cleanup-hook.sh\",\"sha256\":\"eff4da2a85d22f0887c3aa7380af6173ee65b634ff44ac5150673726c029149e\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/pvepro-cf-certbot-hook.py cleanup\"]}],\"gram1-cf-auth-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/gram1-cf-auth-hook.sh\",\"sha256\":\"c03c5b2b18444e38af05599cbd51c518a3646497feb3a59bf5b69996af06b0dc\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/gram1-cf-certbot-hook.py auth\"]}],\"parked-cf-auth-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/parked-cf-auth-hook.sh\",\"sha256\":\"c9c43720c1a0adaf27b3c20b050dbd8b860d030deb47d7f5789497e3000824c8\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/parked-cf-certbot-hook.py auth\"]}],\"gram1-cf-certbot-hook.py\":[{\"path\":\"/opt/npmplus/scripts/gram1-cf-certbot-hook.py\",\"sha256\":\"dcaffc5a248359fa3ed93b7bf8af33ad69985776c4a8e3e7f2016c6168da5aee\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":true,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"req = urllib.request.Request(\\\"https://api.cloudflare.com/client/v4\\\" + path, data=data, headers={\\\"Authorization\\\": \\\"Bearer \\\" + token(), \\\"Content-Type\\\": \\\"application/json\\\"}, method=method)\",\"h = hashlib.sha256((domain + \\\"|\\\" + validation).encode()).hexdigest()[:20]\",\"domain = os.environ.get(\\\"CERTBOT_DOMAIN\\\", \\\"\\\"); validation = os.environ.get(\\\"CERTBOT_VALIDATION\\\", \\\"\\\")\",\"name = \\\"_acme-challenge.\\\" + domain\",\"status, data = api(\\\"POST\\\", f\\\"/zones/{zid}/dns_records\\\", {\\\"type\\\": \\\"TXT\\\", \\\"name\\\": name, \\\"content\\\": validation, \\\"ttl\\\": 120})\",\"out(f\\\"GRAM1_CF_AUTH domain={domain} status=ok record_id_prefix={rec[:8]}\\\"); time.sleep(45); return 0\",\"domain = os.environ.get(\\\"CERTBOT_DOMAIN\\\", \\\"\\\"); validation = os.environ.get(\\\"CERTBOT_VALIDATION\\\", \\\"\\\")\",\"status, resp = api(\\\"DELETE\\\", f\\\"/zones/{data['zone_id']}/dns_records/{data['record_id']}\\\")\"]}],\"gram1-cf-cleanup-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/gram1-cf-cleanup-hook.sh\",\"sha256\":\"f86757b214f6603448a295238b6591eac79faa8702ffb1d0d36697f4f0c5ef17\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/gram1-cf-certbot-hook.py cleanup\"]}],\"parked-cf-cleanup-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/parked-cf-cleanup-hook.sh\",\"sha256\":\"2d82709fb60b8dcad9dfd38091516fae6ebc3825ec85a8da05643a5cf2cf4380\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/parked-cf-certbot-hook.py cleanup\"]}],\"pvepro-cf-auth-hook.sh\":[{\"path\":\"/opt/npmplus/scripts/pvepro-cf-auth-hook.sh\",\"sha256\":\"6489531798eda50063aefa41ab44c3c692305c0c29cc5aa4c0dc35fdd469d8cb\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"exec /usr/bin/python3 /opt/npmplus/scripts/pvepro-cf-certbot-hook.py auth\"]}],\"parked-cf-certbot-hook.py\":[{\"path\":\"/opt/npmplus/scripts/parked-cf-certbot-hook.py\",\"sha256\":\"0783fe635ba9ceace923b78e12038ccfc0feaf237ea0abd67cad55169ab90428\",\"mode\":\"0o700\",\"uid\":0,\"gid\":0,\"executable\":true,\"certbot_env\":[],\"env_names\":[],\"mentions_gram1\":false,\"mentions_hbarhub\":false,\"mentions_newfilya\":false,\"selected_lines\":[\"req = urllib.request.Request(\\\"https://api.cloudflare.com/client/v4\\\" + path, data=data, headers=headers, method=method)\",\"h = hashlib.sha256((domain + \\\"|\\\" + validation).encode()).hexdigest()[:20]\",\"return api(\\\"GET\\\", f\\\"/zones/{zid}/dns_records?{q}\\\")\",\"domain = os.environ.get(\\\"CERTBOT_DOMAIN\\\", \\\"\\\")\",\"validation = os.environ.get(\\\"CERTBOT_VALIDATION\\\", \\\"\\\")\",\"out(\\\"CF_AUTH status=review reason=missing_certbot_env\\\")\",\"name = \\\"_acme-challenge.\\\" + domain\",\"status, data = api(\\\"POST\\\", f\\\"/zones/{zid}/dns_records\\\", payload)\",\"time.sleep(45)\",\"domain = os.environ.get(\\\"CERTBOT_DOMAIN\\\", \\\"\\\")\",\"validation = os.environ.get(\\\"CERTBOT_VALIDATION\\\", \\\"\\\")\",\"out(\\\"CF_CLEANUP status=review reason=missing_certbot_env\\\")\",\"status, resp = api(\\\"DELETE\\\", f\\\"/zones/{data['zone_id']}/dns_records/{data['record_id']}\\\")\",\"name = \\\"_acme-challenge.\\\" + domain\",\"api(\\\"DELETE\\\", f\\\"/zones/{zid}/dns_records/{r['id']}\\\")\"]}]},\"config_paths\":{\"9.conf\":[{\"path\":\"/opt/npmplus/manual-backups/forum-public-ok-20260701T064349Z/proxy_host.public-ok/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-manual-routes-20260701T060633Z/proxy_host.before-manual-forums/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/gram1-root-placeholder-20260701T171405Z/proxy_host.before/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-http01-fixed-20260701T151016Z/proxy_host.before-parked-http01-fixed/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-publish-https81-20260701T060242Z/proxy_host.before-forum-publish/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/pvepro-stage22-20260701T173446Z/proxy_host.before/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-dns01-final-20260701T155530Z/proxy_host.before/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-http01-exact-20260701T153237Z/proxy_host.before-parked-http01-exact/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-certs-fixed-20260701T061554Z/proxy_host.before-certs-fixed/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-http01-acme-20260701T151429Z/proxy_host.before-parked-http01-acme/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-certs-before-20260701T061334Z/proxy_host.before-certs/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/batch-publish-20260615T212936Z/proxy_host.before/9.conf\",\"sha256\":\"a5d04a8d52f9dd1e7f5200699297618fc54ae7525a475450ef80368e0edfec58\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-publish-fixed-20260701T060004Z/proxy_host.before-forum-publish/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-http01-20260701T150635Z/proxy_host.before-parked-http01/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/gitea-active-route-switch-20260702T051127Z/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/forum-publish-20260701T055831Z/proxy_host.before-forum-publish/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/manual-backups/parked-stage16-route-only-20260701T155843Z/proxy_host.before/9.conf\",\"sha256\":\"3764265cb2b64d6f5a495efcbd42e451b45a3469a460dc34cab8214088dc3bb4\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/nginx/proxy_host/9.conf\",\"sha256\":\"098f4bd041e62ee6a431c6cbf0db92016b8ec549589c2e1d66e20b16561a7bac\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0}],\"999.conf\":[{\"path\":\"/opt/npmplus/manual-backups/public-server-tokens-20260904T081240Z/999.conf\",\"sha256\":\"fce52d92b088df4d01a8e89f7f45ebc9b37b90469d0bf8c0c220cc56694c283a\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/nginx/proxy_host/999.conf\",\"sha256\":\"d7ef6af1ded8e3ff2fdbc594f55210ef04a487f0183c724e07a4d5c8e03e8281\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0}],\"992.conf\":[{\"path\":\"/opt/npmplus/manual-backups/public-server-tokens-20260904T081240Z/992.conf\",\"sha256\":\"92c93cf35755510c01341f2637ae4d86297c39895fb500523892dd56e32bb27a\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0},{\"path\":\"/opt/npmplus/nginx/proxy_host/992.conf\",\"sha256\":\"38038cdbcc1cc963246837a27e82ed8de79aa358194092f2c494f4e7f68b68a1\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0}],\"git-read-location.conf\":[{\"path\":\"/opt/npmplus/custom_nginx/git-read-location.conf\",\"sha256\":\"9032f6959fdf666bb777378791042b7a99d40d99ddedb0472812a65fc07d81e9\",\"mode\":\"0o644\",\"uid\":0,\"gid\":0}]},\"certbot\":{\"host\":{\"rc\":0,\"out\":\"certbot 4.0.0\",\"err_sha\":null},\"container\":{\"rc\":0,\"out\":\"certbot 5.7.0\",\"err_sha\":null}},\"certbot_help\":{\"host\":{\"rc\":0,\"manual_auth_hook\":true,\"manual_cleanup_hook\":true,\"preferred_challenges\":true},\"container\":{\"rc\":0,\"manual_auth_hook\":true,\"manual_cleanup_hook\":true,\"preferred_challenges\":true}},\"referenced_config_files\":[]}}}\nTASK_COMPLETE=true\nTASK_RESULT=PASS_SPB_HOME_INGRESS_ACME_HOOK_PRECHECK\nDECISION=READ_EXACT_9120_THEN_CONTROLLED_CERT_AND_VHOST_FIX\n"
|
|
}
|