mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2026-04-03 23:21:01 +02:00
* feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com> * feat(source): add unstructured source Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * Update docs/sources/unstructured.md Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> * feat(source): add unstructured source * feat(source): add unstructured source Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> --------- Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com> Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
4.4 KiB
4.4 KiB
tags
| tags | ||
|---|---|---|
|
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 | Resources | Filters | Namespace | FQDN Template | Events | Category |
|---|---|---|---|---|---|---|
| ambassador-host | Host.getambassador.io | annotation,label | all,single | false | false | ingress controllers |
| connector | Remote TCP Server | false | false | special | ||
| contour-httpproxy | HTTPProxy.projectcontour.io | annotation | all,single | true | false | ingress controllers |
| crd | DNSEndpoint.externaldns.k8s.io | annotation,label | all,single | false | false | externaldns |
| empty | None | false | false | testing | ||
| f5-transportserver | TransportServer.cis.f5.com | annotation | all,single | false | false | load balancers |
| f5-virtualserver | VirtualServer.cis.f5.com | annotation | all,single | false | false | load balancers |
| fake | Fake Endpoints | true | true | testing | ||
| gateway-grpcroute | GRPCRoute.gateway.networking.k8s.io | annotation,label | all,single | false | false | gateway api |
| gateway-httproute | HTTPRoute.gateway.networking.k8s.io | annotation,label | all,single | false | false | gateway api |
| gateway-tcproute | TCPRoute.gateway.networking.k8s.io | annotation,label | all,single | false | false | gateway api |
| gateway-tlsroute | TLSRoute.gateway.networking.k8s.io | annotation,label | all,single | false | false | gateway api |
| gateway-udproute | UDPRoute.gateway.networking.k8s.io | annotation,label | all,single | true | false | gateway api |
| gloo-proxy | Proxy.gloo.solo.io | all,single | false | false | service mesh | |
| ingress | Ingress | annotation,label | all,single | true | false | kubernetes core |
| istio-gateway | Gateway.networking.istio.io | annotation | all,single | true | false | service mesh |
| istio-virtualservice | VirtualService.networking.istio.io | annotation | all,single | true | false | service mesh |
| kong-tcpingress | TCPIngress.configuration.konghq.com | annotation | all,single | false | false | ingress controllers |
| node | Node | annotation,label | all | true | false | kubernetes core |
| openshift-route | Route.route.openshift.io | annotation,label | all,single | true | false | openshift |
| pod | Pod | annotation,label | all,single | true | false | kubernetes core |
| service | Service | annotation,label | all,single | true | false | kubernetes core |
| skipper-routegroup | RouteGroup.zalando.org | annotation | all,single | true | false | ingress controllers |
| traefik-proxy | IngressRoute.traefik.io IngressRouteTCP.traefik.io IngressRouteUDP.traefik.io |
annotation | all,single | false | false | ingress controllers |
| unstructured | Unstructured | annotation,label | all,single | true | false | custom resources |
Usage
To use a specific source, configure ExternalDNS with the --source flag:
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