Tester (stellaops-tester) — QA-isolation harness

Not a product surface. stellaops-tester is a QA harness: it authenticates nobody, relays credentials, and injects fixtures. It ships in a single opt-in compose overlay and must never run in a production stack. Read architecture.md §6 and §8 before deploying it anywhere that is not a throwaway QA stack.

Purpose

Own all QA fixture-import and per-scenario action endpoints, so production module images can shed their embedded test surface instead of shipping it behind an env-flag. It also hosts the determinism oracle, POST /api/v1/tester/replay-and-compare, which canonicalises and SHA-256-compares the same artefacts across two run ids and returns identical or drift.

Status

AttributeValue
TypeService — QA only, opt-in overlay
Production-safeNo. com.stellaops.production-safe: "false" on both the image and the compose service
Sourcesrc/Tester/StellaOps.Tester.WebService
DatabaseNone (stateless; seed artefacts from a read-only mount)
Deploymentdevops/compose/docker-compose.tester.yml only — never in docker-compose.stella-ops.yml or any include: list
Gateway prefix/api/v1/tester/* (Router serviceName: tester; absent ⇒ the prefix 503s)
Container127.1.0.60:808080, alias tester.stella-ops.local

Run it

docker compose -f devops/compose/docker-compose.stella-ops.yml \
               -f devops/compose/docker-compose.tester.yml up -d

The overlay declares the platform networks external, so it refuses to start without the base stack.

Caveat you must not skip

Only the findings scope of replay-and-compare is backed by a real run-scoped upstream read. The evidence-packs scope currently returns a false identical, and timeline-events / linksets are dead (502 / 404). See architecture.md §5.1.