diff --git a/stable/external-dns/Chart.yaml b/stable/external-dns/Chart.yaml index 248bd747db2d..90452b85511d 100644 --- a/stable/external-dns/Chart.yaml +++ b/stable/external-dns/Chart.yaml @@ -3,7 +3,7 @@ description: | Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services name: external-dns -version: 1.7.5 +version: 1.8.0 appVersion: 0.5.13 home: https://github.com/kubernetes-incubator/external-dns sources: diff --git a/stable/external-dns/README.md b/stable/external-dns/README.md index 0e1721d43fc1..999a5518c924 100644 --- a/stable/external-dns/README.md +++ b/stable/external-dns/README.md @@ -43,6 +43,9 @@ The following table lists the configurable parameters of the external-dns chart | `domainFilters` | Limit possible target zones by domain suffixes (optional). | `[]` | | `digitalocean.apiToken` | When using the DigitalOcean provider, sets `DO_TOKEN` in the environment (optional). | `""` | | `dryRun` | When enabled, prints DNS record changes rather than actually performing them (optional). | `false` | +| `dyn.customerName` | When using Dyn provider, specify the Dyn Customer Name. | `""` | +| `dyn.username` | When using Dyn provider, specify the Dyn Username. | `""` | +| `dyn.password` | When using Dyn provider, specify the Dyn Password. | `""` | | `extraArgs` | Optional object of extra args, as `name`: `value` pairs. Where the name is the command line arg to external-dns. | `{}` | | `extraEnv` | Optional array of extra environment variables. Supply a `name` property and either `value` of `valueFrom` for each. | `[]` | | `google.project` | When using the Google provider, specify the Google project (required when provider=google). | `""` | diff --git a/stable/external-dns/templates/deployment.yaml b/stable/external-dns/templates/deployment.yaml index 3c3b5cd1a83e..a27d4518d63b 100755 --- a/stable/external-dns/templates/deployment.yaml +++ b/stable/external-dns/templates/deployment.yaml @@ -158,6 +158,27 @@ spec: name: {{ template "external-dns.fullname" . }} key: digitalocean_api_token {{- end }} + {{- if .Values.dyn.customerName }} + - name: EXTERNAL_DNS_DYN_CUSTOMER_NAME + valueFrom: + secretKeyRef: + name: {{ template "external-dns.fullname" . }} + key: dyn_customer_name + {{- end }} + {{- if .Values.dyn.username }} + - name: EXTERNAL_DNS_DYN_USERNAME + valueFrom: + secretKeyRef: + name: {{ template "external-dns.fullname" . }} + key: dyn_username + {{- end }} + {{- if .Values.dyn.password }} + - name: EXTERNAL_DNS_DYN_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "external-dns.fullname" . }} + key: dyn_password + {{- end }} {{- if .Values.infoblox.wapiConnectionPoolSize }} - name: EXTERNAL_DNS_INFOBLOX_HTTP_POOL_CONNECTIONS value: "{{ .Values.infoblox.wapiConnectionPoolSize }}" diff --git a/stable/external-dns/templates/secret.yaml b/stable/external-dns/templates/secret.yaml index 69275c40b91c..66416f159cc8 100644 --- a/stable/external-dns/templates/secret.yaml +++ b/stable/external-dns/templates/secret.yaml @@ -1,4 +1,4 @@ -{{- if or (and .Values.aws.secretKey .Values.aws.accessKey) .Values.cloudflare.apiKey .Values.digitalocean.apiToken (and .Values.infoblox.wapiUsername .Values.infoblox.wapiPassword) .Values.rfc2136.tsigSecret .Values.extraEnv .Values.google.serviceAccountKey -}} +{{- if or (and .Values.aws.secretKey .Values.aws.accessKey) .Values.cloudflare.apiKey .Values.digitalocean.apiToken (and .Values.dyn.customerName .Values.dyn.username .Values.dyn.password) (and .Values.infoblox.wapiUsername .Values.infoblox.wapiPassword) .Values.rfc2136.tsigSecret .Values.extraEnv .Values.google.serviceAccountKey -}} apiVersion: v1 kind: Secret metadata: @@ -20,6 +20,15 @@ data: {{- if .Values.digitalocean.apiToken }} digitalocean_api_token: {{ .Values.digitalocean.apiToken | b64enc | quote }} {{- end }} +{{ if .Values.dyn.customerName }} + dyn_customer_name: {{ .Values.dyn.customerName | b64enc | quote }} +{{- end }} +{{ if .Values.dyn.username }} + dyn_username: {{ .Values.dyn.username | b64enc | quote }} +{{- end }} +{{ if .Values.dyn.password }} + dyn_password: {{ .Values.dyn.password | b64enc | quote }} +{{- end }} {{- if and .Values.infoblox.wapiUsername .Values.infoblox.wapiPassword }} infoblox_wapi_username: {{ .Values.infoblox.wapiUsername | b64enc | quote }} infoblox_wapi_password: {{ .Values.infoblox.wapiPassword | b64enc | quote }} diff --git a/stable/external-dns/values.yaml b/stable/external-dns/values.yaml index 586970e02cce..81af9a17e9f1 100644 --- a/stable/external-dns/values.yaml +++ b/stable/external-dns/values.yaml @@ -14,7 +14,7 @@ sources: # Allow external-dns to publish DNS records for ClusterIP services (optional) publishInternalServices: false -## The DNS provider where the DNS records will be created (options: aws, google, inmemory, azure, rfc2136 ) +## The DNS provider where the DNS records will be created (options: aws, google, inmemory, azure, dyn, rfc2136 ) provider: aws # AWS Access keys to inject as environment variables @@ -55,6 +55,12 @@ designate: digitalocean: apiToken: "" +# Configuration for Dyn provider. +dyn: + customer_name: "" + username: "" + password: "" + # When using the Google provider, specify the Google project (required when provider=google) google: project: ""