---
tags:
  - sources
  - autogenerated
---

# Supported Sources

<!-- THIS FILE MUST NOT BE EDITED BY HAND -->
<!-- ON NEW SOURCE ADDED PLEASE RUN 'make generate-sources-documentation' -->
<!-- markdownlint-disable MD013 -->

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

| {{ padRight .ColWidths.Name "**Source Name**" }} | {{ padRight .ColWidths.Filters "Filters" }} | {{ padRight .ColWidths.Namespace "Namespace" }} | {{ padRight .ColWidths.FQDNTemplate "FQDN Template" }} | {{ padRight .ColWidths.Events "Events" }} | {{ padRight .ColWidths.ProviderSpecific "Provider Specific" }} | {{ padRight .ColWidths.Category "Category" }} | {{ padRight .ColWidths.Resources "Resources" }} |
|:{{ leftSep .ColWidths.Name }}|:{{ leftSep .ColWidths.Filters }}|:{{ leftSep .ColWidths.Namespace }}|:{{ leftSep .ColWidths.FQDNTemplate }}|:{{ leftSep .ColWidths.Events }}|:{{ leftSep .ColWidths.ProviderSpecific }}|:{{ leftSep .ColWidths.Category }}|:{{ leftSep .ColWidths.Resources }}|
{{- range .Sources }}
| {{ padRight $.ColWidths.Name (.Name | bold) }} | {{ padRight $.ColWidths.Filters .Filters }} | {{ padRight $.ColWidths.Namespace .Namespace }} | {{ padRight $.ColWidths.FQDNTemplate .FQDNTemplate }} | {{ padRight $.ColWidths.Events .Events }} | {{ padRight $.ColWidths.ProviderSpecific .ProviderSpecific }} | {{ padRight $.ColWidths.Category (lower .Category) }} | {{ padRight $.ColWidths.Resources (replace .Resources "," "<br/>") }} |
{{- end }}

## Usage

To use a specific source, configure ExternalDNS with the {{backtick 1}}--source{{backtick 1}} flag:

{{backtick 3}}bash
external-dns --source=service --source=ingress
{{backtick 3}}

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
