1
0
Files
homelab-public-context/runtime/history/HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-V4-20260803T091507Z.txt

35 lines
17 KiB
Plaintext

CHAT_OUTPUT_BEGIN
COMMAND_ID=HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-V4-20260803T091507Z
STATUS=FAIL
RC=1
HOST=pve01
MODE=verify
COMPONENT=hbarhub-standard-local-deployment-plan-v4
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=7e96109fc1ec6a4c01907f9bbdf0a4a567ccfc27b25736e9bf7b41a0cc60c439
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=1
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=83f8961230bac64031c24e21208ca7b7e6fa042fff0024fbaf29265561f3e19c
SANITIZED_OUTPUT_SHA256=83f8961230bac64031c24e21208ca7b7e6fa042fff0024fbaf29265561f3e19c
OUTPUT_BEGIN
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-V4-20260803T091507Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
{"PLAN_SHA256":null,"candidate_plan_sha256":"7b2c0997d18e5d76cbc083272a9242518f7ac9c3863fda1452f04b574d8667a9","capacity":{"disk":{"available_bytes":76467351552,"gate":true,"required_available_bytes":10737418240,"total_bytes":126605975552},"memory":{"available_bytes":2744389632,"required_available_bytes":2147483648,"standard_gate":true,"swap_free_bytes":6714781696,"swap_total_bytes":8589930496,"total_bytes":10435301376}},"changes_made":false,"checks":{"archive_bytes_exact":false,"archive_sha256_exact":false,"compose_config_valid":false,"compose_services_exact":false,"core_hostname":true,"disk_gate":true,"docker_available":true,"no_hbarhub_containers":true,"no_hbarhub_images":true,"no_hbarhub_networks":true,"no_hbarhub_volumes":true,"only_main_branch":true,"port_8040_free":true,"python_syntax_valid":true,"read_only":true,"requirements_exact":true,"safe_manifest_exact":true,"source_available":true,"source_commit_exact":true,"source_tree_exact":true,"standard_memory_gate":true,"target_env_absent":true,"target_path_absent":true,"tracked_file_count_exact":true,"tracked_total_bytes_exact":true,"tree_listing_exact":true,"tree_path_set_exact":true},"command_audit":[{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-candidate-1-is-bare","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":5,"stdout_sha256":"a17fcf0a2f50e2d495e4f90ce263410edc183add6c62699a2facbccf60410f74","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-head","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":41,"stdout_sha256":"dc0f064e529250268d3ff6232078a19aca8a12b3abc0291e79756ffde77303ed","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-tree","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":41,"stdout_sha256":"59f30ea418f3e638f5c0294f375feeda787f7da9acc07ac67f8276032be811a2","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-branches","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":5,"stdout_sha256":"6403203dd5a0867eb14d104ee8a73730bd72dd9ad92e78d996a6dba0a5dcfc01","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-ls-tree","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":2095,"stdout_sha256":"8119f9a0c680eca043b5d648b8bf90567c90e5a6ae4f503779f4e8b66fcaa954","timed_out":false,"tool":"git"},{"duration_ms":5,"output_within_limit":true,"rc":0,"stage":"git-main-archive","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":9760,"stdout_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","timed_out":false,"tool":"git"},{"duration_ms":10,"output_within_limit":true,"rc":0,"stage":"docker-server-version","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":13,"stdout_sha256":"8484e7b831ba500ccf015246dc0a7b3f98de3c11519b347437ff8e91db018257","timed_out":false,"tool":"docker"},{"duration_ms":30,"output_within_limit":true,"rc":0,"stage":"docker-compose-version","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":9,"stdout_sha256":"9a98539f27de5f629edafed2968b89d8ca06b9b39c9469ed2c22f3ca265bb6f9","timed_out":false,"tool":"docker"},{"duration_ms":7,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-containers","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":7,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-networks","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":7,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-volumes","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":12,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-images","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":28,"output_within_limit":true,"rc":16,"stage":"docker-compose-config","stderr_bytes":34,"stderr_sha256":"ba21762623983ad018d6304d027d71b6daf31b7c183482acf2579424be4cc326","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"}],"command_id":"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-V4-20260803T091507Z","container_environment_requested":false,"control_plane_error":null,"diagnosis":"DOCKER_COMPOSE_CONFIG_FAILED","diagnostic_complete":false,"docker":{"available":true,"compose_config":{"attempted":true,"config_bytes":0,"config_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","rc":16,"secret_file_read":false,"services":[],"services_match":false,"stderr_bytes":34,"stderr_sha256":"ba21762623983ad018d6304d027d71b6daf31b7c183482acf2579424be4cc326","valid":false},"compose_version":"2.26.1-4","container_environment_requested":false,"containers":[],"images":[],"networks":[],"server_version":"26.1.5+dfsg1","volumes":[]},"duration_ms":116,"failed_checks":["archive_bytes_exact","archive_sha256_exact","compose_config_valid","compose_services_exact"],"failures":["DOCKER_COMPOSE_CONFIG_FAILED"],"gate":"DEPLOYMENT_PLAN_DIAGNOSTIC_INCOMPLETE","identity":{"expected_hostname":"core-apps","hostname_short":"core-apps","matches":true},"mutation_outcome":"NO_MUTATION","plan":{"acceptance":["all five services are present","postgres and redis are healthy","web is healthy and /health/live returns success","/health/ready returns success after migrations","worker and scheduler are running","Gitea main remains unchanged","public proxy remains unchanged"],"apply_operations":["create /opt/stacks/hbarhub from the verified in-memory git archive","generate deployment secrets locally and write .env mode 0600","validate docker compose config again","build only the hbarhub application image","start postgres and redis, then run Django migrations","start web, worker, and scheduler","verify local live and ready health on port 8040"],"apply_preconditions":["all source locks match exactly","only main branch is present","target path and target .env are absent","no hbarhub containers, networks, volumes, or images exist","port 8040 has no listener","standard memory and disk gates pass","docker compose config validates the exact source"],"forbidden":["modify Gitea refs or repository content","modify NPMplus, DNS, TLS, or any public proxy","modify monitoring, backups, or other compose projects","read, print, publish, or return generated secret values","write outside the new stack and Docker resources labeled project hbarhub"],"next_stage":"STANDARD_LOCAL_DEPLOYMENT_APPLY","operation":"HBARHUB_FRESH_STANDARD_LOCAL_DEPLOYMENT","parent_inventory":{"capsule_sha256":"f481eb2474abce05efc6dda22d3be0fafc18d2e214880d44ecb8d78b2cd9dc88","command_id":"HBARHUB-READONLY-INVENTORY-V3-20260803T084243Z","output_sha256":"7b70a290dc7df9007fe86173b4a78b52de6c6ed8036da67ae5aaf34f3efcaed5","runner_json_sha256":"ccb1be4794c46e97a51678bf8b810edc40699ef49dd7bbdd980eb9fbf66409cf"},"profile":{"health_endpoints":["/health/live","/health/ready"],"minimum_available_disk_bytes":10737418240,"minimum_available_memory_bytes":2147483648,"name":"STANDARD","services":["postgres","redis","scheduler","web","worker"]},"rollback":{"operations":["capture sanitized failure evidence","docker compose down --volumes --remove-orphans","remove only application images created by this apply","remove only /opt/stacks/hbarhub created by this apply","verify no hbarhub resources remain and port 8040 is free"],"preexisting_data_preserved":"preconditions require no preexisting stack or project resources","trigger":"any failed post-mutation check"},"schema":1,"source_lock":{"archive_bytes":10084,"archive_sha256":"25fb04b8dd74d4da2f50ba3aef76680b1813799a61fbd26c55bfcc1466cf82ac","branch":"main","commit":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","delivery":"local bare repository git archive; no Git credentials","repository":"homelab-admin/hbarhub","tree":"7e13a2e1b5ab35046dbe172383a814151c16cce0"},"target":{"compose_project":"hbarhub","hostname":"core-apps","local_port":8040,"public_proxy":false,"role":"core-apps","stack_path":"/opt/stacks/hbarhub","vmid":170}},"port_listener":{"addresses_read_from_output":false,"errors":[],"kernel_tables_read":2,"listener_entry_count":0,"listener_present":false,"port":8040},"private_addresses_included":false,"rc":1,"read_only":true,"ready_for_apply":false,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secret_files_read":false,"secrets_included":false,"source":{"archive_bytes":9760,"archive_member_count":33,"archive_member_set_sha256":"2bb39282d17b0cbcb368739c4cbd947b72c43585b527b3e685937b6e6dd2b142","archive_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","available":true,"branch_names":["main"],"env_example_key_count":12,"env_example_key_set_sha256":"730754b06ebb1f8d8855881238d6d5ed290120bb911b1f22cc68c12b4759085e","invalid_utf8_path_count":0,"main_head":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","main_tree":"7e13a2e1b5ab35046dbe172383a814151c16cce0","published_path_candidates":[{"bare_repository":true,"bytes":4096,"exists":true,"gid":1000,"git_rc":0,"kind":"directory","mode":"0755","path":"/opt/stacks/gitea/data/git/repositories/homelab-admin/hbarhub.git","uid":1000},{"exists":false,"kind":null,"path":"/opt/stacks/gitea/data/gitea-repositories/homelab-admin/hbarhub.git"}],"python_compile_failures":[],"python_file_count":13,"requirements":["Django==6.0.7","celery==5.6.3","gunicorn==26.0.0","psycopg[binary]==3.3.4","redis==8.0.1"],"requirements_match":true,"safe_manifest":{".dockerignore":{"bytes":82,"exists":true,"expected_sha256":"3870cba2def4ee4e45c8ef33cb7239c6d391a9b57ff17e9b26d7bbdaf03501fa","matches":true,"sha256":"3870cba2def4ee4e45c8ef33cb7239c6d391a9b57ff17e9b26d7bbdaf03501fa"},".env.example":{"bytes":419,"exists":true,"expected_sha256":"0c93f24bb448c384a430b65bebcd54b86b570c62df88aa073e1342f7a3eba5b3","matches":true,"sha256":"0c93f24bb448c384a430b65bebcd54b86b570c62df88aa073e1342f7a3eba5b3"},"Dockerfile":{"bytes":477,"exists":true,"expected_sha256":"9c0be49681f983c329937f486427dbf002b826973a48d5c1851de7f55a6ce1ab","matches":true,"sha256":"9c0be49681f983c329937f486427dbf002b826973a48d5c1851de7f55a6ce1ab"},"README.md":{"bytes":1429,"exists":true,"expected_sha256":"3b6de9c4d5c9f76d51280bb395f86e3cf51b69c982ea6a5a8d3740d09739cfff","matches":true,"sha256":"3b6de9c4d5c9f76d51280bb395f86e3cf51b69c982ea6a5a8d3740d09739cfff"},"compose.yaml":{"bytes":2980,"exists":true,"expected_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","matches":true,"sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc"},"config/assets.json":{"bytes":2787,"exists":true,"expected_sha256":"dfa2fc55e610dc5bb341169c24d45aaaf4143a1b8c9d021db37a8a8725cd15ff","matches":true,"sha256":"dfa2fc55e610dc5bb341169c24d45aaaf4143a1b8c9d021db37a8a8725cd15ff"},"docs/ARCHITECTURE.md":{"bytes":1214,"exists":true,"expected_sha256":"cf219e2f0ee4be0e4881afc7035afff4c79b167579486ecf2eb601fd925d0e8e","matches":true,"sha256":"cf219e2f0ee4be0e4881afc7035afff4c79b167579486ecf2eb601fd925d0e8e"},"docs/OPERATIONS.md":{"bytes":957,"exists":true,"expected_sha256":"5b41e7fcb4527eea3e5ab2496ec2239d8021ae8843c302a9f5371d77fdd043a7","matches":true,"sha256":"5b41e7fcb4527eea3e5ab2496ec2239d8021ae8843c302a9f5371d77fdd043a7"},"hbarhub/__init__.py":{"bytes":65,"exists":true,"expected_sha256":"8974a9c493587f508e73f358876ade4f3ab0369012b29ffb14280dbe30f721ce","matches":true,"sha256":"8974a9c493587f508e73f358876ade4f3ab0369012b29ffb14280dbe30f721ce"},"hbarhub/celery.py":{"bytes":223,"exists":true,"expected_sha256":"b33bfae9785e01372e6b3c88a5747275013831fa5b323cfc60ada4f361551a47","matches":true,"sha256":"b33bfae9785e01372e6b3c88a5747275013831fa5b323cfc60ada4f361551a47"},"hbarhub/settings.py":{"bytes":3614,"exists":true,"expected_sha256":"662118548cce23f916be7ed66a468255a3405a3430b301bfe5adba4b764a1f88","matches":true,"sha256":"662118548cce23f916be7ed66a468255a3405a3430b301bfe5adba4b764a1f88"},"hbarhub/urls.py":{"bytes":165,"exists":true,"expected_sha256":"ddcebb4348c298dd8047df40cd1698603523f8a4ced6b518ad58f4b724db8cac","matches":true,"sha256":"ddcebb4348c298dd8047df40cd1698603523f8a4ced6b518ad58f4b724db8cac"},"hbarhub/wsgi.py":{"bytes":168,"exists":true,"expected_sha256":"03ee75d6dd996de897b4a1c221584459e3b41c507d21f010d5b0372c4da8a630","matches":true,"sha256":"03ee75d6dd996de897b4a1c221584459e3b41c507d21f010d5b0372c4da8a630"},"manage.py":{"bytes":284,"exists":true,"expected_sha256":"f9cca66c33a7b629895d0637299fa3aa2396ab6759bcade14ed28a6e2d306b5a","matches":true,"sha256":"f9cca66c33a7b629895d0637299fa3aa2396ab6759bcade14ed28a6e2d306b5a"},"portal/__init__.py":{"bytes":0,"exists":true,"expected_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","matches":true,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"portal/apps.py":{"bytes":174,"exists":true,"expected_sha256":"9308f2f4d7e9d110253fe8574aa42edeabd35a7316ab740d9e5e6ac0ee5498a2","matches":true,"sha256":"9308f2f4d7e9d110253fe8574aa42edeabd35a7316ab740d9e5e6ac0ee5498a2"},"portal/assets.py":{"bytes":911,"exists":true,"expected_sha256":"ce231cb3af3460166ef2a23c1456e3f704e44d9f19db42ce030af8a4bea71019","matches":true,"sha256":"ce231cb3af3460166ef2a23c1456e3f704e44d9f19db42ce030af8a4bea71019"},"portal/tasks.py":{"bytes":192,"exists":true,"expected_sha256":"8b4402ff2ac1c8603bc9c0821ca16b3b6d610facad7eccf76b83076ee912f0b2","matches":true,"sha256":"8b4402ff2ac1c8603bc9c0821ca16b3b6d610facad7eccf76b83076ee912f0b2"},"portal/templates/portal/home.html":{"bytes":3478,"exists":true,"expected_sha256":"bad177066fedee2f8e427cb81ba9c32db4ae36ce533ce0f2090e60b6970378ae","matches":true,"sha256":"bad177066fedee2f8e427cb81ba9c32db4ae36ce533ce0f2090e60b6970378ae"},"portal/tests.py":{"bytes":1371,"exists":true,"expected_sha256":"42420399fd48c97ce5ab4872d95b5490e0d3a266df8677d31d0ee1987852c9ff","matches":true,"sha256":"42420399fd48c97ce5ab4872d95b5490e0d3a266df8677d31d0ee1987852c9ff"},"portal/urls.py":{"bytes":260,"exists":true,"expected_sha256":"164665d9a442ab79bc4c0f250d1e3d76a096b4f93825e9900fab5bde0d53a088","matches":true,"sha256":"164665d9a442ab79bc4c0f250d1e3d76a096b4f93825e9900fab5bde0d53a088"},"portal/views.py":{"bytes":1449,"exists":true,"expected_sha256":"b1166fa6008792a83701740f560f93a3b74b3203003bc738c35a5f56454c1f14","matches":true,"sha256":"b1166fa6008792a83701740f560f93a3b74b3203003bc738c35a5f56454c1f14"},"requirements.txt":{"bytes":81,"exists":true,"expected_sha256":"9838729f64d26b126c20f47836bcedfc97262a46059c6f810e088b1b7bf02ffa","matches":true,"sha256":"9838729f64d26b126c20f47836bcedfc97262a46059c6f810e088b1b7bf02ffa"}},"safe_manifest_all_match":true,"safe_manifest_scope":"PUBLISHED_23_SOURCE_FILES","secret_file_read":false,"selected_path":"/opt/stacks/gitea/data/git/repositories/homelab-admin/hbarhub.git","tracked_file_count":27,"tracked_total_bytes":26067,"tree_listing_sha256":"8119f9a0c680eca043b5d648b8bf90567c90e5a6ae4f503779f4e8b66fcaa954","tree_path_set_sha256":"245c3f22584759bed02f493855facb68662333953100f036716afffc1f65e83f"},"stack":{"root":{"exists":false,"kind":null,"path":"/opt/stacks/hbarhub"},"secret_env_metadata_only":{"content_read":false,"exists":false,"kind":null,"path":"/opt/stacks/hbarhub/.env"}},"status":"FAIL","unexpected_exception":{}}
OUTPUT_END
CHAT_OUTPUT_END