generated from coulomb/repo-seed
Add meta-framework spec, pydantic schemas, profile/extension YAML, extension registry, ext.compose-ssh backend, SandboxManager with State Hub events, CLI commands, integration docs, capability registry entry, and compose-e2e runbook. Nine unit tests pass. T10 remote smoke test remains for operator.
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# 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.
|
|
|
|
**teardown:** `docker compose down -v` + remove remote directory (idempotent).
|
|
|
|
### 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. |