cloudflare / cloudflare/cloudflared
💡Support a cloudflared ingress controller Kubernetes Helm chart
- Dominant language
- Go
- Stars
- 15.6k
- Forks
- 1.4k
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the feature you'd like**
Kubernetes officially supports AWS, GCP and Nginx ingress controllers.
Additionally they also list other third party ingress controllers here: https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/#additional-controllers
Ingress controllers basically take care of everything you need in order to serve a Kubernetes `deployment` to the internet:
1. Create a load balancer (in your case this would be deploying a `cloudflared` pod and creating ingress rules for making a `deployment` accesible through Cloudflare).
2. Create DNS rules (Point the domain to Cloudflare so it resolves back to the Cluster, not sure about how this part would be 🤔)
3. Do this automatically every time a new `ingress` resource is created within the cluster.
**Describe alternatives you've considered**
1. Right now you do not have an official `cloudflared` helm chart on ArtifactHub: https://artifacthub.io/packages/search?ts_query_web=cloudflared&sort=relevance&page=1
1. It seems like these are the official ones but barely have any support/documentation: https://github.com/cloudflare/helm-charts
1. None of these are actual ingress controllers, but they rather force you to keep all your deployments manually synchronized.
**Additional context**
The specific use case I am looking to achieve with a `cloudflared-ingress-controller` is similar to that obteined with:
1. [aws-load-balancer-controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller)
2. [external-dns](https://github.com/kubernetes-sigs/external-dns)
Where:
1. Every time I create a new `deployment`
2. A AWS load balancer that serves that deployment to the Internet is automatically created
3. A DNS rule in cloudflare is created pointing to such load balancer.
Contributor guide
Assessment
This issue has not been assessed yet.