Gatus Status Page for R2D2 / TFX 2026
  • Go 90.7%
  • Vue 8%
  • JavaScript 0.5%
  • HTML 0.3%
  • Go Template 0.1%
  • Other 0.2%
Find a file
2026-07-05 02:47:43 -04:00
config Sync monitor.csv: ITA media server now ICMP ping at 5m 2026-07-05 02:47:43 -04:00
helm Add videos group: 67 holovid HLS feed monitors; sync helm and monitor.csv 2026-07-05 02:46:55 -04:00
src R2D2-Status: Gatus-based status dashboard with compose and Helm delivery 2026-07-02 02:27:49 -04:00
.dockerignore R2D2-Status: Gatus-based status dashboard with compose and Helm delivery 2026-07-02 02:27:49 -04:00
.env.example compose: NetBird sidecar service (netbird profile, setup-key auth) 2026-07-04 12:32:42 -04:00
.env.local R2D2-Status: Gatus-based status dashboard with compose and Helm delivery 2026-07-02 02:27:49 -04:00
.gitignore gitignore: exclude config/video/ feed-export snapshots 2026-07-05 02:39:41 -04:00
deploy.sh Add deploy.sh: compose (default) or helm deploy with health check 2026-07-05 02:47:29 -04:00
docker-compose.yml TF-X ITA check via ICMP; enable unprivileged ping (ping_group_range sysctl) 2026-07-04 12:59:00 -04:00
Dockerfile R2D2-Status: Gatus-based status dashboard with compose and Helm delivery 2026-07-02 02:27:49 -04:00
README.md R2D2-Status: Gatus-based status dashboard with compose and Helm delivery 2026-07-02 02:27:49 -04:00

R2D2-Status

Service health dashboard for NATO infrastructure, built on Gatus (vendored in src/). Endpoints, alerting, and UI settings live in config/config.yaml (docker) and helm/values.yaml under config: (Kubernetes).

Docker Compose

cp .env.example .env            # then set POSTGRES_PASSWORD
docker compose up -d --build

Dashboard: http://localhost:8080. State is stored in the bundled Postgres (postgres compose profile, enabled via COMPOSE_PROFILES in .env).

Local development (no Postgres, sqlite storage, debug logging):

docker compose --env-file .env.local up --build

Kubernetes (Helm)

Chart in helm/. Defaults run a single replica with in-memory storage:

helm upgrade --install r2d2-status ./helm

For production, edit helm/values.override.yml (image registry, ingress host, Postgres secret) and deploy with:

kubectl create secret generic r2d2-status-db \
  --from-literal=DATABASE_URL='postgres://user:pass@host:5432/gatus?sslmode=require'
helm upgrade --install r2d2-status ./helm -f ./helm/values.override.yml

Storage modes (storage.type): memory (default, lost on restart), sqlite (PVC-backed, single replica, Recreate strategy), postgres (required for replicaCount > 1).

Notes

  • The image runs as nobody (65534) on scratch; ICMP (icmp://) endpoints need root or CAP_NET_RAW — grant explicitly if you add ping checks.
  • Publish the image with docker compose build && docker compose push after setting GATUS_IMAGE/GATUS_TAG in .env to your registry.