happy config

Manage your monitors, status pages, and alert configuration as a single YAML file. Drop it in your repo, version it, deploy with happy config push.

bash
happy config init # scaffold happyuptime.yml from current statehappy config pull > current.yml # write current state to stdout / filehappy config push happyuptime.yml --dry-run # preview diffhappy config push happyuptime.yml # applyhappy config validate happyuptime.yml # syntax + schema check

See config-as-code guide for full schema + recipes.

init

bash
happy config init# Wrote happyuptime.yml with 12 monitors, 2 status pages, 3 alert channels

pull / push

bash
# Capture remote state to a filehappy config pull > happyuptime.yml# Apply local file to remotehappy config push happyuptime.yml --dry-run # preview onlyhappy config push happyuptime.yml # actually apply

--dry-run shows a colored diff: green = create, yellow = update, red = delete.

validate

bash
happy config validate happyuptime.yml# Errors are reported with line numbers

Use in CI before merging YAML changes.

Env var substitution

YAML values can interpolate env vars:

yaml
monitors: - name: ${SERVICE_NAME} API url: ${SERVICE_URL}

Env vars come from your shell. Useful for keeping secrets out of the YAML file.

Ask a question... ⌘I