mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 20:26:33 +00:00
Conflicts resolved by keeping both sides' intent: - call-test-deploy.yml: main's re-enabled deploy concurrency group, keyed on the network axis instead of the removed tor axis. - sys-svc-proxy: main's shared headers/forwarded.conf.j2 now carries the branch's per-vhost semantics (X-Forwarded-Host, TLS port and state read from the vhost domain), so html, ws, upload and the Prometheus probes all answer per network sibling. - plugins/lookup/email.py: main's provider-agnostic mail lookup asks the network registry instead of testing the .onion suffix, as the branch does everywhere; container_extra_hosts.py likewise. The provider host's NETWORK_MODE now decides whether it is served onion-first, since a Tor node defaults to multi and keeps clearnet canonical. - workspace common.sh: main's INFINITO_DOMAIN fallback without the duplicated no-op line. - README.md and requirement 035: both sides' rows (Wazuh plus main's Pi-hole and Stalwart entries); adapter_candidate count 39. Adapted to main where the branch's rules now reach main's code: - six tests from main read the primary domain from default.env instead of writing it out, as the hardcoded-domain lint requires; - the chutney worker-check test passes ONION_SUFFIX from the network registry, which the branch's svc-net-tor test script requires; - web-app-wazuh moves its local http ports to 8096/8097 (8094/8095 now belong to web-app-stalwart) and sizes the indexer heap through service_memory_mb, the same fixes #414 carries; - web-app-wazuh's README cosmos follows Stalwart as the mail provider. Co-Authored-By: Claude Opus 5.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.