DevOps blocks (6)
Six block kinds covering runtime + deployment shape. None carry Layer 2 — DevOps shape is fully captured in kind-specific top-level fields.
service — svc_
Section titled “service — svc_”A runnable component (API, web, worker, MCP, scheduled, static).
{ "id": "svc_cloud_api_a1b2", "kind": "service", "name": "cloud-api", "type": "api", "language": "typescript", "framework": "nestjs", "ports": [4001], "hosts": ["api.atomprd.dev"]}type is one of api / web / worker / mcp / scheduled / static.
env_var — env_
Section titled “env_var — env_”Required env vars per service. secret: true triggers redaction in any export.
{ "id": "env_database_url_q4q4", "kind": "env_var", "name": "DATABASE_URL", "scope_service": "svc_cloud_api_a1b2", "secret": true, "value_dev": "postgres://localhost:5432/atomprd_dev", "value_prod": "<redacted>"}The validator strips value_* fields when secret: true before any export to disk.
vendor — ven_
Section titled “vendor — ven_”External SaaS (payment, email, auth, …) + DPA tracking.
{ "id": "ven_lemon_squeezy_b2c2", "kind": "vendor", "name": "Lemon Squeezy", "category": "payment", "api_key_env_var": "env_lemon_squeezy_api_key_q5q5", "webhook_endpoint": "/webhooks/lemon", "webhook_secret_env_var": "env_lemon_webhook_secret_q6q6", "dpa_signed": true, "dpa_url": "https://lemonsqueezy.com/dpa"}category is one of payment / email / auth / analytics / storage / monitoring / llm / cdn / other.
host_domain — dom_
Section titled “host_domain — dom_”DNS subdomain → service mapping. Renamed from domain (v0.2) to avoid the V2 view-name collision.
{ "id": "dom_api_atomprd_dev_a1b2", "kind": "host_domain", "name": "api.atomprd.dev", "service_id": "svc_cloud_api_a1b2", "tls": "letsencrypt"}build_step — bld_
Section titled “build_step — bld_”A step in the build pipeline.
{ "id": "bld_install_deps_a1b2", "kind": "build_step", "name": "Install deps", "command": "bun install --frozen-lockfile", "working_dir": "/app", "depends_on": []}deploy_target — tgt_
Section titled “deploy_target — tgt_”A service deployment target.
{ "id": "tgt_cloud_api_prod_a1b2", "kind": "deploy_target", "name": "cloud-api / production", "service_id": "svc_cloud_api_a1b2", "provider": "digitalocean", "auto_deploy_branch": "main", "scaling": { "min": 1, "max": 3 }}provider is one of digitalocean / vercel / railway / fly / aws / gcp / azure / cloudflare / self_hosted.
See also
Section titled “See also”- Spec → Overview — DevOps blocks are stable in v0.3.
- Atoms → Overview — full kind table.