// the find
inlets/inlets-operator
Get public TCP LoadBalancers for local Kubernetes clusters
inlets-operator is a Kubernetes operator that watches for LoadBalancer services and automatically provisions a cheap cloud VM running an inlets tunnel server, giving your local or private cluster a real public IP. It's the missing piece for homelab and on-premises clusters where cloud-managed LoadBalancers don't exist. If you run k3s, KinD, or minikube and are tired of services stuck in <pending>, this solves that problem.
The UX is genuinely good — you get a real external IP in kubectl get svc just like you would on EKS or GKE, no custom annotations required unless you want them. The proxy protocol support (v1/v2) for preserving client IPs is a detail most tunnel tools skip. Cloud-provision abstraction supports a dozen providers (DO, Hetzner, Vultr, Linode, GCE, AWS) via a shared library it splits out to inletsctl, so adding a new provider is isolated. Multi-arch images (x86_64 + arm64) means it actually works on the Raspberry Pi clusters it's targeting.
The core tunnel binary (inlets itself) requires a paid license for production use — this operator is open source but the thing it orchestrates is commercial, which is buried enough in the README that you might not notice until you try to use it seriously. Proxy protocol config is baked at VM provisioning time and cannot be changed without deleting and recreating the service and its VM — that's a sharp edge that will catch people. No IPv6 support. The CRD is still v1alpha1 after years of active use, which signals the API isn't considered stable even though adoption clearly is.