Skip to content

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

Start Example WordPress →

  • 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

Start Example SRE →

  • 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

Start Example SLO →

  • Define gbnt.slo.target, gbnt.slo.window, and gbnt.slo.sli.* labels in docker-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

Start Example Jaeger →

  • 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.py and send_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

Start Example n8n →

  • 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

Start Example Jupyter →

  • 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

Start Example Public HTTPS →

  • 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

Start Example LLaMA-Factory →

  • 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, and datasets
  • 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:1881 with 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, and WaterQualityObserved
  • 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