Examples Overview
This page is your index to the progressive tutorials included with Gubernator. Each example builds upon the previous, teaching you Gubernator concepts step by step.
Learning Path
┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ Single Node │ │ Cluster + Ingress │ │ Full SRE Stack │ │ AI & Automation │ │ AI Notebook Stack│
│ Basic stacks │ │ CoreDNS + Caddy │ │ Prometheus/Grafana│ │ n8n+Ollama+Qdrant│ │ Jupyter + PyTorch│
│ 10 min │ │ 30 min │ │ 60 min │ │ 40 min │ │ 15 min │
└────────────────────┘ └────────────────────┘ └────────────────────┘ └────────────────────┘ └────────────────────┘
Beginner Intermediate Advanced / DevOps Advanced / AI Advanced / AI
Example WordPress — Getting Started
Target: Beginner
Goal: Learn the basic Gubernator workflow on a single machine
- Deploy a WordPress + MySQL stack
- Learn how persistent volumes, multi-service dependencies, and internal DNS work
- Verify containers with
docker ps | grep gbnt - Explore automatic Caddy Ingress reverse proxying
Example SRE — Full Observability Stack
Target: Advanced / SRE
Goal: A production-grade control plane managing Prometheus, Grafana, and Loki
- Complete SRE tooling orchestrated by Gubernator itself
- Prometheus scrapes Gubernator metrics
- Grafana dashboards + Loki log aggregation
Example SLO — Service Level Objectives & Error Budget Tracking
Target: Advanced / SRE
Goal: Deploy a microservice with native Sloth SLO labels and track real-time Error Budget consumption
- Define
gbnt.slo.target,gbnt.slo.window, andgbnt.slo.sli.*labels indocker-compose.yml - Auto-generate multi-window multi-burn-rate Prometheus recording and alerting rules with
gbnt slo sync - Monitor real-time Error Budget remaining % and burn rates with
gbnt slo ls
Example Jaeger — Distributed Tracing Stack
Target: Advanced / SRE
Goal: Deploy a 3-tier microservice architecture sending OTLP traces to Jaeger with Caddy Ingress domain jaeger.gbnt.local
- Multi-microservice trace propagation (Frontend -> API -> Worker)
- Caddy Ingress reverse proxy domain binding (
jaeger.gbnt.local) - Automatic OTLP HTTP trace submission to
gbnt-monitor-jaeger - Real-time trace visualization in Gubernator Web UI Jaeger tab
Jaeger Integration Guide — Container Tracing Setup
Target: All Developers / SREs
Goal: Step-by-step guide on configuring any container application (Python, Node.js, Go) to send OpenTelemetry traces to Jaeger in Gubernator
Read Jaeger Integration Guide →
- Comprehensive setup for OTLP HTTP (
:4318) and OTLP gRPC (:4317) - Docker network configuration (
gbnt-net) - Standard OpenTelemetry environment variables (
OTEL_SERVICE_NAME,OTEL_EXPORTER_OTLP_ENDPOINT) - Code snippets for Python, Node.js, Go, and cURL
- Automated traffic generation with
generate_traces.pyandsend_traces.sh
Example n8n — AI & Automation Stack
Target: Advanced / AI
Goal: Deploy a self-contained AI automation workflow engine with local LLMs and vector search
- Deploy n8n workflow engine connected to a Postgres backend database
- Set up local LLMs via Ollama and a vector database via Qdrant
- Dynamic Caddy Ingress reverse proxying for custom/non-standard ports
- Autoloading local models (
llama3.2) during container initialization
Example Jupyter — AI Notebook Stack
Target: Advanced / AI
Goal: Deploy a data science and machine learning notebook pre-loaded with PyTorch
- Deploy a pre-configured JupyterLab developer workspace
- Built-in support for PyTorch, NumPy, Pandas, Scipy, and Scikit-Learn
- Persistent volume workspace for code and notebooks
- Caddy Ingress configuration for secure external traffic mapping on port
8888
Example Public HTTPS — Automatic Let's Encrypt / ZeroSSL
Target: Intermediate / DevOps
Goal: Deploy any web application with a real public domain (demo.fiware.app) and automatic SSL/TLS certificate issuance
- Zero-touch Let's Encrypt / ZeroSSL ACME certificate issuance
- Automatic HTTP (
:80) to HTTPS (:443) redirection - Ingress constraints (
ingress.host,ingress.email) and label equivalents - Background certificate auto-renewal before expiration
Example LLaMA-Factory — Visual LLM Fine-Tuning Studio
Target: Advanced / AI
Goal: Deploy a visual no-code/low-code fine-tuning suite for Llama 3, Qwen 2.5, DeepSeek, and SmolLM with LoRA/QLoRA and GGUF export
- Visual training web interface (
llama-factory.gbnt.local:7860) - Multi-dataset support (Alpaca, ShareGPT, custom JSON)
- Real-time loss tracking and stdout streaming in Loki Logs
- One-click GGUF quantization and model export
Example JupyterLab PyTorch — LLM Training & Fine-Tuning Lab
Target: Advanced / AI
Goal: Deploy an interactive PyTorch data science environment with SFTTrainer, LoRA adapters, and persistent cluster storage
Start Example JupyterLab LLM Lab →
- Step-by-step interactive notebook (
llm_lora_finetuning.ipynb) - Pre-configured Hugging Face
transformers,peft,trl, anddatasets - Headless automated training script (
train_script.py) - Persistent shared storage mobility in
/var/contenedores/jupyter-llm
Example Industrial SCADA — IEEE 1815 (DNP3) + FUXA Web HMI
Target: Advanced / IoT & Industrial Automation
Goal: Deploy a smart electric grid simulation featuring dual DNP3 RTUs, DNP3 Master Station Bridge, MQTT telemetry, and FUXA Web SCADA
Start Example Industrial SCADA →
- Dual industrial DNP3 outstations: 25 kV Substation Alpha RTU & 3 MW Solar PV Farm Beta RTU
- Native IEEE 1815-2012 protocol implementation (CRC-16, Data Link, Transport, Application layers)
- Cyclic Class 0/1/2/3 integrity polling and CROB Direct Operate breaker control
- Pre-configured FUXA SCADA/HMI project with interactive Single-Line Diagram, gauges, and alarm banners
- Ingress host
fuxa.gbnt.local:1881with live bidirectional MQTT telemetry
Example FIWARE — Smart City & Digital Twin Platform (NGSI-v2)
Target: Intermediate / Smart Cities, IoT & Digital Twins
Goal: Deploy the flagship Open Source FIWARE Catalogue stack with Orion Context Broker, IoT Agent Ultralight 2.0, MongoDB 6.0, and an interactive Smart City Digital Twin Control Center
Start Example FIWARE Smart City →
- Official FIWARE Orion Context Broker (
telefonicaiot/fiware-orion:3.10.0) exposing the OMA NGSI-v2 REST API (https://orion.fiware.gbnt.local) - FIWARE IoT Agent for Ultralight 2.0 (
fiware/iotagent-ul:1.22.0) bridging Southbound IoT sensor frames (:7896) to NGSI-v2 context entities (https://iot-agent.fiware.gbnt.local) - 6 Standardized FIWARE Smart Data Models:
WeatherObserved,AirQualityObserved,TrafficFlowObserved,Streetlight,ThreePhaseAcMeasurement, andWaterQualityObserved - Interactive Smart City Digital Twin Control Center UI (
https://fiware.gbnt.local) with live streetlight dimmer actuation, rush-hour traffic simulation, and raw NGSI-v2 JSON inspector