diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index fbf2a67a9..5e87915b8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,3 +1,17 @@ -## Checklist + -- [ ] Update changelog in CHANGELOG.md, use section "Unreleased". +**Description** + + + + +Fixes #ISSUE + +**Checklist** + +- [ ] Unit tests updated +- [ ] End user documentation updated +- [ ] CHANGELOG.md updated, use section "Unreleased" diff --git a/CHANGELOG.md b/CHANGELOG.md index 72cabe129..fe095f8c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,13 @@ ## Unreleased +- Enhance pull request template @seanmalloy - Improve errors context for AWS provider - Scaleway Provider (#1643) @Sh4d1 - Fix typos in documentation @ddymko - Add Cloudflare documentation on use of `--zone-id-filter` (#1751) @loozhengyuan +- Fix: alibaba cloud keeping create record (#1682) @LXM +- Update all container registry references to use k8s.gcr.io @seanmalloy +- Provide available prometheus metrics in documentation @vinny-sabatini ## v0.7.3 - 2020-08-05 diff --git a/docs/faq.md b/docs/faq.md index 32eee328c..44ca362bd 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -189,6 +189,16 @@ In case of an increased error count, you could correlate them with the `http_req You can use the host label in the metric to figure out if the request was against the Kubernetes API server (Source errors) or the DNS provider API (Registry/Provider errors). +Here is the full list of available metrics provided by ExternalDNS: + +| Name | Description | Type | +|-----------------------------------------------------|---------------------------------------------------------|---------| +| external_dns_controller_last_sync_timestamp_seconds | Timestamp of last successful sync with the DNS provider | Gauge | +| external_dns_registry_endpoints_total | Number of Endpoints in all sources | Gauge | +| external_dns_registry_errors_total | Number of Registry errors | Counter | +| external_dns_source_endpoints_total | Number of Endpoints in the registry | Gauge | +| external_dns_source_errors_total | Number of Source errors | Counter | + ### How can I run ExternalDNS under a specific GCP Service Account, e.g. to access DNS records in other projects? Have a look at https://github.com/linki/mate/blob/v0.6.2/examples/google/README.md#permissions @@ -204,10 +214,11 @@ $ docker run \ -e EXTERNAL_DNS_SOURCE=$'service\ningress' \ -e EXTERNAL_DNS_PROVIDER=google \ -e EXTERNAL_DNS_DOMAIN_FILTER=$'foo.com\nbar.com' \ - registry.opensource.zalan.do/teapot/external-dns:latest + k8s.gcr.io/external-dns/external-dns:v0.7.3 time="2017-08-08T14:10:26Z" level=info msg="config: &{APIServerURL: KubeConfig: Sources:[service ingress] Namespace: ... ``` + Locally: ```console @@ -272,17 +283,16 @@ Separate them by `,`. ### Are there official Docker images provided? -When we tag a new release, we push a Docker image on Zalando's public Docker registry with the following name: +When we tag a new release, we push a container image to the Kubernetes projects official container registry with the following name: ``` -registry.opensource.zalan.do/teapot/external-dns +k8s.gcr.io/external-dns/external-dns ``` -As tags, you can use your version of choice or use `latest` that always resolves to the latest tag. +As tags, you use the external-dns release of choice(i.e. `v0.7.3`). A `latest` tag is not provided in the container registry. If you wish to build your own image, you can use the provided [Dockerfile](../Dockerfile) as a starting point. -We are currently working with the Kubernetes community to provide official images for the project similarly to what is done with the other official Kubernetes projects, but we don't have an ETA on when those images will be available. ### Why am I seeing time out errors even though I have connectivity to my cluster? diff --git a/docs/tutorials/akamai-fastdns.md b/docs/tutorials/akamai-fastdns.md index 946f96ec1..e4940b6b5 100644 --- a/docs/tutorials/akamai-fastdns.md +++ b/docs/tutorials/akamai-fastdns.md @@ -49,7 +49,7 @@ spec: # serviceAccountName: external-dns containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.6.0 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress # or service or both - --provider=akamai diff --git a/docs/tutorials/alibabacloud.md b/docs/tutorials/alibabacloud.md index 2445d098e..be5ad66f3 100644 --- a/docs/tutorials/alibabacloud.md +++ b/docs/tutorials/alibabacloud.md @@ -113,7 +113,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -187,7 +187,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/aws-sd.md b/docs/tutorials/aws-sd.md index 70492525d..f489529d6 100644 --- a/docs/tutorials/aws-sd.md +++ b/docs/tutorials/aws-sd.md @@ -81,7 +81,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 env: - name: AWS_REGION value: us-east-1 # put your CloudMap NameSpace region @@ -148,7 +148,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 env: - name: AWS_REGION value: us-east-1 # put your CloudMap NameSpace region diff --git a/docs/tutorials/aws.md b/docs/tutorials/aws.md index 6cee7710c..579429d25 100644 --- a/docs/tutorials/aws.md +++ b/docs/tutorials/aws.md @@ -141,7 +141,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -216,7 +216,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/azure-private-dns.md b/docs/tutorials/azure-private-dns.md index 0042154ca..425fb9807 100644 --- a/docs/tutorials/azure-private-dns.md +++ b/docs/tutorials/azure-private-dns.md @@ -167,7 +167,7 @@ spec: spec: containers: - name: externaldns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -237,7 +237,7 @@ spec: serviceAccountName: externaldns containers: - name: externaldns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -307,7 +307,7 @@ spec: serviceAccountName: externaldns containers: - name: externaldns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/azure.md b/docs/tutorials/azure.md index 2ca4e5f84..6379f3f3b 100644 --- a/docs/tutorials/azure.md +++ b/docs/tutorials/azure.md @@ -191,7 +191,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -261,7 +261,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -331,7 +331,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/cloudflare.md b/docs/tutorials/cloudflare.md index 67b4741dd..6715c6520 100644 --- a/docs/tutorials/cloudflare.md +++ b/docs/tutorials/cloudflare.md @@ -50,7 +50,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -118,7 +118,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/contour.md b/docs/tutorials/contour.md index bea7911f4..7ef081152 100644 --- a/docs/tutorials/contour.md +++ b/docs/tutorials/contour.md @@ -21,7 +21,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -91,7 +91,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/coredns.md b/docs/tutorials/coredns.md index ca9aaa3f2..3f3464a64 100644 --- a/docs/tutorials/coredns.md +++ b/docs/tutorials/coredns.md @@ -108,7 +108,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --provider=coredns @@ -175,7 +175,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --provider=coredns diff --git a/docs/tutorials/designate.md b/docs/tutorials/designate.md index 21db373ed..7d8a4df47 100644 --- a/docs/tutorials/designate.md +++ b/docs/tutorials/designate.md @@ -59,7 +59,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -136,7 +136,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/digitalocean.md b/docs/tutorials/digitalocean.md index d24eb50bd..08e0fc00f 100644 --- a/docs/tutorials/digitalocean.md +++ b/docs/tutorials/digitalocean.md @@ -43,7 +43,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -107,7 +107,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/dnsimple.md b/docs/tutorials/dnsimple.md index 26ad9d946..658741ac2 100644 --- a/docs/tutorials/dnsimple.md +++ b/docs/tutorials/dnsimple.md @@ -35,7 +35,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone you create in DNSimple. @@ -100,7 +100,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone you create in DNSimple. diff --git a/docs/tutorials/dyn.md b/docs/tutorials/dyn.md index f994bc92d..1256f4c29 100644 --- a/docs/tutorials/dyn.md +++ b/docs/tutorials/dyn.md @@ -43,7 +43,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --txt-prefix=_d diff --git a/docs/tutorials/exoscale.md b/docs/tutorials/exoscale.md index 77fc0cbb7..cc567e841 100644 --- a/docs/tutorials/exoscale.md +++ b/docs/tutorials/exoscale.md @@ -41,7 +41,7 @@ spec: # serviceAccountName: external-dns containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.6.0 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress # or service or both - --provider=exoscale diff --git a/docs/tutorials/externalname.md b/docs/tutorials/externalname.md index bd50fc4c4..d215e70f2 100644 --- a/docs/tutorials/externalname.md +++ b/docs/tutorials/externalname.md @@ -27,7 +27,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --log-level=debug - --source=service diff --git a/docs/tutorials/gke.md b/docs/tutorials/gke.md index 686f8fd90..57d1d983a 100644 --- a/docs/tutorials/gke.md +++ b/docs/tutorials/gke.md @@ -91,7 +91,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -157,7 +157,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/hetzner.md b/docs/tutorials/hetzner.md index 23d8ec182..a7b750bf9 100644 --- a/docs/tutorials/hetzner.md +++ b/docs/tutorials/hetzner.md @@ -43,7 +43,7 @@ spec: spec: containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.7.3 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -107,7 +107,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/hostport.md b/docs/tutorials/hostport.md index b8252d559..b3f1c1273 100644 --- a/docs/tutorials/hostport.md +++ b/docs/tutorials/hostport.md @@ -31,7 +31,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --log-level=debug - --source=service @@ -96,7 +96,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --log-level=debug - --source=service diff --git a/docs/tutorials/infoblox.md b/docs/tutorials/infoblox.md index 237fcfd1f..b0dcd8a43 100644 --- a/docs/tutorials/infoblox.md +++ b/docs/tutorials/infoblox.md @@ -69,7 +69,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --domain-filter=example.com # (optional) limit to only example.com domains. @@ -149,7 +149,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --domain-filter=example.com # (optional) limit to only example.com domains. diff --git a/docs/tutorials/istio.md b/docs/tutorials/istio.md index 57ef2ea78..96a3b95e5 100644 --- a/docs/tutorials/istio.md +++ b/docs/tutorials/istio.md @@ -28,7 +28,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress @@ -98,7 +98,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/linode.md b/docs/tutorials/linode.md index 73957e50c..528575577 100644 --- a/docs/tutorials/linode.md +++ b/docs/tutorials/linode.md @@ -41,7 +41,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -105,7 +105,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/nginx-ingress.md b/docs/tutorials/nginx-ingress.md index 028ed78db..1fa7f25a7 100644 --- a/docs/tutorials/nginx-ingress.md +++ b/docs/tutorials/nginx-ingress.md @@ -262,7 +262,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --domain-filter=external-dns-test.gcp.zalan.do diff --git a/docs/tutorials/ns1.md b/docs/tutorials/ns1.md index 45bbd6d1f..e3324dfd3 100644 --- a/docs/tutorials/ns1.md +++ b/docs/tutorials/ns1.md @@ -61,7 +61,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -125,7 +125,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/openshift.md b/docs/tutorials/openshift.md index 35583834f..d055238d2 100644 --- a/docs/tutorials/openshift.md +++ b/docs/tutorials/openshift.md @@ -25,7 +25,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=openshift-route - --domain-filter=external-dns-test.my-org.com # will make ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones @@ -92,7 +92,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=openshift-route - --domain-filter=external-dns-test.my-org.com # will make ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones diff --git a/docs/tutorials/oracle.md b/docs/tutorials/oracle.md index d70fb0c04..1aef3ce11 100644 --- a/docs/tutorials/oracle.md +++ b/docs/tutorials/oracle.md @@ -93,7 +93,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/ovh.md b/docs/tutorials/ovh.md index 206e974cf..3e1b8c4dd 100644 --- a/docs/tutorials/ovh.md +++ b/docs/tutorials/ovh.md @@ -86,7 +86,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -157,7 +157,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/pdns.md b/docs/tutorials/pdns.md index 6a0405e8a..8de501120 100644 --- a/docs/tutorials/pdns.md +++ b/docs/tutorials/pdns.md @@ -42,7 +42,7 @@ spec: # serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # or ingress or both - --provider=pdns diff --git a/docs/tutorials/public-private-route53.md b/docs/tutorials/public-private-route53.md index 179c59582..b775e9a66 100644 --- a/docs/tutorials/public-private-route53.md +++ b/docs/tutorials/public-private-route53.md @@ -243,7 +243,7 @@ spec: - --txt-owner-id=external-dns - --annotation-filter=kubernetes.io/ingress.class=external-ingress - --aws-zone-type=public - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 name: external-dns-public ``` @@ -281,7 +281,7 @@ spec: - --txt-owner-id=dev.k8s.nexus - --annotation-filter=kubernetes.io/ingress.class=internal-ingress - --aws-zone-type=private - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 name: external-dns-private ``` diff --git a/docs/tutorials/rcodezero.md b/docs/tutorials/rcodezero.md index e7beb5600..3bc8de65e 100644 --- a/docs/tutorials/rcodezero.md +++ b/docs/tutorials/rcodezero.md @@ -53,7 +53,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -120,7 +120,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/rdns.md b/docs/tutorials/rdns.md index 339bbef68..94779c52e 100644 --- a/docs/tutorials/rdns.md +++ b/docs/tutorials/rdns.md @@ -54,7 +54,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --provider=rdns @@ -123,7 +123,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=ingress - --provider=rdns diff --git a/docs/tutorials/rfc2136.md b/docs/tutorials/rfc2136.md index 4357251ca..1b766b839 100644 --- a/docs/tutorials/rfc2136.md +++ b/docs/tutorials/rfc2136.md @@ -217,7 +217,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.6.0 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --txt-owner-id=k8s - --provider=rfc2136 @@ -257,7 +257,7 @@ spec: spec: containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.6.0 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --txt-owner-id=k8s - --provider=rfc2136 diff --git a/docs/tutorials/scaleway.md b/docs/tutorials/scaleway.md index 289710177..b6d1dbf2f 100644 --- a/docs/tutorials/scaleway.md +++ b/docs/tutorials/scaleway.md @@ -53,7 +53,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -121,7 +121,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/docs/tutorials/security-context.md b/docs/tutorials/security-context.md index c3f85981c..b2a72af8e 100644 --- a/docs/tutorials/security-context.md +++ b/docs/tutorials/security-context.md @@ -20,7 +20,7 @@ spec: spec: containers: - name: external-dns - image: eu.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.6.0 # minimum version is v0.5.6 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - ... # your arguments here securityContext: diff --git a/docs/tutorials/transip.md b/docs/tutorials/transip.md index 4e1ac4d9e..62942611c 100644 --- a/docs/tutorials/transip.md +++ b/docs/tutorials/transip.md @@ -36,7 +36,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains @@ -107,7 +107,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains diff --git a/docs/tutorials/ultradns.md b/docs/tutorials/ultradns.md index 33485ced7..11efe71d6 100644 --- a/docs/tutorials/ultradns.md +++ b/docs/tutorials/ultradns.md @@ -44,7 +44,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress # ingress is also possible @@ -116,7 +116,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/docs/tutorials/vinyldns.md b/docs/tutorials/vinyldns.md index 2c26b1c19..76fc8c039 100644 --- a/docs/tutorials/vinyldns.md +++ b/docs/tutorials/vinyldns.md @@ -66,7 +66,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --provider=vinyldns - --source=service @@ -137,7 +137,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --provider=vinyldns - --source=service diff --git a/docs/tutorials/vultr.md b/docs/tutorials/vultr.md index 7a95fb63d..091c1c2be 100644 --- a/docs/tutorials/vultr.md +++ b/docs/tutorials/vultr.md @@ -42,7 +42,7 @@ spec: spec: containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. @@ -106,7 +106,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: registry.opensource.zalan.do/teapot/external-dns:latest + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service # ingress is also possible - --domain-filter=example.com # (optional) limit to only example.com domains; change to match the zone created above. diff --git a/kustomize/external-dns-deployment.yaml b/kustomize/external-dns-deployment.yaml index 9782b68d9..d98d29f62 100644 --- a/kustomize/external-dns-deployment.yaml +++ b/kustomize/external-dns-deployment.yaml @@ -16,7 +16,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: us.gcr.io/k8s-artifacts-prod/external-dns/external-dns:v0.7.3 + image: k8s.gcr.io/external-dns/external-dns:v0.7.3 args: - --source=service - --source=ingress diff --git a/pkg/apis/externaldns/types.go b/pkg/apis/externaldns/types.go index be4060311..a01ac49c5 100644 --- a/pkg/apis/externaldns/types.go +++ b/pkg/apis/externaldns/types.go @@ -42,7 +42,6 @@ type Config struct { APIServerURL string KubeConfig string RequestTimeout time.Duration - IstioIngressGatewayServices []string ContourLoadBalancerService string SkipperRouteGroupVersion string Sources []string diff --git a/provider/alibabacloud/alibaba_cloud.go b/provider/alibabacloud/alibaba_cloud.go index 0df867077..54b3fd7b4 100644 --- a/provider/alibabacloud/alibaba_cloud.go +++ b/provider/alibabacloud/alibaba_cloud.go @@ -326,10 +326,6 @@ func (p *AlibabaCloudProvider) recordsForDNS() (endpoints []*endpoint.Endpoint, recordType := recordList[0].Type ttl := recordList[0].TTL - if ttl == defaultAlibabaCloudRecordTTL { - ttl = 0 - } - var targets []string for _, record := range recordList { target := record.Value diff --git a/provider/alibabacloud/alibaba_cloud_test.go b/provider/alibabacloud/alibaba_cloud_test.go index ab3f38de9..306650814 100644 --- a/provider/alibabacloud/alibaba_cloud_test.go +++ b/provider/alibabacloud/alibaba_cloud_test.go @@ -276,6 +276,12 @@ func TestAlibabaCloudProvider_Records(t *testing.T) { func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) { p := newTestAlibabaCloudProvider(false) + defaultTtlPlan := &endpoint.Endpoint{ + DNSName: "ttl.container-service.top", + RecordType: "A", + RecordTTL: defaultAlibabaCloudRecordTTL, + Targets: endpoint.NewTargets("4.3.2.1"), + } changes := plan.Changes{ Create: []*endpoint.Endpoint{ { @@ -284,6 +290,7 @@ func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) { RecordTTL: 300, Targets: endpoint.NewTargets("4.3.2.1"), }, + defaultTtlPlan, }, UpdateNew: []*endpoint.Endpoint{ { @@ -308,13 +315,20 @@ func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) { if err != nil { t.Errorf("Failed to get records: %v", err) } else { - if len(endpoints) != 2 { + if len(endpoints) != 3 { t.Errorf("Incorrect number of records: %d", len(endpoints)) } for _, endpoint := range endpoints { t.Logf("Endpoint for %++v", *endpoint) } } + for _, ep := range endpoints { + if ep.DNSName == defaultTtlPlan.DNSName { + if ep.RecordTTL != defaultTtlPlan.RecordTTL { + t.Error("default ttl execute error") + } + } + } } func TestAlibabaCloudProvider_Records_PrivateZone(t *testing.T) { diff --git a/provider/aws/aws.go b/provider/aws/aws.go index f161742b9..8108c463f 100644 --- a/provider/aws/aws.go +++ b/provider/aws/aws.go @@ -30,6 +30,7 @@ import ( "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/route53" "github.com/linki/instrumented_http" + "github.com/pkg/errors" log "github.com/sirupsen/logrus" "sigs.k8s.io/external-dns/endpoint" @@ -168,7 +169,7 @@ func NewAWSProvider(awsConfig AWSConfig) (*AWSProvider, error) { SharedConfigState: session.SharedConfigEnable, }) if err != nil { - return nil, fmt.Errorf("failed to instantiate AWS session: %w", err) + return nil, errors.Wrap(err, "failed to instantiate AWS session") } if awsConfig.AssumeRole != "" { @@ -231,10 +232,10 @@ func (p *AWSProvider) Zones(ctx context.Context) (map[string]*route53.HostedZone err := p.client.ListHostedZonesPagesWithContext(ctx, &route53.ListHostedZonesInput{}, f) if err != nil { - return nil, fmt.Errorf("failed to list hosted zones: %w", err) + return nil, errors.Wrap(err, "failed to list hosted zones") } if tagErr != nil { - return nil, fmt.Errorf("failed to list zones tags: %w", tagErr) + return nil, errors.Wrap(tagErr, "failed to list zones tags") } for _, zone := range zones { @@ -257,7 +258,7 @@ func wildcardUnescape(s string) string { func (p *AWSProvider) Records(ctx context.Context) (endpoints []*endpoint.Endpoint, _ error) { zones, err := p.Zones(ctx) if err != nil { - return nil, fmt.Errorf("records retrieval failed: %w", err) + return nil, errors.Wrap(err, "records retrieval failed") } return p.records(ctx, zones) @@ -341,7 +342,7 @@ func (p *AWSProvider) records(ctx context.Context, zones map[string]*route53.Hos } if err := p.client.ListResourceRecordSetsPagesWithContext(ctx, params, f); err != nil { - return nil, fmt.Errorf("failed to list resource records sets for zone %s: %w", *z.Id, err) + return nil, errors.Wrapf(err, "failed to list resource records sets for zone %s", *z.Id) } } @@ -366,7 +367,7 @@ func (p *AWSProvider) DeleteRecords(ctx context.Context, endpoints []*endpoint.E func (p *AWSProvider) doRecords(ctx context.Context, action string, endpoints []*endpoint.Endpoint) error { zones, err := p.Zones(ctx) if err != nil { - return fmt.Errorf("failed to list zones, aborting %s doRecords action: %w", action, err) + return errors.Wrapf(err, "failed to list zones, aborting %s doRecords action", action) } records, err := p.records(ctx, zones) @@ -380,7 +381,7 @@ func (p *AWSProvider) doRecords(ctx context.Context, action string, endpoints [] func (p *AWSProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error { zones, err := p.Zones(ctx) if err != nil { - return fmt.Errorf("failed to list zones, not applying changes: %w", err) + return errors.Wrap(err, "failed to list zones, not applying changes") } records, ok := ctx.Value(provider.RecordsContextKey).([]*endpoint.Endpoint) @@ -455,7 +456,7 @@ func (p *AWSProvider) submitChanges(ctx context.Context, changes []*route53.Chan } if len(failedZones) > 0 { - return fmt.Errorf("failed to submit all changes for the following zones: %v", failedZones) + return errors.Errorf("failed to submit all changes for the following zones: %v", failedZones) } return nil @@ -583,7 +584,7 @@ func (p *AWSProvider) tagsForZone(ctx context.Context, zoneID string) (map[strin ResourceId: aws.String(zoneID), }) if err != nil { - return nil, fmt.Errorf("failed to list tags for zone %s: %w", zoneID, err) + return nil, errors.Wrapf(err, "failed to list tags for zone %s", zoneID) } tagMap := map[string]string{} for _, tag := range response.ResourceTagSet.Tags {