Skip to content

Infrastructure

Additional cluster infrastructure deployed via the root Makefile.

Service Mesh

Istio

make deploy-istio
Minimal profile installation (istioctl install --set profile=minimal).

KEDA

make deploy-keda
Event-driven autoscaler — scales workloads based on queue depth, Prometheus metrics, cron schedules, and more.

Ingress & Networking

MetalLB

make deploy-metallb
Bare-metal LoadBalancer provider for services of type LoadBalancer. Configuration: lb/ (kustomize).

Kong Ingress Controller

make deploy-kong-inc
Helm-based Kong ingress with CRDs disabled.

Custom Ingress Controller

make deploy-ingress-controller
make undeploy-ingress-controller
Custom ingress controller deployed from ingress/ (kustomize).

Reloader

make deploy-reloader
Watches ConfigMaps/Secrets and triggers rolling restarts when they change.

Cloudflare Operator & Tunnel

make deploy-cloudflare-operator
make deploy-cluster-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

make deploy-devtron           # Deploy Devtron operator
make undeploy-devtron         # Full cleanup
Kubernetes application lifecycle management — CI/CD, security scanning, and resource monitoring.

Keptn

make deploy-keptn
make undeploy-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

make deploy-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
MongoDB Community Operator + example MongoDBCommunity CR.

Testing

Testkube

make deploy-testkube
make undeploy-testkube
Kubernetes-native test framework — run k6, Postman, Cypress tests as Kuberenees CRDs.

Kuberhealthy

make deploy-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.

make lb-ip

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.