Summary
Add support for a new annotation allowing users to explicitly define the LoadBalancer health check port:
service.beta.kubernetes.io/scw-loadbalancer-healthcheck-port: "<port>"
Motivation
The Scaleway CCM currently determines the LoadBalancer health check port based on the per-port nodePort.
However, there is no simple way to force a specific port for the health check without modifying service ports, which is limiting in several use cases (legacy probes, constrained firewall rules, fixed monitoring pipelines).
Proposal
Implement support for:
service.beta.kubernetes.io/scw-loadbalancer-healthcheck-port
Use the same parsing mecanism used on other annotations:
- '18080': a single port, the same port is used for all load balancer backends
- '80:10080,443:10443': port mapping, each backend is configured with his own healthcheck port
Behavior:
- If this annotation is present, CCM should use the provided integer port value.
- This port should override the default per-port
nodePort
- Validation should ensure it is a valid TCP/UDP port (1-65535).