linode / linode-cloud-controller-manager

Kubernetes Cloud Controller Manager for Linode
Apache License 2.0
81 stars 61 forks source link

Per-port configs via annotations #84

Closed quidquid closed 3 years ago

quidquid commented 3 years ago

The annotations are very useful to configure NodeBalancer options, thank you. It appears the only port-specific options are for protocol and TLS cert, and the rest apply globally to the balancer on every port configuration.

It would be helpful to define options on a per-port basis, the way they're arranged in the Cloud Manager. For example, different services have different compatibility with proxy-protocol, and might have different health check requirements. I'm using Traefik for ingress, and as more non-HTTP services are added as entrypoints, ports are added to the same LoadBalancer resource yet it becomes unreasonable to apply the same NB config to all equally.

One route might be to allow the linode-loadbalancer-port-* JSON entries to contain other annotation key/value pairs, which merge into and override the global values before being passed to the underlying NodeBalancer API for that port-config. Does that make sense?

Thanks!

phillc commented 3 years ago

Hello,

Your request does indeed make sense. I will add it to our internal tracker. Thanks for the feedback!