Roadmap

Planned changes and experiments.

Kubernetes cluster (Raspberry Pi)

The 4 × Raspberry Pi 4B (8 GB) are wired up as a highly-available k3s cluster for hands-on labbing. Container orchestration is intentionally kept off the single Proxmox host — Swarm or k8s there would be overkill — so the Pis carry that experiment instead.

Delivered so far:

  • 4-node HA k3s (all nodes control-plane + etcd, tolerates one node loss)
  • MetalLB for bare-metal LoadBalancer IPs
  • ingress-nginx for HTTP(S) routing
  • cert-manager issuing trusted TLS certificates via DNS-01 — no inbound internet exposure needed for valid HTTPS on internal-only services
  • Pi-hole as the first real workload: network-wide DNS and ad-blocking
  • Longhorn for replicated, self-healing persistent storage across the 4 nodes

Next up:

  • Argo CD for GitOps-style continuous deployment — the cluster pulls and reconciles changes from git automatically, rather than applying manifests by hand

Monitoring & Observability

Currently no metrics, logs, or alerting across either the Proxmox/Docker side or the k3s cluster — problems get noticed by hand. Plan:

  • Metrics: kube-prometheus-stack (Prometheus + Grafana + Alertmanager + node-exporter + kube-state-metrics) on the k3s cluster, backed by Longhorn for Prometheus/Grafana's own persistent storage
  • Whole-lab visibility, not just the Pi cluster: extend scraping to the Proxmox/Docker side too — node-exporter and cAdvisor on the docker-host VM, plus Proxmox's own metrics export — so one Grafana covers the whole lab instead of two separate blind spots
  • Logs: Grafana Loki for log aggregation, queried alongside metrics in the same Grafana instance
  • Alerting: Alertmanager routed to a lightweight notification channel (e.g. a Discord webhook or ntfy) for things that actually matter — a node down, a cert-manager renewal failing, a Longhorn volume degraded, a PVC nearing capacity
  • Resource budget matters here: the full stack is heavy for 4 × Pi 4B (8 GB) boards that are also running real workloads — plan to tune retention and resource requests deliberately rather than deploying the defaults and hoping

Ideas / backlog

  • TODO