diff --git a/charts/stable/external-dns/Chart.yaml b/charts/stable/external-dns/Chart.yaml index 4f77a102054..c57e694e2f3 100644 --- a/charts/stable/external-dns/Chart.yaml +++ b/charts/stable/external-dns/Chart.yaml @@ -38,5 +38,5 @@ sources: - https://github.com/kubernetes-sigs/external-dns - https://github.com/trueforge-org/truecharts/tree/master/charts/stable/external-dns type: application -version: 7.12.3 +version: 7.12.4 diff --git a/charts/stable/external-dns/docs/setup-guide.md b/charts/stable/external-dns/docs/setup-guide.md index 1cf233ff283..ffa6d8d1160 100644 --- a/charts/stable/external-dns/docs/setup-guide.md +++ b/charts/stable/external-dns/docs/setup-guide.md @@ -15,7 +15,21 @@ Inspired by Kubernetes DNS, Kubernetes' cluster-internal DNS server, ExternalDNS ## Installation instructions -This guide will cover 2 scenarios, `Cloudflare` and `Pi-hole`. For more external DNS record providers, see [External-DNS Docs](https://github.com/kubernetes-sigs/external-dns/tree/master/docs/tutorials). +This guide will cover 3 scenarios, `Cloudflare`, `Pi-hole` and `PowerDNS`. For more external DNS record providers, see [External-DNS Docs](https://github.com/kubernetes-sigs/external-dns/tree/master/docs/tutorials). + +### PowerDNS + +These instructions taken from [external-dns powerdns tutorial](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/pdns.md) + +### Step 1 + +Set pdns provider with externaldns.provider: pdns + +### Step 2 + +Set externaldns.pdns.pdnsApiKey and externaldns.pdns.pdnsServerUrl.
+The ApiKey must provide Zone Read/Write on all zones covered by domainFilters
+The pdnsServerUrl is the full URL of the powerdns api endpoint, including the port (http://pdns-server-api.tld:9191/) ### Cloudflare diff --git a/charts/stable/external-dns/templates/_args.tpl b/charts/stable/external-dns/templates/_args.tpl index ca9521d7b45..c6df16ab1b2 100644 --- a/charts/stable/external-dns/templates/_args.tpl +++ b/charts/stable/external-dns/templates/_args.tpl @@ -51,4 +51,12 @@ args: {{- with .Values.externaldns.piholeAPIVersion }} - --pihole-api-version={{ . }} {{- end -}} + {{- if eq .Values.externaldns.provider "pdns" }} + {{- with .Values.externaldns.pdns.pdnsApiKey }} + - --pdns-api-key={{ . }} + {{- end -}} + {{- with .Values.externaldns.pdns.pdnsServerUrl }} + - --pdns-server={{ . }} + {{- end -}} + {{- end }} {{- end -}} diff --git a/charts/stable/external-dns/values.yaml b/charts/stable/external-dns/values.yaml index f8a8bf2e9ed..300f30de3c1 100644 --- a/charts/stable/external-dns/values.yaml +++ b/charts/stable/external-dns/values.yaml @@ -20,6 +20,10 @@ externaldns: piholePassword: "" piholeAPIVersion: "" triggerLoopOnEvent: "false" + # with externaldns.provider = pdns + pdns: + pdnsApiKey: "" + pdnsServerUrl: "" txtOwnerId: "" txtPrefix: "" txtSuffix: ""