--- tags: - sources - autogenerated --- # Supported Sources ExternalDNS supports multiple sources for discovering DNS records. Each source watches specific Kubernetes or cloud platform resources and generates DNS records based on their configuration. ## Overview Sources are responsible for: - Watching Kubernetes resources or external APIs - Extracting DNS information from annotations and resource specifications - Generating DNS endpoint records for providers to consume ## Available Sources | **Source Name** | Filters | Namespace | FQDN Template | Events | Provider Specific | Category | Resources | |:-------------------------|:-----------------|:-----------|:--------------|:-------|:------------------|:--------------------|:--------------------------------------------------------------------------------------| | **ambassador-host** | annotation,label | all,single | false | false | true | ingress controllers | Host.getambassador.io | | **connector** | | | false | false | false | special | Remote TCP Server | | **contour-httpproxy** | annotation | all,single | true | false | true | ingress controllers | HTTPProxy.projectcontour.io | | **crd** | annotation,label | all,single | false | true | true | externaldns | DNSEndpoint.externaldns.k8s.io | | **empty** | | | false | false | false | testing | None | | **f5-transportserver** | annotation | all,single | false | false | false | load balancers | TransportServer.cis.f5.com | | **f5-virtualserver** | annotation | all,single | false | false | false | load balancers | VirtualServer.cis.f5.com | | **fake** | | | true | true | false | testing | Fake Endpoints | | **gateway-grpcroute** | annotation,label | all,single | true | false | true | gateway api | GRPCRoute.gateway.networking.k8s.io | | **gateway-httproute** | annotation,label | all,single | true | false | true | gateway api | HTTPRoute.gateway.networking.k8s.io | | **gateway-tcproute** | annotation,label | all,single | true | false | true | gateway api | TCPRoute.gateway.networking.k8s.io | | **gateway-tlsroute** | annotation,label | all,single | true | false | true | gateway api | TLSRoute.gateway.networking.k8s.io | | **gateway-udproute** | annotation,label | all,single | true | false | true | gateway api | UDPRoute.gateway.networking.k8s.io | | **gloo-proxy** | | all,single | false | false | true | service mesh | Proxy.gloo.solo.io | | **ingress** | annotation,label | all,single | true | true | true | kubernetes core | Ingress | | **istio-gateway** | annotation,label | all,single | true | false | true | service mesh | Gateway.networking.istio.io | | **istio-virtualservice** | annotation,label | all,single | true | false | true | service mesh | VirtualService.networking.istio.io | | **kong-tcpingress** | annotation | all,single | false | false | true | ingress controllers | TCPIngress.configuration.konghq.com | | **node** | annotation,label | all | true | true | false | kubernetes core | Node | | **openshift-route** | annotation,label | all,single | true | false | true | openshift | Route.route.openshift.io | | **pod** | annotation,label | all,single | true | true | false | kubernetes core | Pod | | **service** | annotation,label | all,single | true | true | true | kubernetes core | Service | | **skipper-routegroup** | annotation | all,single | true | false | true | ingress controllers | RouteGroup.zalando.org | | **traefik-proxy** | annotation | all,single | false | false | true | ingress controllers | IngressRoute.traefik.io
IngressRouteTCP.traefik.io
IngressRouteUDP.traefik.io | | **unstructured** | annotation,label | all,single | true | false | false | custom resources | Unstructured | ## Usage To use a specific source, configure ExternalDNS with the `--source` flag: ```bash external-dns --source=service --source=ingress ``` Multiple sources can be combined to watch different resource types simultaneously. ## Source Categories - **Kubernetes Core**: Native Kubernetes resources (Service, Ingress, Pod, Node) - **ExternalDNS**: Native ExternalDNS resources - **Gateway API**: Kubernetes Gateway API resources (Gateway, HTTPRoute, etc.) - **Service Mesh**: Service mesh implementations (Istio, Gloo) - **Ingress Controllers**: Third-party ingress controller resources (Contour, Traefik, Ambassador, etc.) - **Load Balancers**: Load balancer specific resources (F5) - **OpenShift**: OpenShift specific resources (Route) - **Cloud Platforms**: Cloud platform integrations (Cloud Foundry) - **Wrappers**: Source wrappers that modify or combine other sources - **Special**: Special purpose sources (connector, empty) - **Testing**: Sources used for testing purposes