Files
computer-playbook/scripts/tests/workspace
kevinveenbirkenbachandClaude Opus 5.5 7fa3400cc6 Merge remote-tracking branch 'origin/main' into feature/network/multi-network-serving
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>
2026-10-13 00:14:42 +02:00
..
…
…

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.