Manifest
Manifest
parity.yaml: one file that describes the application for every sandbox, staging and production.
parity.yaml describes your app: the built-ins it uses, the processes it runs, the jobs that set it up and the hosts it may reach. The same file runs every sandbox, staging and production; environments list only how they differ. It holds the app's shape, never secret values.
Run parity check after every change. It needs no account, reports every problem at once, and prints what each service will get, defaults included. Unknown keys are errors, so a typo never passes silently.
Top-level keys
| Key | What it is |
|---|---|
version | Always 1. |
project | Your project's name: lowercase letters, digits and -, starting with a letter, at most 63 characters. |
managed | Managed services Parity runs for the app: Postgres, Redis, S3 storage, email, ClickHouse, sign-in, certificates. |
services | The app's long-running processes. |
jobs | The app's own commands, run on lifecycle events, on a schedule or on demand. |
runners | Images jobs run on instead of their service's. Optional. |
env_groups | Env blocks shared by several services. |
externals | Third-party hosts the app may reach: the egress allowlist. |
sandbox | Sandbox lifetime and agent limits. Optional. |
environments | The environments you declare, and how each differs from the rest of the file. Optional. |
release | How each build moves across them: promote, block, wait, run and group steps. Optional. |
kubernetes | The escape hatch. Optional. |
include | Other files that hold part of the manifest, for monorepos. Optional. |
x-<anything> | Ignored, as in Compose: a place for YAML fragments you reuse with anchors (&name) and aliases (*name). |
Names
- Every name (project, managed entry, service, job, env group, bucket) is a lowercase DNS label: letters, digits and
-, starting with a letter, at most 63 characters. A job's name is at most 54 characters, 52 with a schedule, since each run adds a suffix. - A managed entry can't share its name with a service or an env group.
- Names starting with
parity-are reserved. - Old spellings get an error that names the new one. For example,
resources:is nowmanaged:, the eventsbaseandcreateare nowseedandstart, and a job'srun:is nowcommand:.