sigs.k8s.io/external-dns@v0.14.1/charts/external-dns/README.md (about)

     1  # external-dns
     2  
     3  ![Version: 1.14.3](https://img.shields.io/badge/Version-1.14.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.14.0](https://img.shields.io/badge/AppVersion-0.14.0-informational?style=flat-square)
     4  
     5  ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.
     6  
     7  **Homepage:** <https://github.com/kubernetes-sigs/external-dns/>
     8  
     9  ## Maintainers
    10  
    11  | Name | Email | Url |
    12  | ---- | ------ | --- |
    13  | stevehipwell | <steve.hipwell@gmail.com> |  |
    14  
    15  ## Source Code
    16  
    17  * <https://github.com/kubernetes-sigs/external-dns/>
    18  
    19  ## Installing the Chart
    20  
    21  Before you can install the chart you will need to add the `external-dns` repo to [Helm](https://helm.sh/).
    22  
    23  ```shell
    24  helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/
    25  ```
    26  
    27  After you've installed the repo you can install the chart.
    28  
    29  ```shell
    30  helm upgrade --install external-dns external-dns/external-dns --version 1.14.3
    31  ```
    32  
    33  ## Providers
    34  
    35  Configuring the _ExternalDNS_ provider should be done via the `provider.name` value with provider specific configuration being set via the `provider.<name>.<key>` values, where supported, and the `extraArgs` value. For legacy support `provider` can be set to the name of the provider with all additional configuration being set via the `extraArgs` value.
    36  See [documentation](https://kubernetes-sigs.github.io/external-dns/#new-providers) for more info on available providers and tutorials.
    37  
    38  ### Providers with Specific Configuration Support
    39  
    40  | Provider               | Supported  |
    41  |------------------------|------------|
    42  | `webhook`              | ✅         |
    43  
    44  ## Namespaced Scoped Installation
    45  
    46  external-dns supports running on a namespaced only scope, too.
    47  If `namespaced=true` is defined, the helm chart will setup `Roles` and `RoleBindings` instead `ClusterRoles` and `ClusterRoleBindings`.
    48  
    49  ### Limited Supported
    50  
    51  Not all sources are supported in namespaced scope, since some sources depends on cluster-wide resources.
    52  For example: Source `node` isn't supported, since `kind: Node` has scope `Cluster`.
    53  Sources like `istio-virtualservice` only work, if all resources like `Gateway` and `VirtualService` are present in the same
    54  namespaces as `external-dns`.
    55  
    56  The annotation `external-dns.alpha.kubernetes.io/endpoints-type: NodeExternalIP` is not supported.
    57  
    58  If `namespaced` is set to `true`, please ensure that `sources` my only contains supported sources (Default: `service,ingress`).
    59  
    60  ### Support Matrix
    61  
    62  | Source                 | Supported  | Infos                  |
    63  |------------------------|------------|------------------------|
    64  | `ingress`              | ✅         |                        |
    65  | `istio-gateway`        | ✅         |                        |
    66  | `istio-virtualservice` | ✅         |                        |
    67  | `crd`                  | ✅         |                        |
    68  | `kong-tcpingress`      | ✅         |                        |
    69  | `openshift-route`      | ✅         |                        |
    70  | `skipper-routegroup`   | ✅         |                        |
    71  | `gloo-proxy`           | ✅         |                        |
    72  | `contour-httpproxy`    | ✅         |                        |
    73  | `service`              | ⚠️️         | NodePort not supported |
    74  | `node`                 | ❌         |                        |
    75  | `pod`                  | ❌         |                        |
    76  
    77  ## Values
    78  
    79  | Key | Type | Default | Description |
    80  |-----|------|---------|-------------|
    81  | affinity | object | `{}` | Affinity settings for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided for pod affinity or pod anti-affinity one will be created from the pod selector labels. |
    82  | automountServiceAccountToken | bool | `nil` | Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `Pod`. |
    83  | commonLabels | object | `{}` | Labels to add to all chart resources. |
    84  | deploymentAnnotations | object | `{}` | Annotations to add to the `Deployment`. |
    85  | deploymentStrategy | object | `{"type":"Recreate"}` | [Deployment Strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy). |
    86  | dnsConfig | object | `nil` | [DNS config](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod, if not set the default will be used. |
    87  | dnsPolicy | string | `nil` | [DNS policy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) for the pod, if not set the default will be used. |
    88  | domainFilters | list | `[]` |  |
    89  | env | list | `[]` | [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `external-dns` container. |
    90  | extraArgs | list | `[]` | Extra arguments to provide to _ExternalDNS_. |
    91  | extraVolumeMounts | list | `[]` | Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `external-dns` container. |
    92  | extraVolumes | list | `[]` | Extra [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) for the `Pod`. |
    93  | fullnameOverride | string | `nil` | Override the full name of the chart. |
    94  | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the `external-dns` container. |
    95  | image.repository | string | `"registry.k8s.io/external-dns/external-dns"` | Image repository for the `external-dns` container. |
    96  | image.tag | string | `nil` | Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set. |
    97  | imagePullSecrets | list | `[]` | Image pull secrets. |
    98  | initContainers | list | `[]` | [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the `Pod` definition. |
    99  | interval | string | `"1m"` | Interval for DNS updates. |
   100  | livenessProbe | object | See _values.yaml_ | [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. |
   101  | logFormat | string | `"text"` | Log format. |
   102  | logLevel | string | `"info"` | Log level. |
   103  | nameOverride | string | `nil` | Override the name of the chart. |
   104  | namespaced | bool | `false` | if `true`, _ExternalDNS_ will run in a namespaced scope (`Role`` and `Rolebinding`` will be namespaced too). |
   105  | nodeSelector | object | `{}` | Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). |
   106  | podAnnotations | object | `{}` | Annotations to add to the `Pod`. |
   107  | podLabels | object | `{}` | Labels to add to the `Pod`. |
   108  | podSecurityContext | object | See _values.yaml_ | [Pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core), this supports full customisation. |
   109  | policy | string | `"upsert-only"` | How DNS records are synchronized between sources and providers; available values are `sync` & `upsert-only`. |
   110  | priorityClassName | string | `nil` | Priority class name for the `Pod`. |
   111  | provider.name | string | `"aws"` | _ExternalDNS_ provider name; for the available providers and how to configure them see [README](https://github.com/kubernetes-sigs/external-dns/blob/master/charts/external-dns/README.md#providers). |
   112  | provider.webhook.args | list | `[]` | Extra arguments to provide for the `webhook` container. |
   113  | provider.webhook.env | list | `[]` | [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container. |
   114  | provider.webhook.extraVolumeMounts | list | `[]` | Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container. |
   115  | provider.webhook.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the `webhook` container. |
   116  | provider.webhook.image.repository | string | `nil` | Image repository for the `webhook` container. |
   117  | provider.webhook.image.tag | string | `nil` | Image tag for the `webhook` container. |
   118  | provider.webhook.livenessProbe | object | See _values.yaml_ | [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. |
   119  | provider.webhook.readinessProbe | object | See _values.yaml_ | [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container. |
   120  | provider.webhook.resources | object | `{}` | [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container. |
   121  | provider.webhook.securityContext | object | See _values.yaml_ | [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container. |
   122  | provider.webhook.serviceMonitor | object | See _values.yaml_ | Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. |
   123  | rbac.additionalPermissions | list | `[]` | Additional rules to add to the `ClusterRole`. |
   124  | rbac.create | bool | `true` | If `true`, create a `ClusterRole` & `ClusterRoleBinding` with access to the Kubernetes API. |
   125  | readinessProbe | object | See _values.yaml_ | [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. |
   126  | registry | string | `"txt"` | Specify the registry for storing ownership and labels. Valid values are `txt`, `aws-sd`, `dynamodb` & `noop`. |
   127  | resources | object | `{}` | [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `external-dns` container. |
   128  | revisionHistoryLimit | int | `nil` | Specify the number of old `ReplicaSets` to retain to allow rollback of the `Deployment``. |
   129  | secretConfiguration.data | object | `{}` | `Secret` data. |
   130  | secretConfiguration.enabled | bool | `false` | If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**). |
   131  | secretConfiguration.mountPath | string | `nil` | Mount path for the `Secret`, this can be templated. |
   132  | secretConfiguration.subPath | string | `nil` | Sub-path for mounting the `Secret`, this can be templated. |
   133  | securityContext | object | See _values.yaml_ | [Security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `external-dns` container. |
   134  | service.annotations | object | `{}` | Service annotations. |
   135  | service.ipFamilies | list | `[]` | Service IP families. |
   136  | service.ipFamilyPolicy | string | `nil` | Service IP family policy. |
   137  | service.port | int | `7979` | Service HTTP port. |
   138  | serviceAccount.annotations | object | `{}` | Annotations to add to the service account. |
   139  | serviceAccount.automountServiceAccountToken | string | `nil` | Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `ServiceAccount`. |
   140  | serviceAccount.create | bool | `true` | If `true`, create a new `ServiceAccount`. |
   141  | serviceAccount.labels | object | `{}` | Labels to add to the service account. |
   142  | serviceAccount.name | string | `nil` | If this is set and `serviceAccount.create` is `true` this will be used for the created `ServiceAccount` name, if set and `serviceAccount.create` is `false` then this will define an existing `ServiceAccount` to use. |
   143  | serviceMonitor.additionalLabels | object | `{}` | Additional labels for the `ServiceMonitor`. |
   144  | serviceMonitor.annotations | object | `{}` | Annotations to add to the `ServiceMonitor`. |
   145  | serviceMonitor.bearerTokenFile | string | `nil` | Provide a bearer token file for the `ServiceMonitor`. |
   146  | serviceMonitor.enabled | bool | `false` | If `true`, create a `ServiceMonitor` resource to support the _Prometheus Operator_. |
   147  | serviceMonitor.interval | string | `nil` | If set override the _Prometheus_ default interval. |
   148  | serviceMonitor.metricRelabelings | list | `[]` | [Metric relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion. |
   149  | serviceMonitor.namespace | string | `nil` | If set create the `ServiceMonitor` in an alternate namespace. |
   150  | serviceMonitor.relabelings | list | `[]` | [Relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before ingestion. |
   151  | serviceMonitor.scheme | string | `nil` | If set overrides the _Prometheus_ default scheme. |
   152  | serviceMonitor.scrapeTimeout | string | `nil` | If set override the _Prometheus_ default scrape timeout. |
   153  | serviceMonitor.targetLabels | list | `[]` | Provide target labels for the `ServiceMonitor`. |
   154  | serviceMonitor.tlsConfig | object | `{}` | Configure the `ServiceMonitor` [TLS config](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig). |
   155  | shareProcessNamespace | bool | `false` | If `true`, the `Pod` will have [process namespace sharing](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) enabled. |
   156  | sources | list | `["service","ingress"]` | _Kubernetes_ resources to monitor for DNS entries. |
   157  | terminationGracePeriodSeconds | int | `nil` | Termination grace period for the `Pod` in seconds. |
   158  | tolerations | list | `[]` | Node taints which will be tolerated for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). |
   159  | topologySpreadConstraints | list | `[]` | Topology spread constraints for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided one will be created from the pod selector labels. |
   160  | triggerLoopOnEvent | bool | `false` | If `true`, triggers run loop on create/update/delete events in addition of regular interval. |
   161  | txtOwnerId | string | `nil` | Specify an identifier for this instance of _ExternalDNS_ wWhen using a registry other than `noop`. |
   162  | txtPrefix | string | `nil` | Specify a prefix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtSuffix`. |
   163  | txtSuffix | string | `nil` | Specify a suffix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtPrefix`. |
   164  
   165  ----------------------------------------------
   166  
   167  Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs/).