{"adoption": {"forks": 98, "observed_at": "2026-08-28T04:04:43.631331+00:00", "stars": 1436}, "canonical_url": "https://ross.abutalabs.com/products/inlets-operator", "card": {"archived": false, "artifact_type": "service", "description": "Get public TCP LoadBalancers for local Kubernetes clusters", "domain": ["networking", "self-hosted", "cloud-computing"], "enriched": true, "function": ["networking", "deployment", "infrastructure-as-code", "proxy"], "health_score": 99, "homepage": "https://docs.inlets.dev/reference/inlets-operator", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["inlets/inlets-operator"], "name": "inlets/inlets-operator", "platform": ["go", "cloud"], "pushed_at": "2026-08-18T15:36:41+00:00", "repo": "inlets/inlets-operator", "stars": 1436, "tags": ["kubernetes-operator", "tcp-loadbalancer", "tunnel", "nat-traversal", "local-kubernetes", "kind", "k3d", "minikube", "inlets", "helm-chart", "custom-resource-definition", "containers", "devops", "kubernetes", "docker", "linux"], "topics": ["loadbalancer", "kind", "k3d", "minikube", "kubernetes", "tunnel", "local-cluster", "devops", "tcp", "encrypted", "load-balancer", "private-cloud", "nat-traversal", "cloud-native", "hacktoberfest"], "urls": [], "use_cases": ["expose local kubernetes services with a public IP", "get LoadBalancer services working on kind or minikube", "turn pending LoadBalancer into real external IP", "give my home k3d cluster a public TCP endpoint", "tunnel kubernetes ingress controller to the internet", "demo local cluster services over the web", "self-hosted alternative to ngrok for kubernetes"], "what_it_is": "A Kubernetes operator that gives local clusters (kind, k3d, minikube) real public TCP LoadBalancer IPs by provisioning cloud VMs running inlets tunnel servers. It watches Services of type LoadBalancer, creates Tunnel custom resources, and writes the public IP back to the Service just like a managed cloud provider would.", "when_to_avoid": ["your cluster runs on a managed cloud that already provisions LoadBalancers", "you only need HTTP dev tunnels without Kubernetes integration", "you cannot run VMs in a public cloud or lack an inlets subscription for inlets Pro servers"], "when_to_choose": ["you run a local or private-cloud Kubernetes cluster and need real LoadBalancer IPs", "you want cloud-provider-style ingress for kind, k3d, or minikube", "you prefer self-hosted tunnels over SaaS tunnel services", "you want tunnel lifecycle tied to Kubernetes Services via CRDs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/inlets-operator", "repo": "inlets/inlets-operator", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.631331+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:47.917175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1ec7d7acc7800c04a0d854181d35d7b4a3330444e6846ac2561c5800ec2edcb", "fetched_at": "2026-08-28T04:04:43.631331+00:00", "kind": "readme", "missing": false, "url": "https://github.com/inlets/inlets-operator"}, {"content_hash": "0f0696195ed44222649de64548907a2ed91043929be5249bad8502f2be0caf0e", "fetched_at": "2026-08-29T11:47:40.203496+00:00", "kind": "homepage", "missing": false, "url": "https://docs.inlets.dev/reference/inlets-operator"}, {"content_hash": "ba433faecc32ac17e2152a44085a41a407c43ce26505222c84ef268849c6a76f", "fetched_at": "2026-08-29T11:47:40.206370+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/reference/faq"}, {"content_hash": "0adfc56528102cada0809dd8f0a7a087ca8e4a10914ce46707d41409b18a0b56", "fetched_at": "2026-08-29T11:47:40.208832+00:00", "kind": "site_page", "missing": false, "url": "https://docs.inlets.dev/uplink/installation"}, {"content_hash": "ef43a9656bb8760dee32ddd7293ca57b065cb5ab8d8b8e86ce7443c83180fb9f", "fetched_at": "2026-08-29T11:47:40.210841+00:00", "kind": "site_page", "missing": false, "url": "https://inlets.dev/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2547, "days_push": 15, "days_rel": 15, "gap_med": 82, "n_releases_24m": 8}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}