35 lines
17 KiB
Plaintext
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
|