---
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