cloudflare / cloudflare/cloudflared

💡Support a cloudflared ingress controller Kubernetes Helm chart

Open
#1,068 1 comment 8 reactions 0 assignees View on GitHub
Priority: Normal Type: Feature Request
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.