From bare Proxmox to production-ready Kubernetes — fully automated.
Why proxkube
A single Go binary. No Ansible, no Terraform, no external dependencies.
Cloud-Init template, network detection, storage detection — everything is automatically discovered and configured.
If setup aborts, resume continues exactly where it left off. No VM is recreated.
Full-featured Bubbletea TUI with two-level category navigation, live progress, GitOps status, addon manager and config editor — everything in one terminal window.
Secrets encryption at rest, audit logging, nftables firewall with source-IP restrictions, Pod Security Standards and proper kubelet TLS — enabled by default, zero configuration required.
Optional Network Policies (default-deny-all + allow-dns/traefik/prometheus) and Kyverno policy engine — block :latest tags, audit resource limits and non-root containers across all namespaces.
3 Control Planes with HAProxy and keepalived (Virtual IP). If one CP fails, another takes over automatically.
Scheduled etcd + VM snapshots via cron with configurable retention, Velero for Persistent Volumes, and one-shot etcd restore that rolls the cluster back from any snapshot.
Special mode for Proxmox on Hetzner root servers: private NAT network, port forwarding, iptables-persistent.
Prometheus + Grafana, Loki log aggregation and Falco runtime security — one flag to enable each.
One Authentik login covers everything: kubectl, Vault, Headlamp, Grafana, ArgoCD, Gitea, Woodpecker and Harbor — OIDC apps, role mappings and admin-group bindings configured automatically. Longhorn and Hubble UI are gated by Authentik ForwardAuth via Traefik.
One-tap cluster import into Nautik on iPhone / iPad / Mac. A QR pairing page over your Tailnet rewrites the kubeconfig to a MagicDNS endpoint — reachable from cellular, not just imported.
Toggle any UI (Grafana, Longhorn, Headlamp, ArgoCD, Vault) between public and tailnet-only — same <addon>.<domain> URL, resolved via Tailscale MagicDNS. Switch live with proxkube addon expose grafana tailnet or pick a preset in the installer.
HashiCorp Vault as central secret store — auto-initialized, auto-unsealed, KV v2 enabled. Addon credentials are synced automatically. External Secrets Operator bridges Vault into native Kubernetes Secrets.
Cilium Hubble UI for real-time network flow visibility — see which pod talks to which, inspect DNS queries, and visualize policy drops across all namespaces. One flag to enable.
Opt into Cilium's kubeProxyReplacement or Calico's eBPF dataplane — kube-proxy is removed, pod-to-service traffic bypasses iptables, latency drops. Off by default; one env flag to enable on kernels ≥ 5.3.
Kubernetes Gateway API CRDs installed and Traefik configured as gateway controller. Use modern HTTPRoute and Gateway resources alongside classic Ingress — both work simultaneously.
Encrypt your .env config (with passwords & tokens) using age. The encrypted file is transparently decrypted in-memory — plaintext never touches disk during cluster operations.
Integrated GitOps workflow: bootstrap Gitea + ArgoCD app-of-apps, live sync status per addon, one-key sync trigger, rollback to any history entry, and in-TUI values editor — all without leaving the terminal.
Upgrade preflight scans for removed APIs, node readiness and kubelet version skew before each kubeadm bump. Cert rotation renews kubeadm certs on all control planes with a zero-downtime static-pod bounce and a /healthz wait.
Pre-flight doctor validates Proxmox, template, storage, VMID/IP collisions and DNS before install. Cluster diagram renders a live topology of nodes, namespaces, ingresses and PVCs — straight in the terminal.
Ecosystem
Just set to true — the rest happens automatically.
Networking & Ingress
Observability
Security & Access
Storage & Backup
GitOps & CI/CD
Cluster Tools
About
IT Engineer — building proxkube as an open-source homelab project.
Feel free to reach out for questions, feedback, or collaboration.
[email protected]
proxkube is an open-source Go binary that deploys a production-ready Kubernetes cluster on Proxmox VE in under 5 minutes — from VM creation to TLS, ingress, monitoring and GitOps, fully automated.
This website is a private, non-commercial open-source project.
A postal address is provided upon request by email.