Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to apply additional configuration options to the cloudflared instance #161

Open
TroyKomodo opened this issue Oct 12, 2024 · 4 comments

Comments

@TroyKomodo
Copy link

Allow for specifying replicas, affinity, tolerations on the cloudflared deployments.

And potentially create a service and or service monitors for metrics.

@pl4nty
Copy link
Owner

pl4nty commented Oct 13, 2024

It should already be possible to create your own cloudflared deployments, since the operator uses the Cloudflare API for routing, rather than a local config file. If that works for you, I can add a GatewayInfrastructure parameter to disable the operator's deployment.

Tunnel metrics are available on port 2000, but controller metrics aren't enabled. I'll fix that in the next release and add optional ServiceMonitors. kubebuilder has a plugin for controller Grafana dashboards too, would that be useful to you? Just using controller metrics though, not cloudflared.

pl4nty added a commit that referenced this issue Oct 13, 2024
also provide optional Prometheus ServiceMonitors, see #161

Signed-off-by: Tom Plant <[email protected]>
pl4nty added a commit that referenced this issue Oct 14, 2024
Related to #161

Add functionality to disable the operator's deployment using a `GatewayInfrastructure` parameter.

* Modify `internal/controller/gateway_controller.go` to check for a `parametersRef` in gateway specs and add info logging if the `parametersRef` kind isn't `configmap` or the `disableDeployment` key is missing.
* If `disableDeployment` is true, check if there's an existing deployment and delete it if so.
* Update `internal/controller/gateway_controller_test.go` to cover the new functionality of the `disableDeployment` flag and add test cases to verify info logging when the `parametersRef` kind isn't `configmap` or the `disableDeployment` key is missing.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/pl4nty/cloudflare-kubernetes-gateway/issues/161?shareId=XXXX-XXXX-XXXX-XXXX).
@pl4nty
Copy link
Owner

pl4nty commented Oct 25, 2024

It should already be possible to create your own cloudflared deployments, since the operator uses the Cloudflare API for routing, rather than a local config file. If that works for you, I can add a GatewayInfrastructure parameter to disable the operator's deployments.

Would this approach work for you? I'd like to cut a release this week

@danielloader
Copy link

danielloader commented Oct 29, 2024

https://istio.io/latest/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment

istio/istio.io#14010

Would this count as a way to do manual deployments of gateways?

@pl4nty
Copy link
Owner

pl4nty commented Oct 29, 2024

@danielloader not really, traffic flows directly to the tunnel so no services are involved. the operator matches gateway config to tunnels using gateway.Name == tunnel.Name instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants