Skip to content

devopsellence.yml

devopsellence.yml lives in the app root. It describes workload config, not local node inventory.

schema_version: 1
organization: solo
project: myapp
default_environment: production
build:
context: .
dockerfile: Dockerfile
platforms:
- linux/amd64
services:
web:
ports:
- name: http
port: 3000
healthcheck:
path: /up
port: 3000
tasks:
release:
service: web
command:
- bin/rails
- db:migrate
ingress:
hosts:
- app.example.com
rules:
- match:
host: app.example.com
path_prefix: /
target:
service: web
port: http
tls:
mode: auto
email: ops@example.com
redirect_http: true
environments:
production:
services:
web:
env:
RAILS_ENV: production
FieldPurpose
schema_versionConfig format version.
organizationOwnership scope. In solo examples this can be solo.
projectApplication/project name.
default_environmentEnvironment selected when no override is provided.
buildDocker build context, Dockerfile, and target platforms.
servicesNamed runtime units. Each HTTP service needs ports and a health check.
tasks.releaseOptional one-shot release command.
ingressHostnames, route rules, TLS behavior, and HTTP redirects.
environmentsPer-environment overlays.

Services are explicit. Do not rely on fixed concepts such as one web and one worker; name the runtime units your app actually needs.