GitOps

GitOps & export

Keep dashboards and alert rules in your Git repository. PulseBoard polls the repo and reconciles the diff — new files are created, changed files updated, and (if prune is enabled) files removed from Git are deleted from the workspace.

Configure

# Environment / agent.toml
PULSE_GITOPS_URL=https://github.com/acme/observability
PULSE_GITOPS_BRANCH=main
PULSE_GITOPS_PATH=pulseboard/
PULSE_GITOPS_INTERVAL=60
PULSE_GITOPS_TOKEN_ENV=GH_TOKEN
PULSE_GITOPS_PRUNE=true

Layout

Files in the configured sub-directory must be JSON matching the dashboard or rule-group schema. The filename (without .json) is used as the stable ID.

pulseboard/
├─ dashboards/
│  ├─ payments-overview.json
│  └─ infra-hosts.json
├─ rules/
│  ├─ payments.json
│  └─ infra.json
└─ routing.yaml

Export as code

GET /api/export/dashboards/{id}?format=yaml
GET /api/export/rules/{id}?format=tf
GET /api/export/routing?format=yaml

Or click the </> Code button in the dashboard toolbar.

Reconciliation semantics