diff --git a/.dockerignore b/.dockerignore index 085d03667..dd32c3b4e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -35,6 +35,9 @@ scripts/** !scripts/backup/backup-momo-188-pg.sh !scripts/ops/ !scripts/ops/awooop-seed-auto-repair-canary-playbook.py +!scripts/reboot-recovery/ +!scripts/reboot-recovery/full-stack-cold-start-check.sh +!scripts/reboot-recovery/cold-start-textfile-exporter.sh # Node 快取(monorepo 根目錄) node_modules diff --git a/apps/api/tests/test_host_pressure_ansible_catalog.py b/apps/api/tests/test_host_pressure_ansible_catalog.py index 7ed2a2aa4..1fb20bedb 100644 --- a/apps/api/tests/test_host_pressure_ansible_catalog.py +++ b/apps/api/tests/test_host_pressure_ansible_catalog.py @@ -66,6 +66,12 @@ def test_host_pressure_playbook_is_bounded_and_read_only() -> None: payload = yaml.safe_load(PLAYBOOK.read_text(encoding="utf-8")) text = PLAYBOOK.read_text(encoding="utf-8") catalog = get_ansible_catalog_item("ansible:110-host-pressure-readonly") + gitea_probe = next( + task + for task in payload[0]["tasks"] + if task["name"] == "Run the Gitea rate probe when selected by the controller" + ) + gitea_probe_argv = gitea_probe["ansible.builtin.command"]["argv"] assert payload[0]["hosts"] == "host_110" assert payload[0]["become"] is False @@ -74,6 +80,8 @@ def test_host_pressure_playbook_is_bounded_and_read_only() -> None: assert catalog["no_write_only"] is True assert "host-sustained-load-controller.py" in text assert "gitea-queue-hook-backlog-playbook.py" in text + assert "--script-dir" not in gitea_probe_argv + assert "--metrics-rate-sample-seconds" not in gitea_probe_argv for forbidden in ( "systemctl restart", "docker restart", diff --git a/apps/api/tests/test_product_awoooi_manifest_standard_api.py b/apps/api/tests/test_product_awoooi_manifest_standard_api.py index 5a90dd5c8..f0f45f9c2 100644 --- a/apps/api/tests/test_product_awoooi_manifest_standard_api.py +++ b/apps/api/tests/test_product_awoooi_manifest_standard_api.py @@ -68,3 +68,12 @@ def test_api_image_copies_product_manifest() -> None: assert "!.gitea/workflows/\n" in dockerignore_text assert "!.gitea/workflows/*.yaml\n" in dockerignore_text assert "!.gitea/workflows/*.yml\n" in dockerignore_text + assert "!scripts/reboot-recovery/\n" in dockerignore_text + assert ( + "!scripts/reboot-recovery/full-stack-cold-start-check.sh\n" + in dockerignore_text + ) + assert ( + "!scripts/reboot-recovery/cold-start-textfile-exporter.sh\n" + in dockerignore_text + ) diff --git a/infra/ansible/playbooks/110-host-pressure-readonly.yml b/infra/ansible/playbooks/110-host-pressure-readonly.yml index 003f5c7fa..8a0b43eb2 100644 --- a/infra/ansible/playbooks/110-host-pressure-readonly.yml +++ b/infra/ansible/playbooks/110-host-pressure-readonly.yml @@ -70,10 +70,6 @@ - "{{ host_pressure_metrics_file }}" - --docker-stats-file - "{{ host_pressure_docker_stats_file }}" - - --script-dir - - "{{ host_pressure_script_dir }}" - - --metrics-rate-sample-seconds - - "2" - --json register: gitea_pressure_readback check_mode: false