Gubernator v2.13.0: Google SRE SLOs, Native CoreDNS Suite & Caddy Ingress for Docker Compose
If you love the simplicity of Docker Swarm (native Compose files, lightweight single binary) but miss the advanced capabilities of Kubernetes (targeted label placement, SRE-grade observability, built-in DNS service discovery, and zero-trust ingress), meet Gubernator (gbnt). We are excited to release

If you love the simplicity of Docker Swarm (native Compose files, lightweight single binary) but miss the advanced capabilities of Kubernetes (targeted label placement, SRE-grade observability, built-in DNS service discovery, and zero-trust ingress), meet Gubernator (gbnt). We are excited to release Gubernator v2.13.0, introducing three massive feature suites natively integrated into a single binary and a modern Material Design 3 Flutter Web Dashboard: Google SRE Multi-Burn-Rate SLO Engine & Interactive Suite CoreDNS 4-Tab Management Suite & Interactive Dig Playground Caddy Ingress & Zero-Trust Reverse Proxy Suite Fun Fact: The entirety of Gubernator's codebase, multi-node deployment pipelines, and SRE features were designed, built, and pair-programmed using **Google Antigravity (AGY), Google DeepMind's agentic AI coding assistant! Let's dive into what's new and how you can level up your self-hosted or production container clusters! Defining Service Level Objectives (SLOs) and tracking Error Budgets is the gold standard of Site Reliability Engineering. Until now, implementing SLOs meant running heavy Kubernetes CRDs (via tools like Sloth or Pyrra) or using costly SaaS platforms. Gubernator v2.13.0 brings Google SRE Workbook (Chapter 5) compliant multi-burn-rate alerting straight to simple docker-compose.yml services: version: "3.8" services: payment-api: image: hashicorp/http-echo:latest labels: gbnt.slo.enable: "true" gbnt.slo.target: "99.9" gbnt.slo.window: "30d" gbnt.slo.template: "caddy-http" gbnt.slo.journey: "Checkout Flow" Google Multi-Burn-Rate Alerting: Automatically generates standard 4-window Prometheus recording and alert rules (Critical Page 1h/6h & Warning Ticket 3d/14d). Dynamic "No-Code" Management: Click "+ Configure / Add SLO" in the Web UI or call POST /v1/slo/edit to create, edit, or disable SLOs on the fly without editing Compose files. Composite User Journeys: Group multi-service SLOs into end-to-end flows (Checkout Flow: API Gateway + Payment + DB) and automatically identify the weakest-link bottleneck service. Deployment Correlation Timeline: Cross-reference real-time burn rate spikes against stack updates and container restarts to answer "Did our last deploy burn the budget?". PromQL Dry-Run Backtesting: Validate Compose YAML syntax and test PromQL queries against historical Prometheus metrics prior to deployment. Automated Grafana Dashboards: Automatically generates /data/monitor/grafana/dashboards/slo_dashboard.json on rule sync. Here is how Gubernator compares to other popular open-source and commercial SLO tools: Feature / Capability Gubernator Sloth (slok/sloth) Pyrra (pyrra-dev/pyrra) OpenSLO / Nobl9 Native Runtime Environment Docker Compose / Swarm / Bare Metal Kubernetes / OpenSLO CLI Kubernetes CRDs / Filesystem Multi-Cloud / SaaS Declarative Spec docker-compose.yml labels (gbnt.slo.*) K8s CRDs / Sloth YAML Custom Resources (ServiceLevelObjective) OpenSLO YAML Spec SRE Calculation Engine Google SRE Multi-Burn-Rate (via Sloth Engine) Google SRE Multi-Burn-Rate (4 windows) Prometheus Multi-Burn-Rate Proprietary / Custom Integrated Web Dashboard Yes (Flutter Web 5-Tab Suite) No (CLI / Operator only) Yes (React/Go UI) Yes (SaaS Console) Dynamic Hot-Editing Yes (Web UI Modal & REST API) No (Requires re-applying YAMLs) No (Read-only from K8s/Files) Yes (SaaS Console) User Journeys (Composite SLOs) Yes (Aggregation & Bottleneck Analysis) No No Yes (Related Services) Deployment Correlation Yes (Real-time Timeline of Stacks/Restarts) No No Partial (CI/CD Webhooks) Built-in SLI Templates Yes (caddy-http, http-status, latency-p99, grpc) Partial (Sloth Libraries) No (Raw PromQL) No Dry-Run PromQL Backtesting Yes (Pre-deploy Validation) Partial (validate command) No No RED Metrics Breakdown Yes (RPS, Error Rate, P99 Latency Cards) No Partial (RPS & Errors) Yes Automated Grafana Provisioning Yes (Auto-generates slo_dashboard.json) Partial (Generic Rules) No No Internal container service discovery should "just work." In Gubernator, every deployed container automatically receives --dns <CoreDNS_IP>, enabling seamless *.gbnt internal resolution across multi-node clusters. With v2.13.0, we are expanding CoreDNS into a full 4-Tab Management Suite: +-------------------------------------------------------------------------+ | GUBERNATOR COREDNS SUITE | | | | [Tab 1: Auto-Discovered] [Tab 2: Custom Records] [Tab 3: DNS Playground] [Tab 4: Config] +-------------------------------------------------------------------------+ Tab 1: Auto-Discovered Stacks (*.gbnt): Real-time table mapping running containers to <service>.<stack>.gbnt with copyable curl commands. Tab 2: Custom Static DNS Records: Manage custom A, AAAA, CNAME, TXT, and PTR records stored in SQLite and merged into CoreDNS on the fly (POST /v1/coredns/custom-records). Tab 3: Interactive Dig Playground: A built-in terminal console to run DNS queries against local CoreDNS (127.0.0.1:5354), benchmark query latency in milliseconds, and inspect raw nslookup output. Tab 4: Upstream Forwarders & Corefile Editor: One-click upstream DNS presets (Cloudflare 1.1.1.1, Google 8.8.8.8, Quad9 9.9.9.9) and a live Corefile editor with container reload. Gubernator packages Caddy as its default edge proxy, handling HTTPS certificate provisioning, reverse proxying, and access logging across multi-node setups. 7-Tab Management Visualizer: Dashboard, Dynamic Routes Matrix, Corefile Preview, TLS Certs Inspector, Real-time Access Logs, Log Config, and Prometheus Metrics. Root CA Trust Installation: One-click download of Gubernator's internal Root CA certificate for local TLS trust across your developer devices. Automatic Ingress Label Routing: Simply add ingress.host=my-app.example.com to your Compose service, and Gubernator reconfigures Caddy route matrices across all cluster nodes automatically. You can spin up a complete Gubernator cluster with full observability, CoreDNS, Caddy, and Prometheus/Grafana in seconds: # 1. Download binary & start Gubernator Manager curl -sSL https://raw.githubusercontent.com/mario-ezquerro/gubernator/main/install.sh | bash gbnt serve # 2. Deploy the SRE Monitoring Stack (Prometheus, Grafana, Loki, cAdvisor, Jaeger) gbnt monitor init http://localhost:4001 Grafana -> http://localhost:3000 CoreDNS Playground -> http://localhost:4001 (CoreDNS tab) --- ## Built Autonomous with Google Antigravity A special shoutout to **Google Antigravity (AGY)**! The entire architecture of Gubernator -- from Go backend REST APIs, SQLite ORMs, Caddy route management, CoreDNS hosts sync, Sloth SLO rule compilation, down to the 5-tab Flutter Web UI -- was built autonomously in pair-programming sessions with Google Antigravity AI. --- ## Conclusion & Open Source Gubernator aims to make container orchestration **fast, resilient, and enjoyable** again -- without the steep operational overhead of Kubernetes. - **GitHub Repository**: [mario-ezquerro/gubernator](https://github.com/mario-ezquerro/gubernator) - **Documentation & Guides**: [https://mario-ezquerro.github.io/gubernator/](https://mario-ezquerro.github.io/gubernator/) - **Give us a Star**: If you find Gubernator useful, drop a star on GitHub! *What are your thoughts on native SLO tracking for Docker Compose? Let us know in the comments below!*
Key Takeaways
- β’If you love the simplicity of Docker Swarm (native Compose files, lightweight single binary) but miss the advanced capabilities of Kubernetes (targeted label placement, SRE-grade observability, built-in DNS service discovery, and zero-trust ingress), meet Gubernator (gbnt). We are excited to release
- β’This story was reported by Dev.to, covering developments in the dev space.
- β’AI advancements continue to reshape industries β read the full article on Dev.to for complete coverage.
π Continue reading the full article:
Read Full Article on Dev.to βShare this article



