Skip to content

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

KeyDescriptionGuide
projectProject to apply to. Defaults to the CLI’s current project.Concepts
servicesCompose applications and how they roll outDeploy services
jobsScheduled commandsCron jobs
backupsBackup plansBackups
checksUptime checksMonitoring
alertsAlert rulesMonitoring

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.