From 7b4e4445e2e50bacdf09723e96ed2dcd00491537 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 29 Jul 2026 18:40:43 +0000 Subject: [PATCH] runtime: publish HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z --- ...DEPLOYMENT-PLAN-FIX1-20260729T184000Z.json | 38 +++++++++++++++++++ ...-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.txt | 34 +++++++++++++++++ runtime/latest.json | 16 ++++---- runtime/latest.txt | 14 +++---- 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.json create mode 100644 runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.txt diff --git a/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.json b/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.json new file mode 100644 index 0000000..21a2da7 --- /dev/null +++ b/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "hbarhub-local-core-apps-deployment-plan-fix1", + "started_at_utc": "2026-07-29T18:40:39Z", + "finished_at_utc": "2026-07-29T18:40:43Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "0c6e3565861761f2ea5b21d9fe7746dd5c4f0c9590c981fccfb43c21f2d86a54", + "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": "a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344", + "sanitized_output_sha256": "a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"17843c5ce02793b59f5536bda2aa5f9f5dc1a4790e45c082690397f3786b4a02\",\"approved_deployment\":{\"compose_project\":\"hbarhub\",\"health\":[\"/health/live\",\"/health/ready\"],\"path\":\"/opt/stacks/hbarhub\",\"port\":8040,\"public_proxy\":false,\"role\":\"core-apps\",\"rollback\":[\"docker compose down --volumes --remove-orphans\",\"remove only hbarhub project images\",\"remove /opt/stacks/hbarhub because precondition requires it absent\"],\"secrets\":\"generated locally on core-apps with restrictive permissions\",\"services\":[\"web\",\"worker\",\"scheduler\",\"postgres\",\"redis\"],\"source_archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\",\"source_commit\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"source_delivery\":\"verified archive from pve01; no Git credentials on core-apps\"},\"changes_made\":false,\"checks\":{\"compose_config_valid\":true,\"core_hostname\":true,\"disk_free_minimum\":true,\"docker_compose_available\":true,\"docker_server_available\":true,\"docker_tags_available\":true,\"memory_available_minimum\":false,\"no_hbarhub_containers\":true,\"no_hbarhub_images\":true,\"no_hbarhub_networks\":true,\"no_hbarhub_volumes\":true,\"no_mutation\":true,\"opt_stacks_exists\":true,\"parent_apply_verified\":true,\"port_8040_free\":true,\"pypi_versions_available\":true,\"repository_clean\":true,\"repository_exact\":true,\"source_archive_verified\":true,\"target_path_absent\":true},\"command_id\":\"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z\",\"core_apps\":{\"capacity\":{\"disk_free_bytes\":76823736320,\"disk_total_bytes\":126605975552,\"memory\":{\"MemAvailable\":2814652416,\"MemTotal\":10435301376}},\"compose_config\":{\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"docker\":{\"compose_available\":true,\"hbarhub_containers\":[],\"hbarhub_images\":[],\"hbarhub_networks\":[],\"hbarhub_volumes\":[],\"present\":true,\"server_available\":true},\"hostname_matches\":true,\"image_endpoints\":{\"postgres:17-alpine\":{\"body_sha256\":\"10c54d313aa9cb5af571a2c27ee6deb7bf715b8be5ffd87bd431461167419f03\",\"body_within_limit\":true,\"http\":200},\"python:3.13-slim-bookworm\":{\"body_sha256\":\"56f02eef1a26a4e8576a57d9510e81a4821825e0782d51308533c5ef3e1bdada\",\"body_within_limit\":true,\"http\":200},\"redis:8-alpine\":{\"body_sha256\":\"90d3a87a7ad4fdde399c2bf2493cb6b9d87f4e89105a0349727a16f32a364112\",\"body_within_limit\":true,\"http\":200}},\"opt_stacks\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks\",\"uid\":0},\"package_endpoints\":{\"Django==6.0.7\":{\"body_sha256\":\"e804a8fe17787c0f90428c1c95670a8b398f75fbc3f97d501178b77510a336af\",\"body_within_limit\":true,\"http\":200},\"celery==5.6.3\":{\"body_sha256\":\"04ef2f4a42d608d03a783e5041c670f63088f484fe3e0b9db13123d5202e7c47\",\"body_within_limit\":true,\"http\":200},\"gunicorn==26.0.0\":{\"body_sha256\":\"9e6d4748de32f8b78925b5caf4e3103c0aa2b3288caca0bc12e1a6cecc158a71\",\"body_within_limit\":true,\"http\":200},\"psycopg==3.3.4\":{\"body_sha256\":\"63d5a4c0721d2ba1ce82e3a460ff276d6d8f049a3f4d51b300500e32c9f354d2\",\"body_within_limit\":true,\"http\":200},\"redis==8.0.1\":{\"body_sha256\":\"399ed4ded863c4baab5e66085220c58e9facd20a1eb3394db77a35694a9d8332\",\"body_within_limit\":true,\"http\":200}},\"port_8040_free\":true,\"role\":\"core-apps\",\"schema\":1,\"target\":{\"exists\":false,\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"path\":\"/opt/stacks/hbarhub\"},\"temporary_archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\"},\"gate\":\"LOCAL_CORE_APPS_DEPLOYMENT_BLOCKED\",\"image_checks\":{\"postgres:17-alpine\":true,\"python:3.13-slim-bookworm\":true,\"redis:8-alpine\":true},\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"TARGETED_LOCAL_DEPLOYMENT_DIAGNOSTIC\",\"package_checks\":{\"Django==6.0.7\":true,\"celery==5.6.3\":true,\"gunicorn==26.0.0\":true,\"psycopg==3.3.4\":true,\"redis==8.0.1\":true},\"parent_evidence\":{\"changeset_sha256\":\"54a29d95776878c40f8996f83857e9c25a84e8ccbb6b0b6151fc4e51660e1d24\",\"new_main\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"pull_request_number\":3,\"result_sequence\":\"34604e5a2cff63e718f0c6927c253fa632be2f9f2c81af0bb76cd2dd5acfa7a8\",\"result_sha256\":\"3c6b2ffd466db964d7728474323b23f599ea933c54c6996e2c8d8ccbc268ae6a\"},\"private_addresses_included\":false,\"repository\":{\"archive_bytes\":10084,\"archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\",\"branch_names\":[\"main\"],\"compose_services\":[\"postgres\",\"redis\",\"scheduler\",\"web\",\"worker\"],\"crypto_assets\":[\"HBAR\",\"POL\",\"AVAX\",\"LINK\"],\"file_count\":27,\"main_head\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"open_pull_request_count\":0,\"parent_head\":\"42a020bf825bb6bb499fca8e438ccb462e6984f0\",\"python_compile\":true,\"requirements\":[\"Django==6.0.7\",\"celery==5.6.3\",\"gunicorn==26.0.0\",\"psycopg[binary]==3.3.4\",\"redis==8.0.1\"],\"tracked_asset_count\":18},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_COMPLETE\"}\n" +} diff --git a/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.txt b/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.txt new file mode 100644 index 0000000..38ab02f --- /dev/null +++ b/runtime/history/HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=hbarhub-local-core-apps-deployment-plan-fix1 +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=0c6e3565861761f2ea5b21d9fe7746dd5c4f0c9590c981fccfb43c21f2d86a54 +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=a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344 +SANITIZED_OUTPUT_SHA256=a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344 +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"17843c5ce02793b59f5536bda2aa5f9f5dc1a4790e45c082690397f3786b4a02","approved_deployment":{"compose_project":"hbarhub","health":["/health/live","/health/ready"],"path":"/opt/stacks/hbarhub","port":8040,"public_proxy":false,"role":"core-apps","rollback":["docker compose down --volumes --remove-orphans","remove only hbarhub project images","remove /opt/stacks/hbarhub because precondition requires it absent"],"secrets":"generated locally on core-apps with restrictive permissions","services":["web","worker","scheduler","postgres","redis"],"source_archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac","source_commit":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","source_delivery":"verified archive from pve01; no Git credentials on core-apps"},"changes_made":false,"checks":{"compose_config_valid":true,"core_hostname":true,"disk_free_minimum":true,"docker_compose_available":true,"docker_server_available":true,"docker_tags_available":true,"memory_available_minimum":false,"no_hbarhub_containers":true,"no_hbarhub_images":true,"no_hbarhub_networks":true,"no_hbarhub_volumes":true,"no_mutation":true,"opt_stacks_exists":true,"parent_apply_verified":true,"port_8040_free":true,"pypi_versions_available":true,"repository_clean":true,"repository_exact":true,"source_archive_verified":true,"target_path_absent":true},"command_id":"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z","core_apps":{"capacity":{"disk_free_bytes":76823736320,"disk_total_bytes":126605975552,"memory":{"MemAvailable":2814652416,"MemTotal":10435301376}},"compose_config":{"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"docker":{"compose_available":true,"hbarhub_containers":[],"hbarhub_images":[],"hbarhub_networks":[],"hbarhub_volumes":[],"present":true,"server_available":true},"hostname_matches":true,"image_endpoints":{"postgres:17-alpine":{"body_sha256":"10c54d313aa9cb5af571a2c27ee6deb7bf715b8be5ffd87bd431461167419f03","body_within_limit":true,"http":200},"python:3.13-slim-bookworm":{"body_sha256":"56f02eef1a26a4e8576a57d9510e81a4821825e0782d51308533c5ef3e1bdada","body_within_limit":true,"http":200},"redis:8-alpine":{"body_sha256":"90d3a87a7ad4fdde399c2bf2493cb6b9d87f4e89105a0349727a16f32a364112","body_within_limit":true,"http":200}},"opt_stacks":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0755","path":"/opt/stacks","uid":0},"package_endpoints":{"Django==6.0.7":{"body_sha256":"e804a8fe17787c0f90428c1c95670a8b398f75fbc3f97d501178b77510a336af","body_within_limit":true,"http":200},"celery==5.6.3":{"body_sha256":"04ef2f4a42d608d03a783e5041c670f63088f484fe3e0b9db13123d5202e7c47","body_within_limit":true,"http":200},"gunicorn==26.0.0":{"body_sha256":"9e6d4748de32f8b78925b5caf4e3103c0aa2b3288caca0bc12e1a6cecc158a71","body_within_limit":true,"http":200},"psycopg==3.3.4":{"body_sha256":"63d5a4c0721d2ba1ce82e3a460ff276d6d8f049a3f4d51b300500e32c9f354d2","body_within_limit":true,"http":200},"redis==8.0.1":{"body_sha256":"399ed4ded863c4baab5e66085220c58e9facd20a1eb3394db77a35694a9d8332","body_within_limit":true,"http":200}},"port_8040_free":true,"role":"core-apps","schema":1,"target":{"exists":false,"is_dir":false,"is_file":false,"is_symlink":false,"path":"/opt/stacks/hbarhub"},"temporary_archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac"},"gate":"LOCAL_CORE_APPS_DEPLOYMENT_BLOCKED","image_checks":{"postgres:17-alpine":true,"python:3.13-slim-bookworm":true,"redis:8-alpine":true},"mutation_outcome":"NO_MUTATION","next_stage":"TARGETED_LOCAL_DEPLOYMENT_DIAGNOSTIC","package_checks":{"Django==6.0.7":true,"celery==5.6.3":true,"gunicorn==26.0.0":true,"psycopg==3.3.4":true,"redis==8.0.1":true},"parent_evidence":{"changeset_sha256":"54a29d95776878c40f8996f83857e9c25a84e8ccbb6b0b6151fc4e51660e1d24","new_main":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","pull_request_number":3,"result_sequence":"34604e5a2cff63e718f0c6927c253fa632be2f9f2c81af0bb76cd2dd5acfa7a8","result_sha256":"3c6b2ffd466db964d7728474323b23f599ea933c54c6996e2c8d8ccbc268ae6a"},"private_addresses_included":false,"repository":{"archive_bytes":10084,"archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac","branch_names":["main"],"compose_services":["postgres","redis","scheduler","web","worker"],"crypto_assets":["HBAR","POL","AVAX","LINK"],"file_count":27,"main_head":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","open_pull_request_count":0,"parent_head":"42a020bf825bb6bb499fca8e438ccb462e6984f0","python_compile":true,"requirements":["Django==6.0.7","celery==5.6.3","gunicorn==26.0.0","psycopg[binary]==3.3.4","redis==8.0.1"],"tracked_asset_count":18},"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"PLAN_COMPLETE"} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 61d5afd..21a2da7 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z", + "command_id": "HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", - "component": "hbarhub-parent-runner-contract-diag-v1", - "started_at_utc": "2026-07-29T18:34:11Z", - "finished_at_utc": "2026-07-29T18:34:11Z", + "component": "hbarhub-local-core-apps-deployment-plan-fix1", + "started_at_utc": "2026-07-29T18:40:39Z", + "finished_at_utc": "2026-07-29T18:40:43Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "637f8ac5acbd3b432b969eeeae763d151b58116c9c57a945024353b030d3671a", + "command_sha256": "0c6e3565861761f2ea5b21d9fe7746dd5c4f0c9590c981fccfb43c21f2d86a54", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "aba5820c38a4130e4161f2ba40673080b5505b548529c5a5f08356d630f985c6", - "sanitized_output_sha256": "aba5820c38a4130e4161f2ba40673080b5505b548529c5a5f08356d630f985c6", + "raw_evidence_sha256": "a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344", + "sanitized_output_sha256": "a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"apply_document\":{\"action\":\"MERGED_APPLICATION_SCAFFOLD_PULL_REQUEST\",\"cleanup_warning\":null,\"file_count\":23,\"mutation_outcome\":\"APPLIED\",\"new_main\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"next_stage\":\"LOCAL_CORE_APPS_DEPLOYMENT_PLAN\",\"old_main\":\"42a020bf825bb6bb499fca8e438ccb462e6984f0\",\"pull_request_number\":3,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"APPLY_OK\",\"work_branch_deleted\":true},\"changes_made\":false,\"command_id\":\"HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z\",\"mutation_outcome\":\"NO_MUTATION\",\"outer_lookup_status\":\"ok\",\"parent_identity\":{\"capsule_sha256\":\"5973f6fade6f83f4c9b455c8b9f062b4ad71b395d9f4e31a6b8204aa1658e1e3\",\"command_id\":\"HBARHUB-APPLICATION-SCAFFOLD-PR-APPLY-V2-20260729T172000Z\",\"result_sha256\":\"bf436a0de18f18c676c8e4a39006a55dcab3f96714a162c877116d67309b1fd1\",\"runner_json_sha256\":\"a5179778905d6d2a5f9ec54b130f3e8738682e443dfa4841011df232a75fd700\"},\"private_addresses_included\":false,\"result_contract\":{\"changes_made\":true,\"command_id\":\"HBARHUB-APPLICATION-SCAFFOLD-PR-APPLY-V2-20260729T172000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1},\"rollback_restored\":null,\"rollback_started\":false,\"runner_contract_evaluation\":{\"checks\":{\"command_rc\":true,\"mutation_outcome\":false,\"output_truncated_in_json\":true,\"rc\":true,\"status\":true},\"expected\":{\"command_rc\":0,\"mutation_outcome\":\"APPLIED\",\"output_truncated_in_json\":false,\"rc\":0,\"status\":\"OK\"},\"failed_checks\":[\"mutation_outcome\"],\"observed\":{\"command_rc\":0,\"mutation_outcome\":\"MUTATED\",\"output_truncated_in_json\":false,\"rc\":0,\"status\":\"OK\"}},\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"single_root_cause\":\"mutation_outcome\",\"status\":\"DIAG_COMPLETE\"}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"17843c5ce02793b59f5536bda2aa5f9f5dc1a4790e45c082690397f3786b4a02\",\"approved_deployment\":{\"compose_project\":\"hbarhub\",\"health\":[\"/health/live\",\"/health/ready\"],\"path\":\"/opt/stacks/hbarhub\",\"port\":8040,\"public_proxy\":false,\"role\":\"core-apps\",\"rollback\":[\"docker compose down --volumes --remove-orphans\",\"remove only hbarhub project images\",\"remove /opt/stacks/hbarhub because precondition requires it absent\"],\"secrets\":\"generated locally on core-apps with restrictive permissions\",\"services\":[\"web\",\"worker\",\"scheduler\",\"postgres\",\"redis\"],\"source_archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\",\"source_commit\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"source_delivery\":\"verified archive from pve01; no Git credentials on core-apps\"},\"changes_made\":false,\"checks\":{\"compose_config_valid\":true,\"core_hostname\":true,\"disk_free_minimum\":true,\"docker_compose_available\":true,\"docker_server_available\":true,\"docker_tags_available\":true,\"memory_available_minimum\":false,\"no_hbarhub_containers\":true,\"no_hbarhub_images\":true,\"no_hbarhub_networks\":true,\"no_hbarhub_volumes\":true,\"no_mutation\":true,\"opt_stacks_exists\":true,\"parent_apply_verified\":true,\"port_8040_free\":true,\"pypi_versions_available\":true,\"repository_clean\":true,\"repository_exact\":true,\"source_archive_verified\":true,\"target_path_absent\":true},\"command_id\":\"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z\",\"core_apps\":{\"capacity\":{\"disk_free_bytes\":76823736320,\"disk_total_bytes\":126605975552,\"memory\":{\"MemAvailable\":2814652416,\"MemTotal\":10435301376}},\"compose_config\":{\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"docker\":{\"compose_available\":true,\"hbarhub_containers\":[],\"hbarhub_images\":[],\"hbarhub_networks\":[],\"hbarhub_volumes\":[],\"present\":true,\"server_available\":true},\"hostname_matches\":true,\"image_endpoints\":{\"postgres:17-alpine\":{\"body_sha256\":\"10c54d313aa9cb5af571a2c27ee6deb7bf715b8be5ffd87bd431461167419f03\",\"body_within_limit\":true,\"http\":200},\"python:3.13-slim-bookworm\":{\"body_sha256\":\"56f02eef1a26a4e8576a57d9510e81a4821825e0782d51308533c5ef3e1bdada\",\"body_within_limit\":true,\"http\":200},\"redis:8-alpine\":{\"body_sha256\":\"90d3a87a7ad4fdde399c2bf2493cb6b9d87f4e89105a0349727a16f32a364112\",\"body_within_limit\":true,\"http\":200}},\"opt_stacks\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks\",\"uid\":0},\"package_endpoints\":{\"Django==6.0.7\":{\"body_sha256\":\"e804a8fe17787c0f90428c1c95670a8b398f75fbc3f97d501178b77510a336af\",\"body_within_limit\":true,\"http\":200},\"celery==5.6.3\":{\"body_sha256\":\"04ef2f4a42d608d03a783e5041c670f63088f484fe3e0b9db13123d5202e7c47\",\"body_within_limit\":true,\"http\":200},\"gunicorn==26.0.0\":{\"body_sha256\":\"9e6d4748de32f8b78925b5caf4e3103c0aa2b3288caca0bc12e1a6cecc158a71\",\"body_within_limit\":true,\"http\":200},\"psycopg==3.3.4\":{\"body_sha256\":\"63d5a4c0721d2ba1ce82e3a460ff276d6d8f049a3f4d51b300500e32c9f354d2\",\"body_within_limit\":true,\"http\":200},\"redis==8.0.1\":{\"body_sha256\":\"399ed4ded863c4baab5e66085220c58e9facd20a1eb3394db77a35694a9d8332\",\"body_within_limit\":true,\"http\":200}},\"port_8040_free\":true,\"role\":\"core-apps\",\"schema\":1,\"target\":{\"exists\":false,\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"path\":\"/opt/stacks/hbarhub\"},\"temporary_archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\"},\"gate\":\"LOCAL_CORE_APPS_DEPLOYMENT_BLOCKED\",\"image_checks\":{\"postgres:17-alpine\":true,\"python:3.13-slim-bookworm\":true,\"redis:8-alpine\":true},\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"TARGETED_LOCAL_DEPLOYMENT_DIAGNOSTIC\",\"package_checks\":{\"Django==6.0.7\":true,\"celery==5.6.3\":true,\"gunicorn==26.0.0\":true,\"psycopg==3.3.4\":true,\"redis==8.0.1\":true},\"parent_evidence\":{\"changeset_sha256\":\"54a29d95776878c40f8996f83857e9c25a84e8ccbb6b0b6151fc4e51660e1d24\",\"new_main\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"pull_request_number\":3,\"result_sequence\":\"34604e5a2cff63e718f0c6927c253fa632be2f9f2c81af0bb76cd2dd5acfa7a8\",\"result_sha256\":\"3c6b2ffd466db964d7728474323b23f599ea933c54c6996e2c8d8ccbc268ae6a\"},\"private_addresses_included\":false,\"repository\":{\"archive_bytes\":10084,\"archive_sha256\":\"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac\",\"branch_names\":[\"main\"],\"compose_services\":[\"postgres\",\"redis\",\"scheduler\",\"web\",\"worker\"],\"crypto_assets\":[\"HBAR\",\"POL\",\"AVAX\",\"LINK\"],\"file_count\":27,\"main_head\":\"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957\",\"open_pull_request_count\":0,\"parent_head\":\"42a020bf825bb6bb499fca8e438ccb462e6984f0\",\"python_compile\":true,\"requirements\":[\"Django==6.0.7\",\"celery==5.6.3\",\"gunicorn==26.0.0\",\"psycopg[binary]==3.3.4\",\"redis==8.0.1\"],\"tracked_asset_count\":18},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_COMPLETE\"}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index cf14ea8..38ab02f 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z +COMMAND_ID=HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z STATUS=OK RC=0 HOST=pve01 MODE=verify -COMPONENT=hbarhub-parent-runner-contract-diag-v1 +COMPONENT=hbarhub-local-core-apps-deployment-plan-fix1 REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=637f8ac5acbd3b432b969eeeae763d151b58116c9c57a945024353b030d3671a +COMMAND_SHA256=0c6e3565861761f2ea5b21d9fe7746dd5c4f0c9590c981fccfb43c21f2d86a54 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=aba5820c38a4130e4161f2ba40673080b5505b548529c5a5f08356d630f985c6 -SANITIZED_OUTPUT_SHA256=aba5820c38a4130e4161f2ba40673080b5505b548529c5a5f08356d630f985c6 +RAW_EVIDENCE_SHA256=a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344 +SANITIZED_OUTPUT_SHA256=a2d2ab009f2f10f2379393a5fe42848ee84c87ceae0e607823eb670bf5ffc344 OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -{"apply_document":{"action":"MERGED_APPLICATION_SCAFFOLD_PULL_REQUEST","cleanup_warning":null,"file_count":23,"mutation_outcome":"APPLIED","new_main":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","next_stage":"LOCAL_CORE_APPS_DEPLOYMENT_PLAN","old_main":"42a020bf825bb6bb499fca8e438ccb462e6984f0","pull_request_number":3,"rollback_restored":null,"rollback_started":false,"status":"APPLY_OK","work_branch_deleted":true},"changes_made":false,"command_id":"HBARHUB-PARENT-RUNNER-CONTRACT-DIAG-V1-20260729T183000Z","mutation_outcome":"NO_MUTATION","outer_lookup_status":"ok","parent_identity":{"capsule_sha256":"5973f6fade6f83f4c9b455c8b9f062b4ad71b395d9f4e31a6b8204aa1658e1e3","command_id":"HBARHUB-APPLICATION-SCAFFOLD-PR-APPLY-V2-20260729T172000Z","result_sha256":"bf436a0de18f18c676c8e4a39006a55dcab3f96714a162c877116d67309b1fd1","runner_json_sha256":"a5179778905d6d2a5f9ec54b130f3e8738682e443dfa4841011df232a75fd700"},"private_addresses_included":false,"result_contract":{"changes_made":true,"command_id":"HBARHUB-APPLICATION-SCAFFOLD-PR-APPLY-V2-20260729T172000Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1},"rollback_restored":null,"rollback_started":false,"runner_contract_evaluation":{"checks":{"command_rc":true,"mutation_outcome":false,"output_truncated_in_json":true,"rc":true,"status":true},"expected":{"command_rc":0,"mutation_outcome":"APPLIED","output_truncated_in_json":false,"rc":0,"status":"OK"},"failed_checks":["mutation_outcome"],"observed":{"command_rc":0,"mutation_outcome":"MUTATED","output_truncated_in_json":false,"rc":0,"status":"OK"}},"sanitized":true,"schema":1,"secrets_included":false,"single_root_cause":"mutation_outcome","status":"DIAG_COMPLETE"} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"17843c5ce02793b59f5536bda2aa5f9f5dc1a4790e45c082690397f3786b4a02","approved_deployment":{"compose_project":"hbarhub","health":["/health/live","/health/ready"],"path":"/opt/stacks/hbarhub","port":8040,"public_proxy":false,"role":"core-apps","rollback":["docker compose down --volumes --remove-orphans","remove only hbarhub project images","remove /opt/stacks/hbarhub because precondition requires it absent"],"secrets":"generated locally on core-apps with restrictive permissions","services":["web","worker","scheduler","postgres","redis"],"source_archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac","source_commit":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","source_delivery":"verified archive from pve01; no Git credentials on core-apps"},"changes_made":false,"checks":{"compose_config_valid":true,"core_hostname":true,"disk_free_minimum":true,"docker_compose_available":true,"docker_server_available":true,"docker_tags_available":true,"memory_available_minimum":false,"no_hbarhub_containers":true,"no_hbarhub_images":true,"no_hbarhub_networks":true,"no_hbarhub_volumes":true,"no_mutation":true,"opt_stacks_exists":true,"parent_apply_verified":true,"port_8040_free":true,"pypi_versions_available":true,"repository_clean":true,"repository_exact":true,"source_archive_verified":true,"target_path_absent":true},"command_id":"HBARHUB-LOCAL-CORE-APPS-DEPLOYMENT-PLAN-FIX1-20260729T184000Z","core_apps":{"capacity":{"disk_free_bytes":76823736320,"disk_total_bytes":126605975552,"memory":{"MemAvailable":2814652416,"MemTotal":10435301376}},"compose_config":{"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"docker":{"compose_available":true,"hbarhub_containers":[],"hbarhub_images":[],"hbarhub_networks":[],"hbarhub_volumes":[],"present":true,"server_available":true},"hostname_matches":true,"image_endpoints":{"postgres:17-alpine":{"body_sha256":"10c54d313aa9cb5af571a2c27ee6deb7bf715b8be5ffd87bd431461167419f03","body_within_limit":true,"http":200},"python:3.13-slim-bookworm":{"body_sha256":"56f02eef1a26a4e8576a57d9510e81a4821825e0782d51308533c5ef3e1bdada","body_within_limit":true,"http":200},"redis:8-alpine":{"body_sha256":"90d3a87a7ad4fdde399c2bf2493cb6b9d87f4e89105a0349727a16f32a364112","body_within_limit":true,"http":200}},"opt_stacks":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0755","path":"/opt/stacks","uid":0},"package_endpoints":{"Django==6.0.7":{"body_sha256":"e804a8fe17787c0f90428c1c95670a8b398f75fbc3f97d501178b77510a336af","body_within_limit":true,"http":200},"celery==5.6.3":{"body_sha256":"04ef2f4a42d608d03a783e5041c670f63088f484fe3e0b9db13123d5202e7c47","body_within_limit":true,"http":200},"gunicorn==26.0.0":{"body_sha256":"9e6d4748de32f8b78925b5caf4e3103c0aa2b3288caca0bc12e1a6cecc158a71","body_within_limit":true,"http":200},"psycopg==3.3.4":{"body_sha256":"63d5a4c0721d2ba1ce82e3a460ff276d6d8f049a3f4d51b300500e32c9f354d2","body_within_limit":true,"http":200},"redis==8.0.1":{"body_sha256":"399ed4ded863c4baab5e66085220c58e9facd20a1eb3394db77a35694a9d8332","body_within_limit":true,"http":200}},"port_8040_free":true,"role":"core-apps","schema":1,"target":{"exists":false,"is_dir":false,"is_file":false,"is_symlink":false,"path":"/opt/stacks/hbarhub"},"temporary_archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac"},"gate":"LOCAL_CORE_APPS_DEPLOYMENT_BLOCKED","image_checks":{"postgres:17-alpine":true,"python:3.13-slim-bookworm":true,"redis:8-alpine":true},"mutation_outcome":"NO_MUTATION","next_stage":"TARGETED_LOCAL_DEPLOYMENT_DIAGNOSTIC","package_checks":{"Django==6.0.7":true,"celery==5.6.3":true,"gunicorn==26.0.0":true,"psycopg==3.3.4":true,"redis==8.0.1":true},"parent_evidence":{"changeset_sha256":"54a29d95776878c40f8996f83857e9c25a84e8ccbb6b0b6151fc4e51660e1d24","new_main":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","pull_request_number":3,"result_sequence":"34604e5a2cff63e718f0c6927c253fa632be2f9f2c81af0bb76cd2dd5acfa7a8","result_sha256":"3c6b2ffd466db964d7728474323b23f599ea933c54c6996e2c8d8ccbc268ae6a"},"private_addresses_included":false,"repository":{"archive_bytes":10084,"archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac","branch_names":["main"],"compose_services":["postgres","redis","scheduler","web","worker"],"crypto_assets":["HBAR","POL","AVAX","LINK"],"file_count":27,"main_head":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","open_pull_request_count":0,"parent_head":"42a020bf825bb6bb499fca8e438ccb462e6984f0","python_compile":true,"requirements":["Django==6.0.7","celery==5.6.3","gunicorn==26.0.0","psycopg[binary]==3.3.4","redis==8.0.1"],"tracked_asset_count":18},"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"PLAN_COMPLETE"} OUTPUT_END CHAT_OUTPUT_END