diff --git a/charts/external-dns/README.md b/charts/external-dns/README.md index 33286d914..a9c8bbaf8 100644 --- a/charts/external-dns/README.md +++ b/charts/external-dns/README.md @@ -130,19 +130,25 @@ If `namespaced` is set to `true`, please ensure that `sources` my only contains | 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. | | policy | string | `"upsert-only"` | How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, & `upsert-only`. | | priorityClassName | string | `nil` | Priority class name for the `Pod`. | +| provider | object | See _values.yaml_ | Provider configuration | | 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). | -| provider.webhook.args | list | `[]` | Extra arguments to provide for the `webhook` container. | -| provider.webhook.env | list | `[]` | [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container. | -| provider.webhook.extraVolumeMounts | list | `[]` | Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container. | -| provider.webhook.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the `webhook` container. | -| provider.webhook.image.repository | string | `nil` | Image repository for the `webhook` container. | -| provider.webhook.image.tag | string | `nil` | Image tag for the `webhook` container. | -| 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. | -| 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. | -| provider.webhook.resources | object | `{}` | [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container. | -| 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. | -| provider.webhook.service.port | int | `8080` | Webhook exposed HTTP port for the service. | -| provider.webhook.serviceMonitor | object | See _values.yaml_ | Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. | +| provider.webhook | object | See _values.yaml_ | Webhook configuration | +| provider.webhook.readTimeout | integer | `nil` | Webhook read timeout | +| provider.webhook.sidecar | object | See _values.yaml_ | Webhook sidecar container configuration | +| provider.webhook.sidecar.args | list | `[]` | Extra arguments to provide for the `webhook` container. | +| provider.webhook.sidecar.env | list | `[]` | [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container. | +| provider.webhook.sidecar.extraVolumeMounts | list | `[]` | Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container. | +| provider.webhook.sidecar.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the `webhook` container. | +| provider.webhook.sidecar.image.repository | string | `nil` | Image repository for the `webhook` container. | +| provider.webhook.sidecar.image.tag | string | `nil` | Image tag for the `webhook` container. | +| provider.webhook.sidecar.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. | +| provider.webhook.sidecar.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. | +| provider.webhook.sidecar.resources | object | `{}` | [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container. | +| provider.webhook.sidecar.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. | +| provider.webhook.sidecar.service.port | int | `8080` | Webhook exposed HTTP port for the service. | +| provider.webhook.sidecar.serviceMonitor | object | See _values.yaml_ | Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. | +| provider.webhook.url | string | `nil` | Webhook URL | +| provider.webhook.writeTimeout | integer | `nil` | Webhook write timeout | | rbac.additionalPermissions | list | `[]` | Additional rules to add to the `ClusterRole`. | | rbac.create | bool | `true` | If `true`, create a `ClusterRole` & `ClusterRoleBinding` with access to the Kubernetes API. | | 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. | diff --git a/charts/external-dns/schema/values.yaml b/charts/external-dns/schema/values.yaml index 3b2f8598f..fd67b668e 100644 --- a/charts/external-dns/schema/values.yaml +++ b/charts/external-dns/schema/values.yaml @@ -11,9 +11,10 @@ resources: provider: webhook: - requests: - cpu: 200m - memory: 128Mi - limits: - cpu: 300m - memory: 200Mi + sidecar: + requests: + cpu: 200m + memory: 128Mi + limits: + cpu: 300m + memory: 200Mi diff --git a/charts/external-dns/templates/deployment.yaml b/charts/external-dns/templates/deployment.yaml index 7db118370..42d8dbce8 100644 --- a/charts/external-dns/templates/deployment.yaml +++ b/charts/external-dns/templates/deployment.yaml @@ -127,6 +127,17 @@ spec: - --managed-record-types={{ . }} {{- end }} - --provider={{ $providerName }} + {{- if kindIs "map" .Values.provider }} + {{- if .Values.provider.webhook.readTimeout }} + - --webhook-provider-read-timeout={{ .Values.provider.webhook.readTimeout }} + {{- end }} + {{- if .Values.provider.webhook.writeTimeout }} + - --webhook-provider-write-timeout={{ .Values.provider.webhook.writeTimeout }} + {{- end }} + {{- if .Values.provider.webhook.url }} + - --webhook-provider-url={{ .Values.provider.webhook.url }} + {{- end }} + {{- end }} {{- if kindIs "map" .Values.extraArgs }} {{- range $key, $value := .Values.extraArgs }} {{- if not (kindIs "invalid" $value) }} @@ -173,7 +184,9 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} {{- if eq $providerName "webhook" }} - {{- with .Values.provider.webhook }} + {{- if kindIs "map" .Values.provider }} + {{- if .Values.provider.webhook.sidecar }} + {{- with .Values.provider.webhook.sidecar }} - name: webhook image: {{ include "external-dns.webhookImage" . }} imagePullPolicy: {{ .image.pullPolicy }} @@ -209,6 +222,8 @@ spec: {{- end }} {{- end }} {{- end }} + {{- end }} + {{- end }} {{- if or .Values.secretConfiguration.enabled .Values.extraVolumes }} volumes: {{- if .Values.secretConfiguration.enabled }} diff --git a/charts/external-dns/templates/service.yaml b/charts/external-dns/templates/service.yaml index e55e2a368..c7a8d0b75 100644 --- a/charts/external-dns/templates/service.yaml +++ b/charts/external-dns/templates/service.yaml @@ -27,10 +27,14 @@ spec: targetPort: http protocol: TCP {{- if eq $providerName "webhook" }} - {{- with .Values.provider.webhook.service }} + {{- if kindIs "map" .Values.provider }} + {{- if .Values.provider.webhook.sidecar }} + {{- with .Values.provider.webhook.sidecar.service }} - name: http-webhook port: {{ .port }} targetPort: http-webhook protocol: TCP {{- end }} {{- end }} + {{- end }} + {{- end }} diff --git a/charts/external-dns/templates/servicemonitor.yaml b/charts/external-dns/templates/servicemonitor.yaml index 004756c7b..7b1e27d51 100644 --- a/charts/external-dns/templates/servicemonitor.yaml +++ b/charts/external-dns/templates/servicemonitor.yaml @@ -50,7 +50,9 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} {{- if eq $providerName "webhook" }} - {{- with .Values.provider.webhook.serviceMonitor }} + {{- if kindIs "map" .Values.provider }} + {{- if .Values.provider.webhook.sidecar }} + {{- with .Values.provider.webhook.sidecar.serviceMonitor }} - port: http-webhook path: /metrics {{- with .interval }} @@ -79,6 +81,8 @@ spec: {{- end }} {{- end }} {{- end }} + {{- end }} + {{- end }} {{- with .Values.serviceMonitor.targetLabels }} targetLabels: {{- toYaml . | nindent 4 }} diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index 75e7fdd42..98fd4ae2e 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -23,9 +23,8 @@ "type": "object", "properties": { "type": { - "type": [ - "string" - ], + "default": "Recreate", + "type": "string", "enum": [ "Recreate", "RollingUpdate" @@ -98,6 +97,13 @@ "null" ] }, + "gatewayNamespace": { + "description": "_Gateway API_ gateway namespace to watch.", + "type": [ + "string", + "null" + ] + }, "global": { "type": "object", "properties": { @@ -192,9 +198,7 @@ "logFormat": { "description": "Log format.", "default": "text", - "type": [ - "string" - ], + "type": "string", "enum": [ "text", "json" @@ -203,9 +207,7 @@ "logLevel": { "description": "Log level.", "default": "info", - "type": [ - "string" - ], + "type": "string", "enum": [ "panic", "debug", @@ -272,9 +274,7 @@ "policy": { "description": "How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, \u0026 `upsert-only`.", "default": "upsert-only", - "type": [ - "string" - ], + "type": "string", "enum": [ "create-only", "sync", @@ -289,6 +289,7 @@ ] }, "provider": { + "description": "Provider configuration", "type": [ "object", "string" @@ -296,217 +297,256 @@ "properties": { "name": { "description": "_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).", - "type": "string" + "type": [ + "string", + "null" + ] }, "webhook": { - "type": "object", + "description": "Webhook configuration", + "type": [ + "object", + "null" + ], "properties": { - "args": { - "description": "Extra arguments to provide for the `webhook` container.", - "type": "array" + "readTimeout": { + "description": "Webhook read timeout", + "type": [ + "integer", + "null" + ] }, - "env": { - "description": "[Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container.", - "type": "array" - }, - "extraVolumeMounts": { - "description": "Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container.", - "type": "array" - }, - "image": { - "type": "object", + "sidecar": { + "description": "Webhook sidecar container configuration", + "type": [ + "object", + "null" + ], "properties": { - "pullPolicy": { - "description": "Image pull policy for the `webhook` container.", - "type": "string" + "args": { + "description": "Extra arguments to provide for the `webhook` container.", + "type": "array" }, - "repository": { - "description": "Image repository for the `webhook` container.", - "type": [ - "string", - "null" - ] + "env": { + "description": "[Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container.", + "type": "array" }, - "tag": { - "description": "Image tag for the `webhook` container.", - "type": [ - "string", - "null" - ] - } - } - }, - "limits": { - "type": "object", - "properties": { - "cpu": { - "type": "string" + "extraVolumeMounts": { + "description": "Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container.", + "type": "array" }, - "memory": { - "type": "string" - } - } - }, - "livenessProbe": { - "description": "[Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.", - "type": "object", - "properties": { - "failureThreshold": { - "type": [ - "integer", - "null" - ] - }, - "httpGet": { + "image": { "type": "object", "properties": { - "path": { + "pullPolicy": { + "description": "Image pull policy for the `webhook` container.", + "type": "string" + }, + "repository": { + "description": "Image repository for the `webhook` container.", "type": [ "string", "null" ] }, - "port": { - "type": [ - "integer", - "string" - ] - } - } - }, - "initialDelaySeconds": { - "type": [ - "integer", - "null" - ] - }, - "periodSeconds": { - "type": [ - "integer", - "null" - ] - }, - "successThreshold": { - "type": [ - "integer", - "null" - ] - }, - "timeoutSeconds": { - "type": [ - "integer", - "null" - ] - } - } - }, - "readinessProbe": { - "description": "[Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container.", - "type": "object", - "properties": { - "failureThreshold": { - "type": [ - "integer", - "null" - ] - }, - "httpGet": { - "type": "object", - "properties": { - "path": { + "tag": { + "description": "Image tag for the `webhook` container.", "type": [ "string", "null" ] + } + } + }, + "limits": { + "type": "object", + "properties": { + "cpu": { + "type": "string" }, - "port": { + "memory": { + "type": "string" + } + } + }, + "livenessProbe": { + "description": "[Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.", + "type": "object", + "properties": { + "failureThreshold": { "type": [ "integer", - "string" + "null" + ] + }, + "httpGet": { + "type": "object", + "properties": { + "path": { + "type": [ + "string", + "null" + ] + }, + "port": { + "default": "string", + "type": [ + "integer", + "string" + ] + } + } + }, + "initialDelaySeconds": { + "type": [ + "integer", + "null" + ] + }, + "periodSeconds": { + "type": [ + "integer", + "null" + ] + }, + "successThreshold": { + "type": [ + "integer", + "null" + ] + }, + "timeoutSeconds": { + "type": [ + "integer", + "null" ] } } }, - "initialDelaySeconds": { - "type": [ - "integer", - "null" - ] + "readinessProbe": { + "description": "[Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container.", + "type": "object", + "properties": { + "failureThreshold": { + "type": [ + "integer", + "null" + ] + }, + "httpGet": { + "type": "object", + "properties": { + "path": { + "type": [ + "string", + "null" + ] + }, + "port": { + "default": "string", + "type": [ + "integer", + "string" + ] + } + } + }, + "initialDelaySeconds": { + "type": [ + "integer", + "null" + ] + }, + "periodSeconds": { + "type": [ + "integer", + "null" + ] + }, + "successThreshold": { + "type": [ + "integer", + "null" + ] + }, + "timeoutSeconds": { + "type": [ + "integer", + "null" + ] + } + } }, - "periodSeconds": { - "type": [ - "integer", - "null" - ] + "requests": { + "type": "object", + "properties": { + "cpu": { + "type": "string" + }, + "memory": { + "type": "string" + } + } }, - "successThreshold": { - "type": [ - "integer", - "null" - ] - }, - "timeoutSeconds": { - "type": [ - "integer", - "null" - ] - } - } - }, - "requests": { - "type": "object", - "properties": { - "cpu": { - "type": "string" - }, - "memory": { - "type": "string" - } - } - }, - "resources": { - "description": "[Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container.", - "type": "object" - }, - "securityContext": { - "description": "[Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container.", - "type": "object" - }, - "service": { - "type": "object", - "properties": { - "port": { - "description": "Webhook exposed HTTP port for the service.", - "type": "integer" - } - } - }, - "serviceMonitor": { - "description": "Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container.", - "type": "object", - "properties": { - "bearerTokenFile": { - "type": "null" - }, - "interval": { - "type": "null" - }, - "metricRelabelings": { - "type": "array" - }, - "relabelings": { - "type": "array" - }, - "scheme": { - "type": "null" - }, - "scrapeTimeout": { - "type": "null" - }, - "tlsConfig": { + "resources": { + "description": "[Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container.", "type": "object" + }, + "securityContext": { + "description": "[Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container.", + "type": "object" + }, + "service": { + "type": "object", + "properties": { + "port": { + "description": "Webhook exposed HTTP port for the service.", + "type": "integer" + } + } + }, + "serviceMonitor": { + "description": "Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container.", + "type": "object", + "properties": { + "bearerTokenFile": { + "type": "null" + }, + "interval": { + "type": "null" + }, + "metricRelabelings": { + "type": "array" + }, + "relabelings": { + "type": "array" + }, + "scheme": { + "type": "null" + }, + "scrapeTimeout": { + "type": "null" + }, + "tlsConfig": { + "type": "object" + } + } } } + }, + "url": { + "description": "Webhook URL", + "type": [ + "string", + "null" + ] + }, + "writeTimeout": { + "description": "Webhook write timeout", + "type": [ + "integer", + "null" + ] } } } diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index dc5ec8d1e..75bbb640b 100644 --- a/charts/external-dns/values.yaml +++ b/charts/external-dns/values.yaml @@ -12,7 +12,7 @@ image: # @schema additionalProperties: false # -- Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set. tag: # @schema type:[string, null] # -- Image pull policy for the `external-dns` container. - pullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always]; + pullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always] # -- Image pull secrets. imagePullSecrets: [] # @schema item: object @@ -44,11 +44,11 @@ service: # -- Service HTTP port. port: 7979 # @schema minimum:0; default:7979 # -- Service IP families (e.g. IPv4 and/or IPv6). - ipFamilies: [] # @schema type: [array, null]; item: string; itemEnum: ["IPv4", "IPv6"]; minItems:0; maxItems:2; uniqueItems: true; + ipFamilies: [] # @schema type: [array, null]; item: string; itemEnum: ["IPv4", "IPv6"]; minItems:0; maxItems:2; uniqueItems: true # - IPv4 # - IPv6 # -- Service IP family policy. - ipFamilyPolicy: # @schema type: [string, null]; enum:[SingleStack, PreferDualStack, RequireDualStack, null]; + ipFamilyPolicy: # @schema type: [string, null]; enum:[SingleStack, PreferDualStack, RequireDualStack, null] rbac: # @schema additionalProperties: true # -- If `true`, create a `ClusterRole` & `ClusterRoleBinding` with access to the Kubernetes API. @@ -238,69 +238,82 @@ excludeDomains: [] labelFilter: # @schema type: [string,null]; default: null # -- Record types to manage (default: A, AAAA, CNAME) -managedRecordTypes: [] # @schema type: [array, null]; item: string; uniqueItems: true; +managedRecordTypes: [] # @schema type: [array, null]; item: string; uniqueItems: true -provider: # @schema type: [object, string]; +# -- (object) Provider configuration +# @default -- See _values.yaml_ +provider: # @schema type: [object, string] # -- _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). - name: aws - webhook: - image: - # -- (string) Image repository for the `webhook` container. - repository: # @schema type:[string, null]; default: null - # -- (string) Image tag for the `webhook` container. - tag: # @schema type:[string, null]; default: null - # -- Image pull policy for the `webhook` container. - pullPolicy: IfNotPresent - # -- [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container. - env: [] - # -- Extra arguments to provide for the `webhook` container. - args: [] - # -- Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container. - extraVolumeMounts: [] - # -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container. - resources: {} - # -- [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container. + name: aws # @schema type:[string, null] + # -- (object) Webhook configuration + # @default -- See _values.yaml_ + webhook: # @schema type: [object, null] + # -- (string) Webhook URL + url: # @schema type:[string, null]; default: null + # -- (integer) Webhook read timeout + readTimeout: # @schema type:[integer, null]; default: null + # -- (integer) Webhook write timeout + writeTimeout: # @schema type:[integer, null]; default: null + # -- (object) Webhook sidecar container configuration # @default -- See _values.yaml_ - securityContext: {} - # -- [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. - # @default -- See _values.yaml_ - livenessProbe: - httpGet: - path: /healthz # @schema type:[string, null]; default: null - port: http-webhook # @schema type:[integer,string]; default: string - initialDelaySeconds: 10 # @schema type:[integer, null]; default: null - periodSeconds: 10 # @schema type:[integer, null]; default: null - timeoutSeconds: 5 # @schema type:[integer, null]; default: null - failureThreshold: 2 # @schema type:[integer, null]; default: null - successThreshold: 1 # @schema type:[integer, null]; default: null - # -- [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container. - # @default -- See _values.yaml_ - readinessProbe: - httpGet: - path: /healthz # @schema type:[string, null]; default: null - port: http-webhook # @schema type:[integer,string]; default: string - initialDelaySeconds: 5 # @schema type:[integer, null]; default: null - periodSeconds: 10 # @schema type:[integer, null]; default: null - timeoutSeconds: 5 # @schema type:[integer, null]; default: null - failureThreshold: 6 # @schema type:[integer, null]; default: null - successThreshold: 1 # @schema type:[integer, null]; default: null - service: - # -- Webhook exposed HTTP port for the service. - port: 8080 - # -- Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. - # @default -- See _values.yaml_ - serviceMonitor: - interval: - scheme: - tlsConfig: {} - bearerTokenFile: - scrapeTimeout: - metricRelabelings: [] - relabelings: [] + sidecar: # @schema type: [object, null]; default: null + image: + # -- (string) Image repository for the `webhook` container. + repository: # @schema type:[string, null]; default: null + # -- (string) Image tag for the `webhook` container. + tag: # @schema type:[string, null]; default: null + # -- Image pull policy for the `webhook` container. + pullPolicy: IfNotPresent + # -- [Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container. + env: [] + # -- Extra arguments to provide for the `webhook` container. + args: [] + # -- Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container. + extraVolumeMounts: [] + # -- [Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container. + resources: {} + # -- [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `webhook` container. + # @default -- See _values.yaml_ + securityContext: {} + # -- [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. + # @default -- See _values.yaml_ + livenessProbe: + httpGet: + path: /healthz # @schema type:[string, null]; default: null + port: http-webhook # @schema type:[integer,string]; default: string + initialDelaySeconds: 10 # @schema type:[integer, null]; default: null + periodSeconds: 10 # @schema type:[integer, null]; default: null + timeoutSeconds: 5 # @schema type:[integer, null]; default: null + failureThreshold: 2 # @schema type:[integer, null]; default: null + successThreshold: 1 # @schema type:[integer, null]; default: null + # -- [Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container. + # @default -- See _values.yaml_ + readinessProbe: + httpGet: + path: /healthz # @schema type:[string, null]; default: null + port: http-webhook # @schema type:[integer,string]; default: string + initialDelaySeconds: 5 # @schema type:[integer, null]; default: null + periodSeconds: 10 # @schema type:[integer, null]; default: null + timeoutSeconds: 5 # @schema type:[integer, null]; default: null + failureThreshold: 6 # @schema type:[integer, null]; default: null + successThreshold: 1 # @schema type:[integer, null]; default: null + service: + # -- Webhook exposed HTTP port for the service. + port: 8080 + # -- Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. + # @default -- See _values.yaml_ + serviceMonitor: + interval: + scheme: + tlsConfig: {} + bearerTokenFile: + scrapeTimeout: + metricRelabelings: [] + relabelings: [] # -- Extra arguments to provide to _ExternalDNS_. # An array or map can be used, with maps allowing for value overrides; maps also support slice values to use the same arg multiple times. -extraArgs: {} # @schema type: [array, null, object]; item: string; uniqueItems: true; +extraArgs: {} # @schema type: [array, null, object]; item: string; uniqueItems: true secretConfiguration: # -- If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**).