Tags: Substrate · Automation · Self-host Substrate: Atmos
The customer-deployed Docker runner for the atmos-workflow trigger. Atmos has no hosted API,
so Terrantula ships this reference runner as a wrapper you deploy on your own infrastructure.
Terrantula never hosts this runner. It's the substrate companion to the
Atmos cattle demo.
The atmos-workflow trigger HTTP-POSTs a structured dispatch payload to this runner. The runner:
POST /dispatch and validates the bearer token.ATMOS_REPO_URL@ATMOS_REPO_BRANCH.atmos workflow <name> -s <stack> --vars ... inside an isolated, auto-cleaned temp dir.On the callback, the ActionRun transitions to succeeded/failed and the target entity moves to
its onSuccess/onFailure state. The runner runs Atmos inside your workflow definition;
Terrantula never runs atmos terraform apply directly. It runs as a non-root user (UID 1001)
and uses StrictHostKeyChecking=yes for SSH clones — it never disables host-key checking.
Deploy in under 30 minutes:
The runner listens on port 8080 (expose it via your load balancer or ingress). Point your Action's trigger at it:
Key environment variables: RUNNER_AUTH_TOKEN (required), ATMOS_REPO_URL (required),
ATMOS_REPO_BRANCH (default main), and GIT_SSH_KEY + ATMOS_REPO_KNOWN_HOSTS for private
repos over SSH.
| File | What it is |
|---|---|
Dockerfile | Builds the non-root runner image. |
docker-compose.yml | Drop-in deployment for the customer's infrastructure. |
server.ts | The HTTP server — validates the token, dispatches, calls back. |
entrypoint.sh | Container entrypoint. |
lib/ | Dispatch schema, SSH key handling, URL validation, variable mapping. |
atmos-workflow trigger.