Files
openclaw/qa/scenarios/runtime/compose-setup.yaml
T
Peter Steinberger c70aee247e refactor(scripts): migrate JavaScript tools to TypeScript (#121005)
* refactor(scripts): migrate JavaScript tools to TypeScript

* fix(ci): keep changed-scope preflight zero-install

* fix(ci): preserve zero-install script owners

* fix(ci): complete script migration follow-through

* fix(release): keep stable closeout zero-install

* fix(scripts): preserve standalone execution boundaries

* fix(scripts): repair standalone loader boundaries

* fix(scripts): normalize gateway observation ids

* fix(scripts): keep Docker packager standalone

* test(scripts): preserve rebase cleanup helpers

* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00

48 lines
2.4 KiB
YAML

title: Docker Compose setup evidence
scenario:
id: compose-setup
surface: containers
category: containers.container-setup
coverage:
primary:
- containers.docker-compose-gateway
- containers.container-health-endpoints
secondary:
- containers.docker-compose-mounts-and-secrets
objective: Launch the documented Docker Compose topology from the package-backed functional image and prove its liveness, readiness, authenticated health CLI, Docker health state, recovery, and operator diagnostics.
successCriteria:
- The scheduler builds the real package artifact and package-backed functional image through the canonical Docker planner.
- "`docker compose up` starts the documented `openclaw-gateway` service with isolated state, config, workspace, and auth-profile mounts."
- The Dockerfile definition, resolved Compose configuration, and running container all use `node dist/docker-healthcheck.js`.
- "`/healthz` reports live and `/readyz` reports ready before and after a bounded forced-unhealthy cycle."
- Wrong tokens fail and the configured token passes for `gateway health --json` from both the Gateway service and `openclaw-cli` sidecar.
- Docker records the forced failure as `unhealthy`, records a successful recovery to `healthy`, and exposes non-empty `State.Health` and Compose log diagnostics.
- Evidence records the package digest and version, functional image ID, Gateway and CLI container IDs, and explicit pass markers for each health boundary.
docsRefs:
- docs/install/docker.md
- docs/cli/gateway.md
- docs/gateway/logging.md
- docs/gateway/opentelemetry.md
- docs/gateway/prometheus.md
- docs/help/testing.md
codeRefs:
- Dockerfile
- docker-compose.yml
- src/docker-healthcheck.ts
- src/gateway/server-http.ts
- scripts/e2e/compose-setup.sh
- scripts/lib/docker-e2e-scenarios.mts
- scripts/package-openclaw-for-docker.mts
- test/e2e/qa-lab/runtime/docker-artifact-proof.ts
execution:
kind: script
path: test/e2e/qa-lab/runtime/docker-artifact-proof.ts
summary: Builds the package-backed functional image, launches the documented Compose services, validates endpoint and authenticated CLI health, forces and recovers Docker health state, captures diagnostics, and records artifact identities.
timeoutMs: 1800000
args:
- --artifact-base
- ${outputDir}
- --lane
- compose-setup