
If you love the simplicity of Docker Swarm (native Compose files, lightweight single binary) but miss...
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:
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"
POST /v1/slo/edit to create, edit, or disable SLOs on the fly without editing Compose files./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]
+-------------------------------------------------------------------------+
*.gbnt): Real-time table mapping running containers to <service>.<stack>.gbnt with copyable curl commands.A, AAAA, CNAME, TXT, and PTR records stored in SQLite and merged into CoreDNS on the fly (POST /v1/coredns/custom-records).127.0.0.1:5354), benchmark query latency in milliseconds, and inspect raw nslookup output.Gubernator packages Caddy as its default edge proxy, handling HTTPS certificate provisioning, reverse proxying, and access logging across multi-node setups.
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
---
## 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!*
opensourceHow to rescue abandoned open-source projects, modernize build systems, and generate multi-architecture Docker images (x86_64, ARM64) in a single afternoon with Antigravity.
aiPreface: It all started with a misunderstanding. I noticed a new page in the Gemini API...
flutterDiscover how Dart 3.13 primary constructors, 'this' constructor bodies, and constructor shorthands transform BlocSignal into the cleanest state management architecture in Flutter.
awsA field report on serving Gemma 4 E2B under vLLM on AWS G5g — the only aarch64 + SM 7.5 hardware there is. No published build covers that combination, AWS quietly solves half of it, and the thing that actually blocks you is 64 KiB of shared memory.
discussEver since I joined the platform, I wanted to post about a topic I was really passionate about....
aiUpdate 08/15 0.2.0 Released github.com/deghosal-2026/agent-tooltrust · pip install agent-tooltrust...
Workflows from the Neura Market marketplace related to this CoPilot resource