2026-06-22 23:27:31 +02:00
|
|
|
# Extensions
|
|
|
|
|
|
|
|
|
|
Backend adapters for sandbox establishment. Each extension is declared in
|
|
|
|
|
`ext.<name>.yaml` and implements `provision`, `wait_ready`, and `teardown`.
|
|
|
|
|
|
|
|
|
|
## ext.compose-ssh
|
|
|
|
|
|
|
|
|
|
Self-hosted extension migrated from `the-custodian/e2e-framework/`.
|
|
|
|
|
|
|
|
|
|
**Provision:** SSH to configured host → isolated directory per sandbox id → rsync
|
|
|
|
|
repo → `docker compose up` with unique project name.
|
|
|
|
|
|
|
|
|
|
**wait_ready:** Confirms compose services are running (`docker compose ps`). Does
|
|
|
|
|
not run HTTP health checks — wise-validator owns that.
|
|
|
|
|
|
2026-06-23 16:52:29 +02:00
|
|
|
**teardown:** compose down + remove remote directory (idempotent).
|
|
|
|
|
|
|
|
|
|
**Compose runtime:** defaults to `docker compose`. On CoulombCore set
|
|
|
|
|
`SANDBOXER_COMPOSE_CMD=podman-compose`.
|
2026-06-22 23:27:31 +02:00
|
|
|
|
|
|
|
|
### Compatibility note for `make e2e` callers
|
|
|
|
|
|
|
|
|
|
Legacy `make e2e REPO=<repo>` runs provision + health + tests + teardown in one
|
|
|
|
|
step. sand-boxer splits responsibilities:
|
|
|
|
|
|
|
|
|
|
| Step | Owner |
|
|
|
|
|
|------|-------|
|
|
|
|
|
| rsync + compose up/down | sand-boxer (`ext.compose-ssh`) |
|
|
|
|
|
| health checks + test_command | wise-validator (SAND-WP-0003) |
|
|
|
|
|
|
|
|
|
|
Interim workflow: `sandboxer create --profile profile.compose-e2e --input repo=...`
|
|
|
|
|
then run validation separately until wise-validator migration lands.
|