mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 12:47:04 +00:00
07_compose_minimal.sh claimed to disable 'all variable (group-conditional) services' and then named seven by hand. tor was not among them, so a deploy meant to be minimal pulled svc-net-tor, which hard-depends on web-svc-mirror, whose group-conditional prometheus flag the closure resolver treats as true — dragging the whole web stack in. Steps 12 and 13 passed no disable at all, which is why a mariadb swarm test deployed keycloak, mailu, matomo, prometheus and dashboard. The set is now derived from the contract the repo already enforces (tests/integration/roles/meta/services/test_dynamic_flags.py): a key is group-conditional when enabled OR shared is a Jinja expression. Checking only enabled would miss mariadb, postgres, redis, memcached, typesense. Exclusions are load-bearing, not cosmetic: dashboard because disabling the primary app aborts init; javascript because it aliases cdn, which web-app-dashboard declares a hard dependency with no runtime fallback; mariadb and postgres because steps 12 and 13 test them. variable_services assigns to a local first — disable="$(cmd)" does not set the exit status of a simple command, so a failing CLI would have yielded an empty disable set and steps 12/13 would have run the full deploy and reported green. roundtrip could not take disable at all; it now reaches both the compose and the swarm leg. Not verified by a deploy: 33 of the keys are new to step 07, and the variant axis of svc-db-mariadb/svc-db-postgres collapses because tor is its only dimension. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Environment Test Suite
This directory contains the modular environment test suite for Infinito.Nexus. It validates the full local development flow from a clean state.
The entry point is 00_orchestrator.sh.
Structure
| File | Purpose |
|---|---|
| 00_orchestrator.sh | Runs all numbered steps in order |
| 01_install.sh | Installs package prerequisites and repository dependencies |
| 02_system.sh | Shows disk usage and purges cached state |
| 03_build.sh | Builds the local Docker image |
| 04_bootstrap.sh | Bootstraps the development environment and starts the stack |
| 05_commit.sh | Validates pre-commit hook enforcement and --no-verify bypass |
| 06_test.sh | Runs the full validation suite |
| 07_compose_minimal.sh | Compose deploy on minimal hardware with service exclusion |
| 08_compose_performance.sh | Compose deploy of the full application set on performance hardware |
| 09_compose_reuse.sh | Compose redeploy reusing existing inventory and packages |
| 10_teardown.sh | Shuts down the stack and reverses environment changes |
| 11_console.sh | Smoke-tests the interactive console REPL |
| 12_swarm.sh | Swarm deploy of the MariaDB database role (svc-db-mariadb) |
| 13_roundtrip.sh | Compose+swarm roundtrip of the PostgreSQL database role (svc-db-postgres) |
| utils/common.sh | Shared bootstrap, constants, and generic helpers (HTTP assertion, inventory inspection) |
| utils/cache.sh | Cache-stack assertions and probes (registry-cache, package-cache, DiD inner-build) |
Usage
Run the full suite via the entry point:
bash scripts/tests/environment/00_orchestrator.sh
For documentation on the overall development workflow, see the Deploy Guide.