Docs Reference
fwoop.yaml reference
Describe services, jobs, backups, checks and alerts in a file you keep next to your code.
fwoop.yaml describes a project’s configuration as code. fwoop apply shows a diff against what’s running and applies it after you confirm. Anything you don’t describe stays as it is in the dashboard.
$ fwoop apply
~ services.api.target role=api → role=api,region=eu
+ jobs.db-vacuum
? Apply 2 changes to project acme/production? Yes
✓ Applied
Full example
project: production
services:
api:
compose: compose.yaml
target: role=api
strategy: rolling
secrets: production
rollout:
order: [region=eu-central, region=us-east]
pause: 10m
jobs:
nightly-report:
schedule: "0 3 * * *"
timezone: Europe/Berlin
target: role=worker
service: worker
command: node scripts/report.js
timeout: 15m
retries: 3
notify: [slack:#ops]
backups:
postgres-main:
source: service:postgres
target: role=db
destination: acme-backups/postgres
schedule: "30 2 * * *"
keep: { daily: 7, weekly: 4, monthly: 12 }
verify: weekly
checks:
api:
url: https://api.example.com/health
every: 30s
expect: 200
alerts:
disk-almost-full:
when: disk.used > 90%
for: 10m
target: all
notify: [slack:#ops]
Top-level keys
| Key | Description | Guide |
|---|---|---|
project | Project to apply to. Defaults to the CLI’s current project. | Concepts |
services | Compose applications and how they roll out | Deploy services |
jobs | Scheduled commands | Cron jobs |
backups | Backup plans | Backups |
checks | Uptime checks | Monitoring |
alerts | Alert rules | Monitoring |
Secrets never go in fwoop.yaml. Reference them by name and set their values with fwoop secrets set.
Drift
If someone changes a resource in the dashboard that fwoop.yaml manages, Fwoop marks it as drifted and fwoop apply shows the difference. Choose per project whether the file or the dashboard wins.