Infrastructure
Additional cluster infrastructure deployed via the root Makefile.
Service Mesh
Istio
Minimal profile installation (istioctl install --set profile=minimal). KEDA
Event-driven autoscaler — scales workloads based on queue depth, Prometheus metrics, cron schedules, and more.Ingress & Networking
MetalLB
Bare-metal LoadBalancer provider for services of typeLoadBalancer. Configuration: lb/ (kustomize). Kong Ingress Controller
Helm-based Kong ingress with CRDs disabled.Custom Ingress Controller
Custom ingress controller deployed fromingress/ (kustomize). Reloader
Watches ConfigMaps/Secrets and triggers rolling restarts when they change.Cloudflare Operator & Tunnel
Manages Cloudflare DNS records and Argo Tunnels from Kubernetes.Warning
Requires CF_API_TOKEN and CF_API_KEY environment variables.
CI/CD & GitOps
Tekton
Full CI/CD pipeline engine — see the Tekton docs.
Devtron
Kubernetes application lifecycle management — CI/CD, security scanning, and resource monitoring.Keptn
Cloud-native application lifecycle management — evaluates deployment quality via pre/post-production checks.Identity & Access
Dex
OIDC provider — see the Dex docs.
Headlamp
Kubernetes web UI with Dex OIDC — see the Headlamp docs.
Keycloak Operator
Keycloak CRDs and operator for managing realms, clients, and users declaratively.Data & Storage
MongoDB Operator & Replicaset
make deploy-mongo-operator # Community Operator
make deploy-mongo-replicaset # Deploy a MongoDB ReplicaSet
MongoDBCommunity CR. Testing
Testkube
Kubernetes-native test framework — run k6, Postman, Cypress tests as Kuberenees CRDs.Kuberhealthy
Synthetic monitoring — runs periodic checks (DNS, pod restarts, etc.) and exposes results as Prometheus metrics.Cluster Management
make cluster # k3d cluster with Traefik
make cluster-no-traefik # k3d cluster without Traefik
make cluster-registry # k3d cluster with local registry
make cluster-destroy # Delete the cluster (default: k3s-default)
make cluster-destroy-all # Delete all k3d clusters
make lb-ip # Print Traefik LB IP
# Full-stack single node lab
make single-node-lab # Cluster + Dex + Prometheus/Grafana + ArgoCD + Headlamp
make single-node-lab-registry # Same with local image registry
make single-node-lab-destroy # Tear down
IP Detection
The nip.io IP is auto-detected by scripts/get-nipio-ip.sh. The script checks for a Tailscale IPv4 address first (for external access), then falls back to the Traefik LoadBalancer IP on the Docker network.
The resolved IP is used to substitute __NIPIO_IP__ and __LB_IP__ placeholders in ingress and OIDC config manifests.
OCM (Open Cluster Management)
Multi-cluster management — see the OCM docs.