gitextract_h6x703iq/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── ---bug-report.md │ │ ├── --enhancement-request.md │ │ ├── -support-request.md │ │ └── create-release.md │ ├── dependabot.yml │ ├── labeler.yml │ ├── pull_request_template.md │ ├── renovate-config.js │ ├── renovate.json │ └── workflows/ │ ├── OWNERS │ ├── ci.yaml │ ├── codeql-analysis.yaml │ ├── dependency-update.yaml │ ├── docs.yaml │ ├── end-to-end-tests.yml │ ├── gh-workflow-approve.yaml │ ├── json-yaml-validate.yml │ ├── lint-test-chart.yaml │ ├── lint.yaml │ ├── release-chart.yaml │ ├── staging-image-tester.yaml │ └── validate-crd.yml ├── .gitignore ├── .golangci.yml ├── .ko.yaml ├── .markdownlint.json ├── .pre-commit-config.yaml ├── .spectral.yaml ├── .zappr.yaml ├── CONTRIBUTING.md ├── LICENSE.md ├── Makefile ├── OWNERS ├── README.md ├── SECURITY_CONTACTS ├── api/ │ └── webhook.yaml ├── apis/ │ ├── OWNERS │ ├── api.go │ └── v1alpha1/ │ ├── api.go │ ├── dnsendpoint.go │ ├── groupversion_info.go │ └── zz_generated.deepcopy.go ├── charts/ │ └── OWNERS ├── cloudbuild.yaml ├── code-of-conduct.md ├── config/ │ └── crd/ │ └── standard/ │ └── dnsendpoints.externaldns.k8s.io.yaml ├── controller/ │ ├── OWNERS │ ├── controller.go │ ├── controller_test.go │ ├── events.go │ ├── events_test.go │ ├── execute.go │ ├── execute_test.go │ ├── metrics.go │ └── metrics_test.go ├── docs/ │ ├── 20190708-external-dns-incubator.md │ ├── OWNERS │ ├── advanced/ │ │ ├── configuration-precedence.md │ │ ├── domain-filter.md │ │ ├── events.md │ │ ├── fqdn-templating.md │ │ ├── import-records.md │ │ ├── nat64.md │ │ ├── operational-best-practices.md │ │ ├── rate-limits.md │ │ ├── split-horizon.md │ │ └── ttl.md │ ├── annotations/ │ │ └── annotations.md │ ├── contributing/ │ │ ├── bug-report.md │ │ ├── chart.md │ │ ├── design.md │ │ ├── dev-guide.md │ │ ├── index.md │ │ ├── source-wrappers.md │ │ └── sources-and-providers.md │ ├── deprecation.md │ ├── faq.md │ ├── flags.md │ ├── initial-design.md │ ├── monitoring/ │ │ ├── index.md │ │ └── metrics.md │ ├── overrides/ │ │ └── partials/ │ │ └── copyright.html │ ├── proposal/ │ │ ├── 001-leader-election.md │ │ ├── 002-internal-ipv6-handling-rollback.md │ │ ├── 003-dnsendpoint-graduation-to-beta.md │ │ ├── 004-gateway-api-annotation-placement.md │ │ ├── design-template.md │ │ └── multi-target.md │ ├── providers.md │ ├── registry/ │ │ ├── dynamodb.md │ │ ├── registry.md │ │ └── txt.md │ ├── release.md │ ├── scripts/ │ │ ├── index.html.gotmpl │ │ └── requirements.txt │ ├── snippets/ │ │ ├── contributing/ │ │ │ ├── collect-extdns-info.sh │ │ │ └── collect-resources.sh │ │ ├── exoscale/ │ │ │ ├── extdns.yaml │ │ │ ├── how-to-test.yaml │ │ │ └── rbac.yaml │ │ ├── security-context/ │ │ │ └── extdns-limited-privilege.yaml │ │ ├── traefik-proxy/ │ │ │ ├── ingress-route-default.yaml │ │ │ ├── ingress-route-public-private.yaml │ │ │ ├── traefik-public-private-config.yaml │ │ │ ├── with-cluster-rbac.yaml │ │ │ └── without-rbac.yaml │ │ └── tutorials/ │ │ └── coredns/ │ │ ├── coredns-groups.yaml │ │ ├── etcd.yaml │ │ ├── fixtures.yaml │ │ ├── kind.yaml │ │ ├── values-coredns.yaml │ │ └── values-extdns-coredns.yaml │ ├── sources/ │ │ ├── about.md │ │ ├── crd/ │ │ │ ├── dnsendpoint-aws-example.yaml │ │ │ └── dnsendpoint-example.yaml │ │ ├── crd.md │ │ ├── f5-transportserver.md │ │ ├── f5-virtualserver.md │ │ ├── gateway-api.md │ │ ├── gateway.md │ │ ├── gloo-proxy.md │ │ ├── index.md │ │ ├── ingress.md │ │ ├── istio.md │ │ ├── kong.md │ │ ├── mx-record.md │ │ ├── nodes.md │ │ ├── ns-record.md │ │ ├── openshift.md │ │ ├── pod.md │ │ ├── service.md │ │ ├── traefik-proxy.md │ │ ├── txt-record.md │ │ └── unstructured.md │ ├── tutorials/ │ │ ├── akamai-edgedns.md │ │ ├── alibabacloud.md │ │ ├── anexia-engine.md │ │ ├── aws-filters.md │ │ ├── aws-load-balancer-controller.md │ │ ├── aws-public-private-route53.md │ │ ├── aws-sd.md │ │ ├── aws.md │ │ ├── azure-private-dns.md │ │ ├── azure.md │ │ ├── civo.md │ │ ├── cloudflare.md │ │ ├── contour.md │ │ ├── coredns-etcd.md │ │ ├── coredns.md │ │ ├── crd.md │ │ ├── dnsimple.md │ │ ├── exoscale.md │ │ ├── externalname.md │ │ ├── gandi.md │ │ ├── gke-nginx.md │ │ ├── gke.md │ │ ├── godaddy.md │ │ ├── hostport.md │ │ ├── ionoscloud.md │ │ ├── kops-dns-controller.md │ │ ├── kube-ingress-aws.md │ │ ├── linode.md │ │ ├── myra.md │ │ ├── ns1.md │ │ ├── oracle.md │ │ ├── ovh.md │ │ ├── pdns.md │ │ ├── pihole.md │ │ ├── plural.md │ │ ├── rfc2136.md │ │ ├── scaleway.md │ │ ├── security-context.md │ │ ├── transip.md │ │ └── webhook-provider.md │ └── version-update-playbook.md ├── e2e/ │ ├── deployment.yaml │ ├── provider/ │ │ ├── coredns.yaml │ │ └── etcd.yaml │ └── service.yaml ├── endpoint/ │ ├── OWNERS │ ├── crypto.go │ ├── crypto_test.go │ ├── domain_filter.go │ ├── domain_filter_test.go │ ├── endpoint.go │ ├── endpoint_benchmark_test.go │ ├── endpoint_test.go │ ├── labels.go │ ├── labels_test.go │ ├── target_filter.go │ ├── target_filter_test.go │ ├── utils.go │ ├── utils_test.go │ └── zz_generated.deepcopy.go ├── external-dns.code-workspace ├── go.mod ├── go.sum ├── go.tool.mod ├── go.tool.sum ├── internal/ │ ├── OWNERS │ ├── config/ │ │ └── config.go │ ├── flags/ │ │ ├── binders.go │ │ └── binders_test.go │ ├── gen/ │ │ └── docs/ │ │ ├── flags/ │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ └── templates/ │ │ │ └── flags.gotpl │ │ ├── metrics/ │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ └── templates/ │ │ │ └── metrics.gotpl │ │ ├── render/ │ │ │ ├── render.go │ │ │ └── render_test.go │ │ └── sources/ │ │ ├── main.go │ │ ├── main_test.go │ │ └── templates/ │ │ └── sources.gotpl │ ├── idna/ │ │ ├── idna.go │ │ └── idna_test.go │ ├── testresources/ │ │ ├── ca.pem │ │ ├── client-cert-key.pem │ │ └── client-cert.pem │ └── testutils/ │ ├── endpoint.go │ ├── endpoint_test.go │ ├── env.go │ ├── helpers.go │ ├── helpers_test.go │ ├── init.go │ ├── log/ │ │ └── log.go │ ├── metrics.go │ └── mock_source.go ├── kustomize/ │ ├── OWNERS │ ├── external-dns-clusterrole.yaml │ ├── external-dns-clusterrolebinding.yaml │ ├── external-dns-deployment.yaml │ ├── external-dns-serviceaccount.yaml │ └── kustomization.yaml ├── main.go ├── mkdocs.yml ├── pkg/ │ ├── OWNERS │ ├── apis/ │ │ ├── OWNERS │ │ └── externaldns/ │ │ ├── constants.go │ │ ├── types.go │ │ ├── types_test.go │ │ ├── validation/ │ │ │ ├── validation.go │ │ │ └── validation_test.go │ │ ├── version.go │ │ └── version_test.go │ ├── client/ │ │ ├── OWNERS │ │ ├── config.go │ │ └── config_test.go │ ├── events/ │ │ ├── OWNERS │ │ ├── controller.go │ │ ├── controller_test.go │ │ ├── fake/ │ │ │ ├── fake.go │ │ │ └── fake_test.go │ │ ├── types.go │ │ └── types_test.go │ ├── http/ │ │ ├── drain.go │ │ ├── drain_test.go │ │ ├── http.go │ │ ├── http_benchmark_test.go │ │ └── http_test.go │ ├── metrics/ │ │ ├── OWNERS │ │ ├── labels.go │ │ ├── metrics.go │ │ ├── metrics_test.go │ │ ├── models.go │ │ └── models_test.go │ ├── rfc2317/ │ │ ├── OWNERS │ │ ├── arpa.go │ │ └── arpa_test.go │ └── tlsutils/ │ ├── OWNERS │ ├── tlsconfig.go │ └── tlsconfig_test.go ├── plan/ │ ├── OWNERS │ ├── conflict.go │ ├── conflict_test.go │ ├── metrics.go │ ├── metrics_test.go │ ├── plan.go │ ├── plan_test.go │ ├── policy.go │ └── policy_test.go ├── provider/ │ ├── OWNERS │ ├── akamai/ │ │ ├── akamai.go │ │ └── akamai_test.go │ ├── alibabacloud/ │ │ ├── alibaba_cloud.go │ │ └── alibaba_cloud_test.go │ ├── aws/ │ │ ├── aws.go │ │ ├── aws_fixtures_test.go │ │ ├── aws_test.go │ │ ├── aws_utils_test.go │ │ ├── config.go │ │ ├── config_test.go │ │ ├── fixtures/ │ │ │ └── 160-plus-zones.yaml │ │ ├── instrumented_config.go │ │ └── instrumented_config_test.go │ ├── awssd/ │ │ ├── aws_sd.go │ │ ├── aws_sd_test.go │ │ └── fixtures_test.go │ ├── azure/ │ │ ├── azure.go │ │ ├── azure_private_dns.go │ │ ├── azure_privatedns_test.go │ │ ├── azure_test.go │ │ ├── common.go │ │ ├── common_test.go │ │ ├── config.go │ │ ├── config_test.go │ │ └── fixtures/ │ │ └── config_test.json │ ├── blueprint/ │ │ ├── zone_cache.go │ │ └── zone_cache_test.go │ ├── cached_provider.go │ ├── cached_provider_test.go │ ├── civo/ │ │ ├── civo.go │ │ └── civo_test.go │ ├── cloudflare/ │ │ ├── OWNERS │ │ ├── cloudflare.go │ │ ├── cloudflare_batch.go │ │ ├── cloudflare_batch_test.go │ │ ├── cloudflare_custom_hostnames.go │ │ ├── cloudflare_custom_hostnames_test.go │ │ ├── cloudflare_regional.go │ │ ├── cloudflare_regional_test.go │ │ ├── cloudflare_test.go │ │ ├── pagination.go │ │ └── pagination_test.go │ ├── coredns/ │ │ ├── OWNERS │ │ ├── coredns.go │ │ └── coredns_test.go │ ├── dnsimple/ │ │ ├── dnsimple.go │ │ └── dnsimple_test.go │ ├── exoscale/ │ │ ├── exoscale.go │ │ └── exoscale_test.go │ ├── factory/ │ │ ├── provider.go │ │ └── provider_test.go │ ├── fakes/ │ │ └── provider.go │ ├── gandi/ │ │ ├── client.go │ │ ├── gandi.go │ │ └── gandi_test.go │ ├── godaddy/ │ │ ├── client.go │ │ ├── client_test.go │ │ ├── godaddy.go │ │ └── godaddy_test.go │ ├── google/ │ │ ├── google.go │ │ └── google_test.go │ ├── inmemory/ │ │ ├── inmemory.go │ │ └── inmemory_test.go │ ├── linode/ │ │ ├── linode.go │ │ └── linode_test.go │ ├── ns1/ │ │ ├── ns1.go │ │ └── ns1_test.go │ ├── oci/ │ │ ├── cache.go │ │ ├── cache_test.go │ │ ├── oci.go │ │ └── oci_test.go │ ├── ovh/ │ │ ├── ovh.go │ │ └── ovh_test.go │ ├── pdns/ │ │ ├── pdns.go │ │ └── pdns_test.go │ ├── pihole/ │ │ ├── client.go │ │ ├── clientV6.go │ │ ├── clientV6_test.go │ │ ├── client_test.go │ │ ├── pihole.go │ │ ├── piholeV6_test.go │ │ └── pihole_test.go │ ├── plural/ │ │ ├── client.go │ │ ├── plural.go │ │ └── plural_test.go │ ├── provider.go │ ├── provider_test.go │ ├── recordfilter.go │ ├── recordfilter_test.go │ ├── rfc2136/ │ │ ├── rfc2136.go │ │ └── rfc2136_test.go │ ├── scaleway/ │ │ ├── interface.go │ │ ├── scaleway.go │ │ └── scaleway_test.go │ ├── transip/ │ │ ├── transip.go │ │ └── transip_test.go │ ├── webhook/ │ │ ├── api/ │ │ │ ├── httpapi.go │ │ │ └── httpapi_test.go │ │ ├── webhook.go │ │ └── webhook_test.go │ ├── zone_id_filter.go │ ├── zone_id_filter_test.go │ ├── zone_tag_filter.go │ ├── zone_tag_filter_test.go │ ├── zone_type_filter.go │ ├── zone_type_filter_test.go │ ├── zonefinder.go │ └── zonefinder_test.go ├── registry/ │ ├── OWNERS │ ├── awssd/ │ │ ├── OWNERS │ │ ├── registry.go │ │ └── registry_test.go │ ├── dynamodb/ │ │ ├── OWNERS │ │ ├── registry.go │ │ └── registry_test.go │ ├── factory/ │ │ ├── registry.go │ │ └── registry_test.go │ ├── mapper/ │ │ ├── mapper.go │ │ └── mapper_test.go │ ├── noop/ │ │ ├── OWNERS │ │ ├── noop.go │ │ └── noop_test.go │ ├── registry.go │ └── txt/ │ ├── OWNERS │ ├── encryption_test.go │ ├── registry.go │ ├── registry_test.go │ └── utils_test.go ├── scripts/ │ ├── OWNERS │ ├── aws-cleanup-legacy-txt-records.py │ ├── e2e-test.sh │ ├── generate-crd.sh │ ├── get-sha256.sh │ ├── helm-tools.sh │ ├── install-ko.sh │ ├── install-tools.sh │ ├── releaser.sh │ ├── update_route53_k8s_txt_owner.py │ └── version-updater.sh ├── source/ │ ├── OWNERS │ ├── ambassador_host.go │ ├── ambassador_host_test.go │ ├── annotations/ │ │ ├── annotations.go │ │ ├── annotations_test.go │ │ ├── filter.go │ │ ├── filter_test.go │ │ ├── processors.go │ │ ├── processors_test.go │ │ ├── provider_specific.go │ │ └── provider_specific_test.go │ ├── compatibility.go │ ├── connector.go │ ├── connector_test.go │ ├── contour_httpproxy.go │ ├── contour_httpproxy_test.go │ ├── crd.go │ ├── crd_test.go │ ├── empty.go │ ├── empty_test.go │ ├── endpoint_benchmark_test.go │ ├── endpoints.go │ ├── endpoints_test.go │ ├── f5_transportserver.go │ ├── f5_transportserver_test.go │ ├── f5_virtualserver.go │ ├── f5_virtualserver_test.go │ ├── fake.go │ ├── fake_test.go │ ├── fqdn/ │ │ ├── fqdn.go │ │ └── fqdn_test.go │ ├── gateway.go │ ├── gateway_grpcroute.go │ ├── gateway_grpcroute_test.go │ ├── gateway_hostname.go │ ├── gateway_httproute.go │ ├── gateway_httproute_test.go │ ├── gateway_tcproute.go │ ├── gateway_tcproute_test.go │ ├── gateway_test.go │ ├── gateway_tlsroute.go │ ├── gateway_tlsroute_test.go │ ├── gateway_udproute.go │ ├── gateway_udproute_test.go │ ├── gloo_proxy.go │ ├── gloo_proxy_test.go │ ├── informers/ │ │ ├── fake.go │ │ ├── handlers.go │ │ ├── handlers_test.go │ │ ├── indexers.go │ │ ├── indexers_test.go │ │ ├── informers.go │ │ ├── informers_test.go │ │ ├── transfomers.go │ │ └── transformers_test.go │ ├── ingress.go │ ├── ingress_fqdn_test.go │ ├── ingress_test.go │ ├── istio_gateway.go │ ├── istio_gateway_fqdn_test.go │ ├── istio_gateway_test.go │ ├── istio_virtualservice.go │ ├── istio_virtualservice_fqdn_test.go │ ├── istio_virtualservice_test.go │ ├── kong_tcpingress.go │ ├── kong_tcpingress_test.go │ ├── main_test.go │ ├── node.go │ ├── node_fqdn_test.go │ ├── node_test.go │ ├── openshift_route.go │ ├── openshift_route_fqdn_test.go │ ├── openshift_route_test.go │ ├── pod.go │ ├── pod_fqdn_test.go │ ├── pod_indexer_test.go │ ├── pod_test.go │ ├── service.go │ ├── service_fqdn_test.go │ ├── service_test.go │ ├── shared_test.go │ ├── skipper_routegroup.go │ ├── skipper_routegroup_test.go │ ├── source.go │ ├── source_test.go │ ├── store.go │ ├── store_test.go │ ├── traefik_proxy.go │ ├── traefik_proxy_test.go │ ├── types/ │ │ └── types.go │ ├── unstructured.go │ ├── unstructured_converter.go │ ├── unstructured_fqdn_test.go │ ├── unstructured_test.go │ ├── utils.go │ ├── utils_test.go │ └── wrappers/ │ ├── dedupsource.go │ ├── dedupsource_test.go │ ├── multisource.go │ ├── multisource_test.go │ ├── nat64source.go │ ├── nat64source_test.go │ ├── post_processor.go │ ├── post_processor_test.go │ ├── source_test.go │ ├── targetfiltersource.go │ ├── targetfiltersource_test.go │ ├── types.go │ └── types_test.go └── tests/ └── integration/ ├── OWNERS ├── scenarios/ │ └── tests.yaml ├── source_test.go └── toolkit/ ├── mocks.go ├── models.go └── toolkit.go