feat(source): support NodePort and ClusterIP service targets
Author: andrew-c-hayCreated Sep 27, 2026Updated Sep 29, 2026
Summary
EndpointTargetsFromServices currently considers only Service.Spec.ExternalIPs and Service.Status.LoadBalancer.Ingress when deriving DNS targets.
Requested behavior
Add support for service targets based on:
Service.Spec.PortswithNodePortService.Spec.ClusterIPswithClusterIP
Acceptance criteria
- Define the target-selection behavior for NodePort and ClusterIP services.
- Add focused unit tests covering the supported service types and precedence with existing external IP and load balancer targets.
- Preserve current behavior for services that already expose external IPs or load balancer ingress addresses.
Relevant code: source/endpoints.go, EndpointTargetsFromServices.
Source: kubernetes-sigs/external-dns