diff --git a/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.json b/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.json new file mode 100644 index 0000000..9a9d2f2 --- /dev/null +++ b/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "hbarhub-application-local-stack-plan-v1", + "started_at_utc": "2026-07-29T16:35:57Z", + "finished_at_utc": "2026-07-29T16:35:58Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "c0e65625810f0ed77bc9b09266d6cdb4e616d67b52737eab635c574cc09bb8c4", + "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": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", + "sanitized_output_sha256": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", + "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-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"2eaf961aa1e96915b39f5d4c7b70625ce755b80c358b6969753021a393892ba1\",\"approved_application_plan\":{\"application\":{\"first_release_scope\":[\"русская стартовая страница\",\"HBAR, POL, AVAX, LINK\",\"18 отслеживаемых активов\",\"health/readiness\",\"PostgreSQL, Redis, Celery worker и scheduler\",\"без публичного proxy\",\"без торговых API-ключей\"],\"framework\":\"Django\",\"health_endpoints\":[\"/health/live\",\"/health/ready\"],\"internal_port\":8040,\"language\":\"Python\",\"locale\":\"ru-RU\",\"services\":[\"web\",\"worker\",\"scheduler\",\"postgres\",\"redis\"],\"timezone\":\"Europe/Moscow\"},\"expected_main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"operation\":\"READ_ONLY_APPLICATION_AND_LOCAL_STACK_PLAN\",\"parent_evidence\":{\"capsule_sha256\":\"5a271039feaaf1566c27591c8273b82811645976a0816a3bb03735dc56a3194a\",\"command_id\":\"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z\",\"protection_policy_sha256\":\"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e\",\"runner_json_sha256\":\"64a9aff3572c641adaad79221e74f87affbd04a9a3b50a52e1603a91faa5439f\"},\"project\":\"hbarhub\",\"proposed_sequence\":[\"Gitea PR: добавить исходный код и compose-каркас\",\"локальный deploy на core-apps без NPMplus\",\"проверка health и сохранности данных\",\"дальнейшие data-pipeline этапы отдельными PR/APPLY\"],\"protected_branch\":\"main\",\"repository\":\"homelab-admin/hbarhub\",\"schema\":1},\"changes_made\":false,\"checks\":{\"compose_available\":true,\"core_hostname\":true,\"disk_free_minimum\":true,\"docker_available\":true,\"main_protected\":true,\"memory_available_minimum\":true,\"no_hbarhub_containers\":true,\"no_hbarhub_volumes\":true,\"no_mutation\":true,\"no_open_pull_requests\":true,\"no_work_branch_collision\":true,\"parent_protection_apply_verified\":true,\"port_8040_free\":true,\"reference_stack_exists\":true,\"repository_main_verified\":true,\"target_path_absent\":true},\"command_id\":\"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"core_apps\":{\"capacity\":{\"disk_free_bytes\":76766601216,\"disk_total_bytes\":126605975552,\"memory\":{\"MemAvailable\":2854141952,\"MemTotal\":10435301376}},\"docker\":{\"compose_available\":true,\"hbarhub_containers\":[],\"hbarhub_volumes\":[],\"network_names\":[\"actual-budget_default\",\"authentik_default\",\"beszel_default\",\"bridge\",\"crypto-portfolio_default\",\"dockge-agent_default\",\"filebrowser_default\",\"gitea_default\",\"homebox_default\",\"homelab-gitea-context-mcp_default\",\"homepage_default\",\"host\",\"immich_default\",\"it-tools_default\",\"karakeep_default\",\"linkding_default\",\"mealie_default\",\"memos_default\",\"minio_default\",\"n8n_default\",\"netbox_default\",\"node-red_default\",\"none\",\"paperless_default\",\"searxng_default\",\"syncthing_default\",\"vaultwarden-compose_default\"],\"present\":true,\"server_available\":true},\"hostname_matches\":true,\"port_8040_free\":true,\"reference_files\":[{\"bytes\":1233,\"contains_env_file\":false,\"contains_health_path\":false,\"exists\":true,\"gid\":0,\"healthcheck_services\":[],\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"named_networks\":[],\"named_volumes\":[],\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"restart_policy_services\":[\"web\",\"worker\"],\"services\":[\"web\",\"worker\"],\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0}],\"reference_helpers\":[],\"reference_stack\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0750\",\"path\":\"/opt/stacks/crypto-portfolio\",\"uid\":0},\"role\":\"core-apps\",\"schema\":1,\"target_stack\":{\"exists\":false,\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"path\":\"/opt/stacks/hbarhub\"}},\"gate\":\"READY_FOR_APPLICATION_SCAFFOLD_PR_APPLY\",\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"APPLICATION_SCAFFOLD_PR_APPLY\",\"parent_evidence\":{\"result_sequence\":\"c6fa06e112d9582f5248cba5218947f91be4bd6c74ab0930478e7e028c914ed1\",\"result_sha256\":\"0e55cdf2939521a46a765af4a2594807af774394961f3317efb0255ddd3ec4de\"},\"private_addresses_included\":false,\"repository\":{\"branch_names\":[\"main\"],\"main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"open_pull_requests\":[],\"protection_policy\":{\"enable_force_push\":false,\"enable_merge_whitelist\":true,\"enable_push\":false,\"merge_whitelist_usernames\":[\"homelab-admin\"]}},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_COMPLETE\"}\n" +} diff --git a/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.txt b/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.txt new file mode 100644 index 0000000..3af154c --- /dev/null +++ b/runtime/history/HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=hbarhub-application-local-stack-plan-v1 +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=c0e65625810f0ed77bc9b09266d6cdb4e616d67b52737eab635c574cc09bb8c4 +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=a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22 +SANITIZED_OUTPUT_SHA256=a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22 +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"2eaf961aa1e96915b39f5d4c7b70625ce755b80c358b6969753021a393892ba1","approved_application_plan":{"application":{"first_release_scope":["русская стартовая страница","HBAR, POL, AVAX, LINK","18 отслеживаемых активов","health/readiness","PostgreSQL, Redis, Celery worker и scheduler","без публичного proxy","без торговых API-ключей"],"framework":"Django","health_endpoints":["/health/live","/health/ready"],"internal_port":8040,"language":"Python","locale":"ru-RU","services":["web","worker","scheduler","postgres","redis"],"timezone":"Europe/Moscow"},"expected_main_head":"61114b5855f8a58b97b3c377054e73d9a3f0af4e","operation":"READ_ONLY_APPLICATION_AND_LOCAL_STACK_PLAN","parent_evidence":{"capsule_sha256":"5a271039feaaf1566c27591c8273b82811645976a0816a3bb03735dc56a3194a","command_id":"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z","protection_policy_sha256":"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e","runner_json_sha256":"64a9aff3572c641adaad79221e74f87affbd04a9a3b50a52e1603a91faa5439f"},"project":"hbarhub","proposed_sequence":["Gitea PR: добавить исходный код и compose-каркас","локальный deploy на core-apps без NPMplus","проверка health и сохранности данных","дальнейшие data-pipeline этапы отдельными PR/APPLY"],"protected_branch":"main","repository":"homelab-admin/hbarhub","schema":1},"changes_made":false,"checks":{"compose_available":true,"core_hostname":true,"disk_free_minimum":true,"docker_available":true,"main_protected":true,"memory_available_minimum":true,"no_hbarhub_containers":true,"no_hbarhub_volumes":true,"no_mutation":true,"no_open_pull_requests":true,"no_work_branch_collision":true,"parent_protection_apply_verified":true,"port_8040_free":true,"reference_stack_exists":true,"repository_main_verified":true,"target_path_absent":true},"command_id":"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z","core_apps":{"capacity":{"disk_free_bytes":76766601216,"disk_total_bytes":126605975552,"memory":{"MemAvailable":2854141952,"MemTotal":10435301376}},"docker":{"compose_available":true,"hbarhub_containers":[],"hbarhub_volumes":[],"network_names":["actual-budget_default","authentik_default","beszel_default","bridge","crypto-portfolio_default","dockge-agent_default","filebrowser_default","gitea_default","homebox_default","homelab-gitea-context-mcp_default","homepage_default","host","immich_default","it-tools_default","karakeep_default","linkding_default","mealie_default","memos_default","minio_default","n8n_default","netbox_default","node-red_default","none","paperless_default","searxng_default","syncthing_default","vaultwarden-compose_default"],"present":true,"server_available":true},"hostname_matches":true,"port_8040_free":true,"reference_files":[{"bytes":1233,"contains_env_file":false,"contains_health_path":false,"exists":true,"gid":0,"healthcheck_services":[],"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","named_networks":[],"named_volumes":[],"path":"/opt/stacks/crypto-portfolio/compose.yaml","restart_policy_services":["web","worker"],"services":["web","worker"],"sha256":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","uid":0}],"reference_helpers":[],"reference_stack":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0750","path":"/opt/stacks/crypto-portfolio","uid":0},"role":"core-apps","schema":1,"target_stack":{"exists":false,"is_dir":false,"is_file":false,"is_symlink":false,"path":"/opt/stacks/hbarhub"}},"gate":"READY_FOR_APPLICATION_SCAFFOLD_PR_APPLY","mutation_outcome":"NO_MUTATION","next_stage":"APPLICATION_SCAFFOLD_PR_APPLY","parent_evidence":{"result_sequence":"c6fa06e112d9582f5248cba5218947f91be4bd6c74ab0930478e7e028c914ed1","result_sha256":"0e55cdf2939521a46a765af4a2594807af774394961f3317efb0255ddd3ec4de"},"private_addresses_included":false,"repository":{"branch_names":["main"],"main_head":"61114b5855f8a58b97b3c377054e73d9a3f0af4e","open_pull_requests":[],"protection_policy":{"enable_force_push":false,"enable_merge_whitelist":true,"enable_push":false,"merge_whitelist_usernames":["homelab-admin"]}},"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 d67ee55..9a9d2f2 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z", + "command_id": "HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z", "status": "OK", "rc": 0, "host": "pve01", - "mode": "change", - "component": "hbarhub-main-branch-protection-apply-v1", - "started_at_utc": "2026-07-29T16:30:46Z", - "finished_at_utc": "2026-07-29T16:30:46Z", + "mode": "verify", + "component": "hbarhub-application-local-stack-plan-v1", + "started_at_utc": "2026-07-29T16:35:57Z", + "finished_at_utc": "2026-07-29T16:35:58Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "0b59783ee800d77860559de561f63f660d61b7399818ce45b1221b273ed4a63b", + "command_sha256": "c0e65625810f0ed77bc9b09266d6cdb4e616d67b52737eab635c574cc09bb8c4", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "OK", + "result_contract_status": null, "result_contract_error": null, "command_rc": 0, - "changes_made": true, + "changes_made": false, "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "MUTATED", + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "2e9a51603c2b9ff817630e16546dc9c8e7b9a13b3e2e069ead7777be62c90f16", - "sanitized_output_sha256": "2e9a51603c2b9ff817630e16546dc9c8e7b9a13b3e2e069ead7777be62c90f16", + "raw_evidence_sha256": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", + "sanitized_output_sha256": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", "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\":true,\"command_id\":\"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"action\":\"CREATED_MAIN_BRANCH_PROTECTION\",\"backup_changed\":false,\"branch\":\"main\",\"changes_made\":true,\"command_id\":\"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z\",\"gitea_changed\":true,\"mutation_outcome\":\"APPLIED\",\"next_stage\":\"LOCAL_STACK_SCAFFOLD_PLAN\",\"plan_evidence\":{\"result_sequence\":\"42b4dbdb370709ad1594b3a33ecac32e1f9f76f8db7d2e7d1ef212693c7e3a06\",\"result_sha256\":\"499e398b7e633eb092595e87985b319c59874420aa1a07fe05473cb4cd913772\"},\"private_addresses_included\":false,\"production_changed\":true,\"protection\":{\"block_on_outdated_branch\":false,\"block_on_rejected_reviews\":false,\"branch_name\":\"main\",\"dismiss_stale_approvals\":false,\"enable_force_push\":false,\"enable_merge_whitelist\":true,\"enable_push\":false,\"enable_push_whitelist\":false,\"enable_status_check\":false,\"merge_whitelist_usernames\":[\"homelab-admin\"],\"require_signed_commits\":false,\"required_approvals\":0},\"protection_policy_sha256\":\"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e\",\"repository\":\"homelab-admin/hbarhub\",\"repository_evidence\":{\"default_branch\":\"main\",\"main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"private\":true},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"services_changed\":false,\"status\":\"APPLY_OK\"}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"2eaf961aa1e96915b39f5d4c7b70625ce755b80c358b6969753021a393892ba1\",\"approved_application_plan\":{\"application\":{\"first_release_scope\":[\"русская стартовая страница\",\"HBAR, POL, AVAX, LINK\",\"18 отслеживаемых активов\",\"health/readiness\",\"PostgreSQL, Redis, Celery worker и scheduler\",\"без публичного proxy\",\"без торговых API-ключей\"],\"framework\":\"Django\",\"health_endpoints\":[\"/health/live\",\"/health/ready\"],\"internal_port\":8040,\"language\":\"Python\",\"locale\":\"ru-RU\",\"services\":[\"web\",\"worker\",\"scheduler\",\"postgres\",\"redis\"],\"timezone\":\"Europe/Moscow\"},\"expected_main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"operation\":\"READ_ONLY_APPLICATION_AND_LOCAL_STACK_PLAN\",\"parent_evidence\":{\"capsule_sha256\":\"5a271039feaaf1566c27591c8273b82811645976a0816a3bb03735dc56a3194a\",\"command_id\":\"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z\",\"protection_policy_sha256\":\"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e\",\"runner_json_sha256\":\"64a9aff3572c641adaad79221e74f87affbd04a9a3b50a52e1603a91faa5439f\"},\"project\":\"hbarhub\",\"proposed_sequence\":[\"Gitea PR: добавить исходный код и compose-каркас\",\"локальный deploy на core-apps без NPMplus\",\"проверка health и сохранности данных\",\"дальнейшие data-pipeline этапы отдельными PR/APPLY\"],\"protected_branch\":\"main\",\"repository\":\"homelab-admin/hbarhub\",\"schema\":1},\"changes_made\":false,\"checks\":{\"compose_available\":true,\"core_hostname\":true,\"disk_free_minimum\":true,\"docker_available\":true,\"main_protected\":true,\"memory_available_minimum\":true,\"no_hbarhub_containers\":true,\"no_hbarhub_volumes\":true,\"no_mutation\":true,\"no_open_pull_requests\":true,\"no_work_branch_collision\":true,\"parent_protection_apply_verified\":true,\"port_8040_free\":true,\"reference_stack_exists\":true,\"repository_main_verified\":true,\"target_path_absent\":true},\"command_id\":\"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"core_apps\":{\"capacity\":{\"disk_free_bytes\":76766601216,\"disk_total_bytes\":126605975552,\"memory\":{\"MemAvailable\":2854141952,\"MemTotal\":10435301376}},\"docker\":{\"compose_available\":true,\"hbarhub_containers\":[],\"hbarhub_volumes\":[],\"network_names\":[\"actual-budget_default\",\"authentik_default\",\"beszel_default\",\"bridge\",\"crypto-portfolio_default\",\"dockge-agent_default\",\"filebrowser_default\",\"gitea_default\",\"homebox_default\",\"homelab-gitea-context-mcp_default\",\"homepage_default\",\"host\",\"immich_default\",\"it-tools_default\",\"karakeep_default\",\"linkding_default\",\"mealie_default\",\"memos_default\",\"minio_default\",\"n8n_default\",\"netbox_default\",\"node-red_default\",\"none\",\"paperless_default\",\"searxng_default\",\"syncthing_default\",\"vaultwarden-compose_default\"],\"present\":true,\"server_available\":true},\"hostname_matches\":true,\"port_8040_free\":true,\"reference_files\":[{\"bytes\":1233,\"contains_env_file\":false,\"contains_health_path\":false,\"exists\":true,\"gid\":0,\"healthcheck_services\":[],\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"named_networks\":[],\"named_volumes\":[],\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"restart_policy_services\":[\"web\",\"worker\"],\"services\":[\"web\",\"worker\"],\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0}],\"reference_helpers\":[],\"reference_stack\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0750\",\"path\":\"/opt/stacks/crypto-portfolio\",\"uid\":0},\"role\":\"core-apps\",\"schema\":1,\"target_stack\":{\"exists\":false,\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"path\":\"/opt/stacks/hbarhub\"}},\"gate\":\"READY_FOR_APPLICATION_SCAFFOLD_PR_APPLY\",\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"APPLICATION_SCAFFOLD_PR_APPLY\",\"parent_evidence\":{\"result_sequence\":\"c6fa06e112d9582f5248cba5218947f91be4bd6c74ab0930478e7e028c914ed1\",\"result_sha256\":\"0e55cdf2939521a46a765af4a2594807af774394961f3317efb0255ddd3ec4de\"},\"private_addresses_included\":false,\"repository\":{\"branch_names\":[\"main\"],\"main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"open_pull_requests\":[],\"protection_policy\":{\"enable_force_push\":false,\"enable_merge_whitelist\":true,\"enable_push\":false,\"merge_whitelist_usernames\":[\"homelab-admin\"]}},\"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 ec4c5e5..3af154c 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,34 +1,34 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z +COMMAND_ID=HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z STATUS=OK RC=0 HOST=pve01 -MODE=change -COMPONENT=hbarhub-main-branch-protection-apply-v1 +MODE=verify +COMPONENT=hbarhub-application-local-stack-plan-v1 REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=0b59783ee800d77860559de561f63f660d61b7399818ce45b1221b273ed4a63b +COMMAND_SHA256=c0e65625810f0ed77bc9b09266d6cdb4e616d67b52737eab635c574cc09bb8c4 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE COMMAND_RC=0 -CHANGES_MADE=true +CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=MUTATED +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=2e9a51603c2b9ff817630e16546dc9c8e7b9a13b3e2e069ead7777be62c90f16 -SANITIZED_OUTPUT_SHA256=2e9a51603c2b9ff817630e16546dc9c8e7b9a13b3e2e069ead7777be62c90f16 +RAW_EVIDENCE_SHA256=a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22 +SANITIZED_OUTPUT_SHA256=a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22 OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -{"action":"CREATED_MAIN_BRANCH_PROTECTION","backup_changed":false,"branch":"main","changes_made":true,"command_id":"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z","gitea_changed":true,"mutation_outcome":"APPLIED","next_stage":"LOCAL_STACK_SCAFFOLD_PLAN","plan_evidence":{"result_sequence":"42b4dbdb370709ad1594b3a33ecac32e1f9f76f8db7d2e7d1ef212693c7e3a06","result_sha256":"499e398b7e633eb092595e87985b319c59874420aa1a07fe05473cb4cd913772"},"private_addresses_included":false,"production_changed":true,"protection":{"block_on_outdated_branch":false,"block_on_rejected_reviews":false,"branch_name":"main","dismiss_stale_approvals":false,"enable_force_push":false,"enable_merge_whitelist":true,"enable_push":false,"enable_push_whitelist":false,"enable_status_check":false,"merge_whitelist_usernames":["homelab-admin"],"require_signed_commits":false,"required_approvals":0},"protection_policy_sha256":"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e","repository":"homelab-admin/hbarhub","repository_evidence":{"default_branch":"main","main_head":"61114b5855f8a58b97b3c377054e73d9a3f0af4e","private":true},"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"services_changed":false,"status":"APPLY_OK"} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"PLAN_SHA256":"2eaf961aa1e96915b39f5d4c7b70625ce755b80c358b6969753021a393892ba1","approved_application_plan":{"application":{"first_release_scope":["русская стартовая страница","HBAR, POL, AVAX, LINK","18 отслеживаемых активов","health/readiness","PostgreSQL, Redis, Celery worker и scheduler","без публичного proxy","без торговых API-ключей"],"framework":"Django","health_endpoints":["/health/live","/health/ready"],"internal_port":8040,"language":"Python","locale":"ru-RU","services":["web","worker","scheduler","postgres","redis"],"timezone":"Europe/Moscow"},"expected_main_head":"61114b5855f8a58b97b3c377054e73d9a3f0af4e","operation":"READ_ONLY_APPLICATION_AND_LOCAL_STACK_PLAN","parent_evidence":{"capsule_sha256":"5a271039feaaf1566c27591c8273b82811645976a0816a3bb03735dc56a3194a","command_id":"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z","protection_policy_sha256":"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e","runner_json_sha256":"64a9aff3572c641adaad79221e74f87affbd04a9a3b50a52e1603a91faa5439f"},"project":"hbarhub","proposed_sequence":["Gitea PR: добавить исходный код и compose-каркас","локальный deploy на core-apps без NPMplus","проверка health и сохранности данных","дальнейшие data-pipeline этапы отдельными PR/APPLY"],"protected_branch":"main","repository":"homelab-admin/hbarhub","schema":1},"changes_made":false,"checks":{"compose_available":true,"core_hostname":true,"disk_free_minimum":true,"docker_available":true,"main_protected":true,"memory_available_minimum":true,"no_hbarhub_containers":true,"no_hbarhub_volumes":true,"no_mutation":true,"no_open_pull_requests":true,"no_work_branch_collision":true,"parent_protection_apply_verified":true,"port_8040_free":true,"reference_stack_exists":true,"repository_main_verified":true,"target_path_absent":true},"command_id":"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z","core_apps":{"capacity":{"disk_free_bytes":76766601216,"disk_total_bytes":126605975552,"memory":{"MemAvailable":2854141952,"MemTotal":10435301376}},"docker":{"compose_available":true,"hbarhub_containers":[],"hbarhub_volumes":[],"network_names":["actual-budget_default","authentik_default","beszel_default","bridge","crypto-portfolio_default","dockge-agent_default","filebrowser_default","gitea_default","homebox_default","homelab-gitea-context-mcp_default","homepage_default","host","immich_default","it-tools_default","karakeep_default","linkding_default","mealie_default","memos_default","minio_default","n8n_default","netbox_default","node-red_default","none","paperless_default","searxng_default","syncthing_default","vaultwarden-compose_default"],"present":true,"server_available":true},"hostname_matches":true,"port_8040_free":true,"reference_files":[{"bytes":1233,"contains_env_file":false,"contains_health_path":false,"exists":true,"gid":0,"healthcheck_services":[],"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","named_networks":[],"named_volumes":[],"path":"/opt/stacks/crypto-portfolio/compose.yaml","restart_policy_services":["web","worker"],"services":["web","worker"],"sha256":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","uid":0}],"reference_helpers":[],"reference_stack":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0750","path":"/opt/stacks/crypto-portfolio","uid":0},"role":"core-apps","schema":1,"target_stack":{"exists":false,"is_dir":false,"is_file":false,"is_symlink":false,"path":"/opt/stacks/hbarhub"}},"gate":"READY_FOR_APPLICATION_SCAFFOLD_PR_APPLY","mutation_outcome":"NO_MUTATION","next_stage":"APPLICATION_SCAFFOLD_PR_APPLY","parent_evidence":{"result_sequence":"c6fa06e112d9582f5248cba5218947f91be4bd6c74ab0930478e7e028c914ed1","result_sha256":"0e55cdf2939521a46a765af4a2594807af774394961f3317efb0255ddd3ec4de"},"private_addresses_included":false,"repository":{"branch_names":["main"],"main_head":"61114b5855f8a58b97b3c377054e73d9a3f0af4e","open_pull_requests":[],"protection_policy":{"enable_force_push":false,"enable_merge_whitelist":true,"enable_push":false,"merge_whitelist_usernames":["homelab-admin"]}},"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"PLAN_COMPLETE"} OUTPUT_END CHAT_OUTPUT_END