diff --git a/stable/external-dns/Chart.yaml b/stable/external-dns/Chart.yaml index 8722ef2e24..96892e8cd2 100644 --- a/stable/external-dns/Chart.yaml +++ b/stable/external-dns/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: external-dns -version: 2.13.3 +version: 2.14.0 appVersion: 0.5.17 description: ExternalDNS is a Kubernetes addon that configures public DNS servers with information about exposed Kubernetes services to make them discoverable. keywords: diff --git a/stable/external-dns/README.md b/stable/external-dns/README.md index f61f790dff..f8cb2df3a4 100755 --- a/stable/external-dns/README.md +++ b/stable/external-dns/README.md @@ -59,7 +59,13 @@ The following table lists the configurable parameters of the external-dns chart | `fullnameOverride` | String to fully override external-dns.fullname template with a string | `nil` | | `sources` | K8s resources type to be observed for new DNS entries by ExternalDNS | `[service, ingress]` | | `provider` | DNS provider where the DNS records will be created (mandatory) (options: aws, azure, google, ...) | `aws` | +| `namespace` | Limit sources of endpoints to a specific namespace (default: all namespaces) | `""` | +| `fqdnTemplates` | Templated strings that are used to generate DNS names from sources that don't define a hostname themselves | `[]` | +| `combineFQDNAnnotation` | Combine FQDN template and annotations instead of overwriting | `false` | +| `ignoreHostnameAnnotation` | Ignore hostname annotation when generating DNS names, valid only when fqdn-template is set | `false` | | `publishInternalServices` | Whether to publish DNS records for ClusterIP services or not | `false` | +| `publishHostIP` | Allow external-dns to publish host-ip for headless services | `false` | +| `serviceTypeFilter` | The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName) | `[]` | | `aws.credentials.accessKey` | When using the AWS provider, set `aws_access_key_id` in the AWS credentials (optional) | `""` | | `aws.credentials.secretKey` | When using the AWS provider, set `aws_secret_access_key` in the AWS credentials (optional) | `""` | | `aws.credentials.mountPath` | When using the AWS provider, determine `mountPath` for `credentials` secret | `"/.aws"` | diff --git a/stable/external-dns/templates/deployment.yaml b/stable/external-dns/templates/deployment.yaml index 5606ba1a2b..86f6ed905e 100755 --- a/stable/external-dns/templates/deployment.yaml +++ b/stable/external-dns/templates/deployment.yaml @@ -57,9 +57,27 @@ spec: {{- if .Values.dryRun }} - --dry-run {{- end }} + {{- if .Values.namespace }} + - --namespace={{ .Values.namespace }} + {{- end }} + {{- if .Values.fqdnTemplates }} + - --fqdn-template={{ join "," .Values.fqdnTemplates }}{{/* Explicitly wants comma separated list */}} + {{- end }} + {{- if .Values.combineFQDNAnnotation }} + - --combine-fqdn-annotation + {{- end }} + {{- if and .Values.ignoreHostnameAnnotation .Values.fqdnTemplates }} + - --ignore-hostname-annotation + {{- end }} {{- if .Values.publishInternalServices }} - --publish-internal-services {{- end }} + {{- if .Values.publishHostIP }} + - --publish-host-ip + {{- end }} + {{- range .Values.serviceTypeFilter }} + - --service-type-filter={{ . }} + {{- end }} {{- range .Values.domainFilters }} - --domain-filter={{ . }} {{- end }} diff --git a/stable/external-dns/values-production.yaml b/stable/external-dns/values-production.yaml index 27bcb53975..37ebc64b77 100644 --- a/stable/external-dns/values-production.yaml +++ b/stable/external-dns/values-production.yaml @@ -44,9 +44,30 @@ sources: ## provider: aws -## Whether to publish DNS records for ClusterIP services or not (optional) +## Flags related to processing sources +## ref: https://github.com/kubernetes-incubator/external-dns/blob/master/pkg/apis/externaldns/types.go#L272 +## +## Limit sources of endpoints to a specific namespace (default: all namespaces) +## +namespace: "" +## Templated strings that are used to generate DNS names from sources that don't define a hostname themselves +## +fqdnTemplates: [] +## Combine FQDN template and annotations instead of overwriting +## +combineFQDNAnnotation: false +## Ignore hostname annotation when generating DNS names, valid only when fqdn-template is set +## +ignoreHostnameAnnotation: false +## Allow external-dns to publish DNS records for ClusterIP services ## publishInternalServices: false +## Allow external-dns to publish host-ip for headless services +## +publishHostIP: false +## The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName) +## +serviceTypeFilter: [] ## AWS configuration to be set via arguments/env. variables ## diff --git a/stable/external-dns/values.yaml b/stable/external-dns/values.yaml index 9ad34041c8..15bd9322f1 100644 --- a/stable/external-dns/values.yaml +++ b/stable/external-dns/values.yaml @@ -44,9 +44,30 @@ sources: ## provider: aws -## Whether to publish DNS records for ClusterIP services or not (optional) +## Flags related to processing sources +## ref: https://github.com/kubernetes-incubator/external-dns/blob/master/pkg/apis/externaldns/types.go#L272 +## +## Limit sources of endpoints to a specific namespace (default: all namespaces) +## +namespace: "" +## Templated strings that are used to generate DNS names from sources that don't define a hostname themselves +## +fqdnTemplates: [] +## Combine FQDN template and annotations instead of overwriting +## +combineFQDNAnnotation: false +## Ignore hostname annotation when generating DNS names, valid only when fqdn-template is set +## +ignoreHostnameAnnotation: false +## Allow external-dns to publish DNS records for ClusterIP services ## publishInternalServices: false +## Allow external-dns to publish host-ip for headless services +## +publishHostIP: false +## The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName) +## +serviceTypeFilter: [] ## AWS configuration to be set via arguments/env. variables ##