mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
RFC 6761 reserves .test for testing and .example for documentation, and the project's own domain was doing both jobs under the documentation name. It is what default.env hands every local deploy and what the test fixtures assert against, so it is a testing name. Rename it wherever it stands for the running machine: the environment defaults, the development inventory, the workspace and trust scripts, the test suites, and the four documents that describe real behaviour - the DNS mapping to loopback, the browser CA trust, WSL2 resolution. Those documents would have started lying the moment default.env changed. The sandbox allowlist moves with them, since egress is matched per pattern and nothing resolves the old name any more, and the sandbox document that mirrors that list follows it. Two places keep .example on purpose: the link-style sample in the documentation guide, which is documentation about documentation, and every generic fixture name elsewhere in the suite - a.example, foo.example and their kin. Those are a larger sweep of their own and are not touched here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Workspace Test Suite
This directory contains the modular workspace test suite for Infinito.Nexus. It validates the full local development flow from a clean state.
The entry point is 00_orchestrator.sh. It runs one or more tracks — subdirectories whose numbered scripts execute in order.
Tracks
base prepares the workspace and is a prerequisite for the other two. compose
and swarm are independent of each other, which is what lets CI run them as
separate jobs with a budget each.
| Track | File | Purpose |
|---|---|---|
| base | base/01_install.sh | Installs package prerequisites and repository dependencies |
| base | base/02_system.sh | Shows disk usage and purges cached state |
| base | base/03_build.sh | Builds the local Docker image |
| base | base/04_bootstrap.sh | Bootstraps the development environment and starts the stack |
| base | base/05_commit.sh | Validates pre-commit hook enforcement and --no-verify bypass |
| base | base/06_test.sh | Runs the full validation suite |
| base | base/07_console.sh | Smoke-tests the interactive console REPL |
| compose | compose/01_minimal.sh | Compose deploy on minimal hardware with service exclusion |
| compose | compose/02_performance.sh | Compose deploy of the full application set on performance hardware |
| compose | compose/03_reuse.sh | Compose redeploy reusing existing inventory and packages |
| compose | compose/04_teardown.sh | Shuts down the stack and reverses environment changes |
| swarm | swarm/01_teardown.sh | Releases the development stack so the swarm cluster runs alone |
| swarm | swarm/02_zombie.sh | Swarm deploy of the MariaDB database role (svc-db-mariadb) |
| swarm | swarm/03_roundtrip.sh | Compose+swarm roundtrip of the PostgreSQL database role (svc-db-postgres) |
| swarm | swarm/04_teardown.sh | Shuts down the stack and reverses environment changes |
| Shared | Purpose |
|---|---|
| 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) |
| utils/teardown.sh | Stack shutdown and environment reversal, shared by both closing steps |
Usage
Run every track via the entry point:
bash scripts/tests/workspace/00_orchestrator.sh
Run selected tracks, in the order given, through INFINITO_WORKSPACE_TRACKS:
INFINITO_WORKSPACE_TRACKS="base swarm" bash scripts/tests/workspace/00_orchestrator.sh
An unknown track name aborts before anything else runs.
For documentation on the overall development workflow, see the Deploy Guide.