adios.yaml Reference
adios.yaml describes how Adios builds, runs, connects, and publishes your
application.
App and Runtime
name: api
region: de
replicas: 2
build_cmd: go build -o /app/api .
start_cmd: /app/api
runtime:
name: go@1.25
port: 8080
cpu: "0.5"
memory_mb: 512
disk_mb: 2048
health_path: /healthz
Command fields are scalar shell commands:
build_cmd: pnpm install && pnpm build
Managed Resources
resources:
- name: db
template: postgres:16
database: aor
username: aor_api
password: secret://POSTGRES_PASSWORD
- name: redis
template: redis:7
database: "0"
password: secret://REDIS_PASSWORD
- name: rabbitmq
template: rabbitmq:3
database: aor
username: aor_api
password: secret://RABBITMQ_PASSWORD
The resources field provisions and binds managed databases, caches, and
queues with the application. Supported resource families include Postgres,
pgvector, Redis, RabbitMQ, MongoDB, and MySQL. Use ref when the application
should bind to an existing resource instead of owning a new one.
Connection settings are injected into the application with a stable private
hostname. The unversioned hostname follows the promoted current resource; an
explicit version hostname can select a healthy v1, v2, or generated deploy
version. See Managed Resources and Versioned Internal DNS
for the complete naming, version pinning, security, and troubleshooting
contract.
Secrets and Config
env:
PUBLIC_APP_URL: https://dashboard.example.com
secrets:
DATABASE_URL: secret://DATABASE_URL
STRIPE_SECRET_KEY: secret://STRIPE_SECRET_KEY
Use secrets for credentials and private configuration. Runtime config can also include feature flags, environment variables, volumes, and deployment settings managed from the workspace.
Private Git Dependencies
Builds that fetch private Git repositories should use a build-only deploy key:
build:
ssh:
- default=secret://BITBUCKET_DEPLOY_KEY
env:
GOPRIVATE: "bitbucket.org/your-workspace/*"
Register the public key with the Git provider, then store the private key in the application's Adios team:
adios secrets set BITBUCKET_DEPLOY_KEY \
--from-file ~/.ssh/adios-build
The worker resolves the key only for the build and removes its temporary copy afterward. Do not commit a private key or put it in a repository URL. Follow Private Git Dependencies for key generation, Bitbucket, GitHub, GitLab, Docker, and troubleshooting steps.
Versions, Replicas, and Routing
name: web
region: de
replicas: 2
routable: true
custom_hosts:
- app.example.com
- www.example.com
redirects:
- from: example.com
to: www.example.com
Each deployment creates a runtime version. Adios can keep older versions inspectable and wakeable while routing traffic to the promoted current release. Replicas can run regionally, and public traffic can be served through generated routes, custom domains, CDN, and anycast-backed entry points.
custom_hosts attaches exact public hostnames to the promoted current release.
redirects creates exact-host redirect routes. A redirect destination without a
scheme defaults to HTTPS, and the gateway preserves the request path and query
string.
See Domains and Redirects for the full routing flow.
Workflow Manifests
Application runtimes use build_cmd, start_cmd, and runtime. Workflow
automation uses a workflow manifest with workflow_id, triggers, and steps.
See Workflows for a complete workflow adios.yaml example.
Source and Workspaces
build:
excludes:
- node_modules
- .next
Source artifacts let the Web IDE open the code that produced a deployed app. From a workspace you can edit files, use Git, run previews, inspect logs, and deploy the current version.