1
0
Files
homelab-public-context/runtime/history/HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z.json
T

39 lines
22 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "hbarhub-standard-local-deployment-plan-fix2-v6",
"started_at_utc": "2026-08-03T09:53:56Z",
"finished_at_utc": "2026-08-03T09:53:56Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "cda1dbd047b226d23bcd8c6e8c02f46be9957c2f777aab7b559e582a794b8d0b",
"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": "8a879b5f406593f076d9eaff004256d4df2e02ac75e5088cee94d964a841fcfc",
"sanitized_output_sha256": "8a879b5f406593f076d9eaff004256d4df2e02ac75e5088cee94d964a841fcfc",
"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-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"7c5e7eed51a9c2de733631c21063714423ac3f4a692549958d4b4807140b6684\",\"candidate_plan_sha256\":\"7c5e7eed51a9c2de733631c21063714423ac3f4a692549958d4b4807140b6684\",\"capacity\":{\"disk\":{\"available_bytes\":76465217536,\"gate\":true,\"required_available_bytes\":10737418240,\"total_bytes\":126605975552},\"memory\":{\"available_bytes\":2744274944,\"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\":true,\"archive_sha256_exact\":true,\"compose_config_valid\":true,\"compose_env_file_handling_valid\":true,\"compose_services_exact\":true,\"compose_source_exact\":true,\"compose_v4_unsupported_flag_removed\":true,\"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\":1,\"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\":11,\"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\":24,\"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\":6,\"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\":5,\"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\":10,\"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\":30,\"output_within_limit\":true,\"rc\":0,\"stage\":\"docker-compose-config\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":4267,\"stdout_sha256\":\"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1\",\"timed_out\":false,\"tool\":\"docker\"}],\"command_id\":\"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z\",\"container_environment_requested\":false,\"control_plane_error\":null,\"diagnosis\":\"HBARHUB_STANDARD_LOCAL_DEPLOYMENT_PLAN_READY\",\"diagnostic_complete\":true,\"docker\":{\"available\":true,\"compose_config\":{\"attempted\":true,\"config_bytes\":4267,\"config_input_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"config_sha256\":\"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1\",\"env_file_transform\":{\"config_input_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"env_file_present\":false,\"method\":\"SOURCE_UNCHANGED_NO_ENV_FILE\",\"removed_block_count\":0,\"removed_block_set_sha256\":\"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945\",\"removed_path_count\":0,\"removed_paths_all_dot_env\":true,\"secret_file_read\":false,\"source_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"source_unchanged\":true,\"valid\":true,\"writes_performed\":false},\"rc\":0,\"secret_file_read\":false,\"services\":[\"postgres\",\"redis\",\"scheduler\",\"web\",\"worker\"],\"services_match\":true,\"source_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"v4_failure_stderr_sha256\":\"ba21762623983ad018d6304d027d71b6daf31b7c183482acf2579424be4cc326\",\"v4_unsupported_flag_removed\":true,\"valid\":true},\"compose_version\":\"2.26.1-4\",\"container_environment_requested\":false,\"containers\":[],\"images\":[],\"networks\":[],\"server_version\":\"26.1.5+dfsg1\",\"volumes\":[]},\"duration_ms\":105,\"failed_checks\":[],\"failures\":[],\"gate\":\"READY_FOR_STANDARD_LOCAL_DEPLOYMENT_APPLY\",\"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\"],\"compose_validation\":{\"command\":\"docker compose config --format json --no-interpolate\",\"config_input_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"env_file_transform\":{\"config_input_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"env_file_present\":false,\"method\":\"SOURCE_UNCHANGED_NO_ENV_FILE\",\"removed_block_count\":0,\"removed_block_set_sha256\":\"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945\",\"removed_path_count\":0,\"removed_paths_all_dot_env\":true,\"secret_file_read\":false,\"source_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"source_unchanged\":true,\"valid\":true,\"writes_performed\":false},\"method\":\"SOURCE_UNCHANGED_OR_IN_MEMORY_ENV_FILE_OMISSION\",\"normalized_config_sha256\":\"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1\",\"secret_file_read\":false,\"services\":[\"postgres\",\"redis\",\"scheduler\",\"web\",\"worker\"],\"source_sha256\":\"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc\",\"unsupported_v4_flag_removed\":true,\"writes_performed\":false},\"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\":\"15578fd16d67bd7180858370ff06017184bc79ce14da4eee8005fc9cf8e4219d\",\"changes_made\":false,\"command_id\":\"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX1-V5-20260803T093519Z\",\"diagnosis\":\"HBARHUB_DEPLOYMENT_PLAN_UNEXPECTED_EXCEPTION\",\"exception_evidence_sha256\":\"7d844bbd82129943f3b700ec95bbc2a73652300ec16c6c8353289e2ec0590fd0\",\"exception_identity\":\"COMPOSE_ENV_FILE_BLOCK_MISSING\",\"exception_type\":\"ValueError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_sha256\":\"8eb695a48187cae0e47dc156a53e7a978b12d5e9e5dcc4108186db746f006206\",\"runner_document_rc\":1,\"runner_json_sha256\":\"84358dea8b34a147269c560fb233581a68e31b49eb0d30618ebc6e90e1a0f756\",\"runner_rc\":1,\"runtime_archive_bytes\":9760,\"runtime_archive_sha256\":\"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e\",\"status\":\"FAIL\"},\"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\":9760,\"archive_sha256\":\"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e\",\"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\":0,\"read_only\":true,\"ready_for_apply\":true,\"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\":\"OK\",\"unexpected_exception\":{}}\n"
}