Tasmanian Cloud documentation
Saga templates
Define and reconcile VM, container, Compose, and infrastructure state
Saga is Tasmanian Cloud's template and execution system for applications that are larger than one resource.
A Saga definition can describe:
- Virtual machine state and machine configuration.
- Container images, networks, volumes, and environment bindings.
- Docker Compose services and their relationships.
- Ansible tasks for host and application configuration.
- Terraform or OpenTofu resources for infrastructure state.
- Secret references, event hooks, and the outputs that other steps need.
Desired state becomes a run
flowchart LR
DEF[System definition]
RESOLVE[Resolve inputs]
PLAN[Build plan]
EXEC[Run VM, Compose, Ansible, and IaC steps]
VERIFY[Verify provider state]
OUT[Outputs and events]
DEF --> RESOLVE --> PLAN --> EXEC --> VERIFY --> OUTThe runtime keeps the stages separate. An accepted request is not the same as a running resource. A plan is not the same as a provider result. This distinction makes failure, retry, and compensation visible.
A small example
name: customer-api
vm:
image: debian-13
size: standard-2vcpu-4gb
network: private
compose:
services:
api:
image: registry.example/api:latest
ports: ["8080"]
worker:
image: registry.example/worker:latest
ansible:
playbook: site.yml
opentofu:
directory: infra/The example is deliberately small. A real definition can add storage, DNS, policies, Kleis references, webhooks, and notification routes without changing the deployment interface.
Run it from anywhere
The same Saga can be started through the REST API. Use the portal, tc CLI, or an SDK as the client that submits the request. Use the portal to inspect the plan, the CLI in a release script, or an SDK when another system owns the lifecycle.