Developers
Your application lives in its own repository, described in a Compose file. You push; the platform
builds, deploys, and keeps it running.

Your first release
Describe your application
| You want |
Declare |
Guide |
| A container that runs your code |
image, command, and environment |
Containers |
| A job that runs on a schedule |
x-cron on a service |
Scheduled jobs |
| A credential your service reads |
secrets with an encrypted file |
Secrets |
| CPU, memory, and copies of a service |
deploy.resources and deploy.replicas |
Resources and replicas |
| A service that others or the internet can reach |
expose, ports, and x-ingress |
Networking |
| A file from your repository inside a service |
configs |
Configuration files |
| Files that a service writes and keeps |
volumes with x-kubernetes |
Volumes and backups |
| Traffic only when the service is ready, a restart when it hangs |
healthcheck and deploy.x-kubernetes.Probes |
Health checks |
| A migration, or any task, before the service starts |
pre_start and depends_on |
Lifecycle hooks |
| A PostgreSQL database with optional HA |
x-stackgres |
Databases |
| A Redis, an OpenSearch, or any service that owns its data |
deploy.x-kubernetes.kind: StatefulSet |
Stateful services |
| Metrics and availability checks |
x-metrics and x-status-check |
Observability |
| A gradual rollout |
deploy.x-rollout |
Releases and rollback |
| Backups |
x-velero.backup and x-stackgres.backup |
Volumes and backups, Databases |
| Start from a backup |
x-velero.restore and x-stackgres.initialData |
Volumes and backups, Databases |
Ship and operate it
Who owns what
| You |
The platform |
Code, tests, Dockerfile |
Runners, controllers, dashboards |
compose.yaml |
Its translation to the cluster |
Manifests in deploy/ |
Namespaces and permissions |
| Your encrypted secrets |
Promotion and rollback |