# STRRL/cloudflare-tunnel-ingress-controller

🚀 Expose the website directly into the internet! The Kuberntes Ingress Controller based on Cloudflare Tunnel.

Repository: https://github.com/STRRL/cloudflare-tunnel-ingress-controller
Canonical: https://ross.abutalabs.com/products/cloudflare-tunnel-ingress-controller
Homepage: https://tunnel.strrl.dev
Language: Go
License: MIT
License Family: permissive
Topics: cloudflare, cloudflare-tunnel, ingress, ingress-controller, kubernetes, selfhosted
Last push: 2026-08-23T18:12:45+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 97, longevity 85
- inputs: {"age_days": 1195, "days_push": 10, "days_rel": 21, "gap_med": 27.0, "n_releases_24m": 11}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1190, forks 91 (observed 2026-08-28T04:03:56.010948+00:00)

## What it is
A Kubernetes ingress controller that exposes cluster services to the internet via Cloudflare Tunnel. It watches standard Ingress resources with the cloudflare-tunnel ingress class and automatically provisions tunnels, cloudflared connectors, and DNS records.

## Use cases
- expose kubernetes services to the internet without a public ip
- publish internal cluster apps through cloudflare tunnel
- manage cloudflare tunnel dns records from kubernetes ingress
- self-host home lab services behind cloudflare
- avoid opening firewall ports for kubernetes workloads
- route external traffic to kubernetes services securely

## When to choose
- you already use Cloudflare DNS and want native Kubernetes Ingress integration
- your cluster has no public IP or you want to avoid exposing ports
- you want automatic tunnel and DNS provisioning from Ingress manifests
- you prefer standard Ingress resources over custom CRDs

## When to avoid
- you don't use Cloudflare or can't move your DNS zone there
- you need non-HTTP protocols or fine-grained traffic control beyond Ingress
- you need a general-purpose ingress with TLS termination, rate limiting, or auth features
- you're not on Kubernetes (use plain cloudflared instead)

## Facets
- artifact type: service
- maturity: active
- function: deployment, networking, proxy, api-gateway, infrastructure-as-code
- domain: cloud-computing, networking, self-hosted, infrastructure-as-code
- platform: cloud, self-hosted, go
- tags: cloudflare-tunnel, ingress-controller, kubernetes-ingress, cloudflared, helm-chart, zero-trust, dns-management, tunnel, kubernetes, devops, docker

## Member repositories
- STRRL/cloudflare-tunnel-ingress-controller (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:56.010948+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:23:00.306620+00:00, confidence not recorded.
  - readme: https://github.com/STRRL/cloudflare-tunnel-ingress-controller (fetched 2026-08-28T04:03:56.010948+00:00, sha f34c4c8f67ee)
  - homepage: https://tunnel.strrl.dev (fetched 2026-08-29T12:29:58.775173+00:00, sha 4d29ec151659)
  - site_page: https://tunnel.strrl.dev/guides/quickstart (fetched 2026-08-29T12:29:58.784200+00:00, sha a4895c6c9e09)
- Data as of 2026-08-30T08:39:29.467469+00:00.
