From 54d58b6a339ea56a14a9a92d0e0cc023f4bd97d0 Mon Sep 17 00:00:00 2001 From: Eric Ace <24485843+aceeric@users.noreply.github.com> Date: Sun, 27 Jul 2025 12:14:13 -0400 Subject: [PATCH] WIP3 --- charts/external-dns/values.schema.json | 1180 ++++++++++++++++++++++++ charts/external-dns/values.yaml | 4 +- 2 files changed, 1182 insertions(+), 2 deletions(-) diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index ee8fe4ea7..75e158e36 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -1,5 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", +<<<<<<< HEAD "type": "object", "properties": { "affinity": { @@ -866,3 +867,1182 @@ }, "additionalProperties": true } +======= + "additionalProperties": false, + "properties": { + "affinity": { + "additionalProperties": false, + "description": "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.", + "required": [], + "title": "affinity" + }, + "automountServiceAccountToken": { + "default": true, + "description": "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`.", + "required": [], + "title": "automountServiceAccountToken", + "type": "boolean" + }, + "commonLabels": { + "additionalProperties": false, + "description": "Labels to add to all chart resources.", + "required": [], + "title": "commonLabels" + }, + "deploymentAnnotations": { + "additionalProperties": false, + "description": "Annotations to add to the `Deployment`.", + "required": [], + "title": "deploymentAnnotations" + }, + "deploymentStrategy": { + "additionalProperties": false, + "description": "[Deployment Strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy).", + "properties": { + "type": { + "default": "Recreate", + "required": [], + "title": "type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "deploymentStrategy" + }, + "dnsConfig": { + "default": "", + "description": "[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.", + "required": [], + "title": "dnsConfig", + "type": "object" + }, + "dnsPolicy": { + "default": "", + "description": "[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.", + "required": [], + "title": "dnsPolicy", + "type": "string" + }, + "domainFilters": { + "description": "Limit possible target zones by domain suffixes.", + "items": { + "required": [] + }, + "required": [], + "title": "domainFilters" + }, + "enabled": { + "default": "", + "description": "No effect - reserved for use in sub-charting.", + "required": [], + "title": "enabled", + "type": "boolean" + }, + "env": { + "description": "[Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `external-dns` container.", + "items": { + "required": [] + }, + "required": [], + "title": "env" + }, + "excludeDomains": { + "description": "Intentionally exclude domains from being managed.", + "items": { + "required": [] + }, + "required": [], + "title": "excludeDomains" + }, + "extraArgs": { + "additionalProperties": false, + "description": "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.", + "required": [], + "title": "extraArgs" + }, + "extraContainers": { + "description": "Extra containers to add to the `Deployment`.", + "items": { + "required": [] + }, + "required": [], + "title": "extraContainers" + }, + "extraVolumeMounts": { + "description": "Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `external-dns` container.", + "items": { + "required": [] + }, + "required": [], + "title": "extraVolumeMounts" + }, + "extraVolumes": { + "description": "Extra [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) for the `Pod`.", + "items": { + "required": [] + }, + "required": [], + "title": "extraVolumes" + }, + "fullnameOverride": { + "default": "", + "description": "Override the full name of the chart.", + "required": [], + "title": "fullnameOverride", + "type": "string" + }, + "global": { + "additionalProperties": false, + "properties": { + "imagePullSecrets": { + "description": "Global image pull secrets.", + "items": { + "required": [] + }, + "required": [], + "title": "imagePullSecrets" + } + }, + "required": [], + "title": "global", + "type": "object" + }, + "image": { + "additionalProperties": false, + "properties": { + "pullPolicy": { + "default": "IfNotPresent", + "description": "Image pull policy for the `external-dns` container.", + "required": [], + "title": "pullPolicy" + }, + "repository": { + "default": "registry.k8s.io/external-dns/external-dns", + "description": "Image repository for the `external-dns` container.", + "required": [], + "title": "repository" + }, + "tag": { + "default": "", + "description": "Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set.", + "required": [], + "title": "tag" + } + }, + "required": [], + "title": "image", + "type": "object" + }, + "imagePullSecrets": { + "description": "Image pull secrets.", + "items": { + "required": [] + }, + "required": [], + "title": "imagePullSecrets" + }, + "initContainers": { + "description": "[Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the `Pod` definition.", + "items": { + "required": [] + }, + "required": [], + "title": "initContainers" + }, + "interval": { + "default": "1m", + "description": "Interval for DNS updates.", + "required": [], + "title": "interval" + }, + "labelFilter": { + "default": "", + "description": "Filter resources queried for endpoints by label selector", + "required": [], + "title": "labelFilter" + }, + "livenessProbe": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.", + "properties": { + "failureThreshold": { + "default": 2, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "httpGet": { + "additionalProperties": false, + "properties": { + "path": { + "default": "/healthz", + "required": [], + "title": "path", + "type": "string" + }, + "port": { + "default": "http", + "required": [], + "title": "port", + "type": "string" + } + }, + "required": [ + "path", + "port" + ], + "title": "httpGet", + "type": "object" + }, + "initialDelaySeconds": { + "default": 10, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [ + "httpGet", + "initialDelaySeconds", + "periodSeconds", + "timeoutSeconds", + "failureThreshold", + "successThreshold" + ], + "title": "livenessProbe" + }, + "logFormat": { + "default": "text", + "description": "Log format.", + "required": [], + "title": "logFormat" + }, + "logLevel": { + "default": "info", + "description": "Log level.", + "required": [], + "title": "logLevel" + }, + "managedRecordTypes": { + "description": "Record types to manage (default: A, AAAA, CNAME)", + "items": { + "required": [] + }, + "required": [], + "title": "managedRecordTypes" + }, + "nameOverride": { + "default": "", + "description": "Override the name of the chart.", + "required": [], + "title": "nameOverride", + "type": "string" + }, + "namespaced": { + "default": "false", + "description": "if `true`, _ExternalDNS_ will run in a namespaced scope (`Role`` and `Rolebinding`` will be namespaced too).", + "required": [], + "title": "namespaced" + }, + "nodeSelector": { + "additionalProperties": false, + "description": "Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).", + "required": [], + "title": "nodeSelector" + }, + "podAnnotations": { + "additionalProperties": false, + "description": "Annotations to add to the `Pod`.", + "required": [], + "title": "podAnnotations" + }, + "podLabels": { + "additionalProperties": false, + "description": "Labels to add to the `Pod`.", + "required": [], + "title": "podLabels" + }, + "podSecurityContext": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core), this supports full customisation.", + "properties": { + "fsGroup": { + "default": 65534, + "required": [], + "title": "fsGroup", + "type": "integer" + }, + "runAsNonRoot": { + "default": true, + "required": [], + "title": "runAsNonRoot", + "type": "boolean" + }, + "seccompProfile": { + "additionalProperties": false, + "properties": { + "type": { + "default": "RuntimeDefault", + "required": [], + "title": "type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "seccompProfile", + "type": "object" + } + }, + "required": [ + "runAsNonRoot", + "fsGroup", + "seccompProfile" + ], + "title": "podSecurityContext" + }, + "policy": { + "default": "upsert-only", + "description": "How DNS records are synchronized between sources and providers; available values are `sync` \u0026 `upsert-only`.", + "required": [], + "title": "policy" + }, + "priorityClassName": { + "default": "", + "description": "Priority class name for the `Pod`.", + "required": [], + "title": "priorityClassName", + "type": "string" + }, + "provider": { + "additionalProperties": false, + "properties": { + "name": { + "default": "aws", + "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).", + "required": [], + "title": "name" + }, + "webhook": { + "additionalProperties": false, + "properties": { + "readTimeout": { + "default": "", + "required": [], + "title": "readTimeout", + "type": "null" + }, + "sidecar": { + "additionalProperties": false, + "properties": { + "args": { + "description": "Extra arguments to provide for the `webhook` container.", + "items": { + "required": [] + }, + "required": [], + "title": "args" + }, + "env": { + "description": "[Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `webhook` container.", + "items": { + "required": [] + }, + "required": [], + "title": "env" + }, + "extraVolumeMounts": { + "description": "Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `webhook` container.", + "items": { + "required": [] + }, + "required": [], + "title": "extraVolumeMounts" + }, + "image": { + "additionalProperties": false, + "properties": { + "pullPolicy": { + "default": "IfNotPresent", + "description": "Image pull policy for the `webhook` container.", + "required": [], + "title": "pullPolicy" + }, + "repository": { + "default": "", + "description": "Image repository for the `webhook` container.", + "required": [], + "title": "repository", + "type": "string" + }, + "tag": { + "default": "", + "description": "Image tag for the `webhook` container.", + "required": [], + "title": "tag", + "type": "string" + } + }, + "required": [], + "title": "image", + "type": "object" + }, + "livenessProbe": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.", + "properties": { + "failureThreshold": { + "default": 2, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "httpGet": { + "additionalProperties": false, + "properties": { + "path": { + "default": "/healthz", + "required": [], + "title": "path", + "type": "string" + }, + "port": { + "default": "http-webhook", + "required": [], + "title": "port", + "type": "string" + } + }, + "required": [ + "path", + "port" + ], + "title": "httpGet", + "type": "object" + }, + "initialDelaySeconds": { + "default": 10, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [ + "httpGet", + "initialDelaySeconds", + "periodSeconds", + "timeoutSeconds", + "failureThreshold", + "successThreshold" + ], + "title": "livenessProbe" + }, + "readinessProbe": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `webhook` container.", + "properties": { + "failureThreshold": { + "default": 6, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "httpGet": { + "additionalProperties": false, + "properties": { + "path": { + "default": "/healthz", + "required": [], + "title": "path", + "type": "string" + }, + "port": { + "default": "http-webhook", + "required": [], + "title": "port", + "type": "string" + } + }, + "required": [ + "path", + "port" + ], + "title": "httpGet", + "type": "object" + }, + "initialDelaySeconds": { + "default": 5, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [ + "httpGet", + "initialDelaySeconds", + "periodSeconds", + "timeoutSeconds", + "failureThreshold", + "successThreshold" + ], + "title": "readinessProbe" + }, + "resources": { + "additionalProperties": false, + "description": "[Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `webhook` container.", + "required": [], + "title": "resources" + }, + "securityContext": { + "additionalProperties": false, + "default": "See _values.yaml_", + "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.", + "required": [], + "title": "securityContext" + }, + "service": { + "additionalProperties": false, + "properties": { + "port": { + "default": "8080", + "description": "Webhook exposed HTTP port for the service.", + "required": [], + "title": "port" + } + }, + "required": [], + "title": "service", + "type": "object" + }, + "serviceMonitor": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container.", + "properties": { + "bearerTokenFile": { + "default": "", + "required": [], + "title": "bearerTokenFile", + "type": "null" + }, + "interval": { + "default": "", + "required": [], + "title": "interval", + "type": "null" + }, + "metricRelabelings": { + "items": { + "required": [] + }, + "required": [], + "title": "metricRelabelings", + "type": "array" + }, + "relabelings": { + "items": { + "required": [] + }, + "required": [], + "title": "relabelings", + "type": "array" + }, + "scheme": { + "default": "", + "required": [], + "title": "scheme", + "type": "null" + }, + "scrapeTimeout": { + "default": "", + "required": [], + "title": "scrapeTimeout", + "type": "null" + }, + "tlsConfig": { + "additionalProperties": false, + "required": [], + "title": "tlsConfig", + "type": "object" + } + }, + "required": [ + "interval", + "scheme", + "tlsConfig", + "bearerTokenFile", + "scrapeTimeout", + "metricRelabelings", + "relabelings" + ], + "title": "serviceMonitor" + } + }, + "required": [ + "image", + "service" + ], + "title": "sidecar", + "type": "object" + }, + "url": { + "default": "", + "required": [], + "title": "url", + "type": "null" + }, + "writeTimeout": { + "default": "", + "required": [], + "title": "writeTimeout", + "type": "null" + } + }, + "required": [ + "url", + "readTimeout", + "writeTimeout", + "sidecar" + ], + "title": "webhook", + "type": "object" + } + }, + "required": [ + "webhook" + ], + "title": "provider", + "type": "object" + }, + "rbac": { + "additionalProperties": false, + "properties": { + "additionalPermissions": { + "description": "Additional rules to add to the `ClusterRole`.", + "items": { + "required": [] + }, + "required": [], + "title": "additionalPermissions" + }, + "create": { + "default": "true", + "description": "If `true`, create a `ClusterRole` \u0026 `ClusterRoleBinding` with access to the Kubernetes API.", + "required": [], + "title": "create" + } + }, + "required": [], + "title": "rbac", + "type": "object" + }, + "readinessProbe": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container.", + "properties": { + "failureThreshold": { + "default": 6, + "required": [], + "title": "failureThreshold", + "type": "integer" + }, + "httpGet": { + "additionalProperties": false, + "properties": { + "path": { + "default": "/healthz", + "required": [], + "title": "path", + "type": "string" + }, + "port": { + "default": "http", + "required": [], + "title": "port", + "type": "string" + } + }, + "required": [ + "path", + "port" + ], + "title": "httpGet", + "type": "object" + }, + "initialDelaySeconds": { + "default": 5, + "required": [], + "title": "initialDelaySeconds", + "type": "integer" + }, + "periodSeconds": { + "default": 10, + "required": [], + "title": "periodSeconds", + "type": "integer" + }, + "successThreshold": { + "default": 1, + "required": [], + "title": "successThreshold", + "type": "integer" + }, + "timeoutSeconds": { + "default": 5, + "required": [], + "title": "timeoutSeconds", + "type": "integer" + } + }, + "required": [ + "httpGet", + "initialDelaySeconds", + "periodSeconds", + "timeoutSeconds", + "failureThreshold", + "successThreshold" + ], + "title": "readinessProbe" + }, + "registry": { + "default": "txt", + "description": "Specify the registry for storing ownership and labels. Valid values are `txt`, `aws-sd`, `dynamodb` \u0026 `noop`.", + "required": [], + "title": "registry" + }, + "resources": { + "additionalProperties": false, + "description": "[Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `external-dns` container.", + "required": [], + "title": "resources" + }, + "revisionHistoryLimit": { + "default": "", + "description": "Specify the number of old `ReplicaSets` to retain to allow rollback of the `Deployment``.", + "required": [], + "title": "revisionHistoryLimit", + "type": "integer" + }, + "secretConfiguration": { + "additionalProperties": false, + "properties": { + "data": { + "additionalProperties": false, + "description": "`Secret` data.", + "required": [], + "title": "data" + }, + "enabled": { + "default": "false", + "description": "If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**).", + "required": [], + "title": "enabled" + }, + "mountPath": { + "default": "", + "description": "Mount path for the `Secret`, this can be templated.", + "required": [], + "title": "mountPath" + }, + "subPath": { + "default": "", + "description": "Sub-path for mounting the `Secret`, this can be templated.", + "required": [], + "title": "subPath" + } + }, + "required": [], + "title": "secretConfiguration", + "type": "object" + }, + "securityContext": { + "additionalProperties": false, + "default": "See _values.yaml_", + "description": "[Security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) for the `external-dns` container.", + "properties": { + "allowPrivilegeEscalation": { + "default": false, + "required": [], + "title": "allowPrivilegeEscalation", + "type": "boolean" + }, + "capabilities": { + "additionalProperties": false, + "properties": { + "drop": { + "items": { + "anyOf": [ + { + "required": [], + "type": "string" + } + ], + "required": [] + }, + "required": [], + "title": "drop", + "type": "array" + } + }, + "required": [ + "drop" + ], + "title": "capabilities", + "type": "object" + }, + "privileged": { + "default": false, + "required": [], + "title": "privileged", + "type": "boolean" + }, + "readOnlyRootFilesystem": { + "default": true, + "required": [], + "title": "readOnlyRootFilesystem", + "type": "boolean" + }, + "runAsGroup": { + "default": 65532, + "required": [], + "title": "runAsGroup", + "type": "integer" + }, + "runAsNonRoot": { + "default": true, + "required": [], + "title": "runAsNonRoot", + "type": "boolean" + }, + "runAsUser": { + "default": 65532, + "required": [], + "title": "runAsUser", + "type": "integer" + } + }, + "required": [ + "privileged", + "allowPrivilegeEscalation", + "readOnlyRootFilesystem", + "runAsNonRoot", + "runAsUser", + "runAsGroup", + "capabilities" + ], + "title": "securityContext" + }, + "service": { + "additionalProperties": false, + "properties": { + "annotations": { + "additionalProperties": false, + "description": "Service annotations.", + "required": [], + "title": "annotations" + }, + "ipFamilies": { + "description": "Service IP families (e.g. IPv4 and/or IPv6).", + "items": { + "required": [] + }, + "required": [], + "title": "ipFamilies" + }, + "ipFamilyPolicy": { + "default": "", + "description": "Service IP family policy.", + "required": [], + "title": "ipFamilyPolicy" + }, + "port": { + "default": "7979", + "description": "Service HTTP port.", + "required": [], + "title": "port" + } + }, + "required": [], + "title": "service", + "type": "object" + }, + "serviceAccount": { + "additionalProperties": false, + "properties": { + "annotations": { + "additionalProperties": false, + "description": "Annotations to add to the service account. Templates are allowed in both the key and the value. Example: `example.com/annotation/{{ .Values.nameOverride }}: {{ .Values.nameOverride }}`", + "required": [], + "title": "annotations" + }, + "automountServiceAccountToken": { + "default": "true", + "description": "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`.", + "required": [], + "title": "automountServiceAccountToken" + }, + "create": { + "default": "true", + "description": "If `true`, create a new `ServiceAccount`.", + "required": [], + "title": "create" + }, + "labels": { + "additionalProperties": false, + "description": "Labels to add to the service account.", + "required": [], + "title": "labels" + }, + "name": { + "default": "", + "description": "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.", + "required": [], + "title": "name", + "type": "string" + } + }, + "required": [], + "title": "serviceAccount", + "type": "object" + }, + "serviceMonitor": { + "additionalProperties": false, + "properties": { + "additionalLabels": { + "additionalProperties": false, + "description": "Additional labels for the `ServiceMonitor`.", + "required": [], + "title": "additionalLabels" + }, + "annotations": { + "additionalProperties": false, + "description": "Annotations to add to the `ServiceMonitor`.", + "required": [], + "title": "annotations" + }, + "bearerTokenFile": { + "default": "", + "description": "Provide a bearer token file for the `ServiceMonitor`.", + "required": [], + "title": "bearerTokenFile", + "type": "string" + }, + "enabled": { + "default": "false", + "description": "If `true`, create a `ServiceMonitor` resource to support the _Prometheus Operator_.", + "required": [], + "title": "enabled" + }, + "interval": { + "default": "", + "description": "If set override the _Prometheus_ default interval.", + "required": [], + "title": "interval", + "type": "string" + }, + "metricRelabelings": { + "description": "[Metric relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion.", + "items": { + "required": [] + }, + "required": [], + "title": "metricRelabelings" + }, + "namespace": { + "default": "", + "description": "If set create the `ServiceMonitor` in an alternate namespace.", + "required": [], + "title": "namespace", + "type": "string" + }, + "relabelings": { + "description": "[Relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before ingestion.", + "items": { + "required": [] + }, + "required": [], + "title": "relabelings" + }, + "scheme": { + "default": "", + "description": "If set overrides the _Prometheus_ default scheme.", + "required": [], + "title": "scheme", + "type": "string" + }, + "scrapeTimeout": { + "default": "", + "description": "If set override the _Prometheus_ default scrape timeout.", + "required": [], + "title": "scrapeTimeout", + "type": "string" + }, + "targetLabels": { + "description": "Provide target labels for the `ServiceMonitor`.", + "items": { + "required": [] + }, + "required": [], + "title": "targetLabels" + }, + "tlsConfig": { + "additionalProperties": false, + "description": "Configure the `ServiceMonitor` [TLS config](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig).", + "required": [], + "title": "tlsConfig" + } + }, + "required": [], + "title": "serviceMonitor", + "type": "object" + }, + "shareProcessNamespace": { + "default": "false", + "description": "If `true`, the `Pod` will have [process namespace sharing](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) enabled.", + "required": [], + "title": "shareProcessNamespace" + }, + "sources": { + "description": "_Kubernetes_ resources to monitor for DNS entries.", + "items": { + "anyOf": [ + { + "required": [], + "type": "string" + }, + { + "required": [], + "type": "string" + } + ], + "required": [] + }, + "required": [], + "title": "sources" + }, + "terminationGracePeriodSeconds": { + "default": "", + "description": "Termination grace period for the `Pod` in seconds.", + "required": [], + "title": "terminationGracePeriodSeconds", + "type": "integer" + }, + "tolerations": { + "description": "Node taints which will be tolerated for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).", + "items": { + "required": [] + }, + "required": [], + "title": "tolerations" + }, + "topologySpreadConstraints": { + "description": "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.", + "items": { + "required": [] + }, + "required": [], + "title": "topologySpreadConstraints" + }, + "triggerLoopOnEvent": { + "default": "false", + "description": "If `true`, triggers run loop on create/update/delete events in addition of regular interval.", + "required": [], + "title": "triggerLoopOnEvent" + }, + "txtOwnerId": { + "default": "", + "description": "Specify an identifier for this instance of _ExternalDNS_ when using a registry other than `noop`.", + "required": [], + "title": "txtOwnerId", + "type": "string" + }, + "txtPrefix": { + "default": "", + "description": "Specify a prefix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtSuffix`.", + "required": [], + "title": "txtPrefix", + "type": "string" + }, + "txtSuffix": { + "default": "", + "description": "Specify a suffix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtPrefix`.", + "required": [], + "title": "txtSuffix", + "type": "string" + } + }, + "required": [ + "global", + "image", + "serviceAccount", + "service", + "rbac", + "serviceMonitor", + "provider", + "secretConfiguration" + ], + "type": "object" +} +>>>>>>> 3360e934 (WIP3) diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index 48ebac6d7..96a59a845 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, null]; # -- Image pull secrets. imagePullSecrets: [] # @schema item: object @@ -247,7 +247,7 @@ provider: # @schema type: [object, string]; url: readTimeout: writeTimeout: - sidecar: + sidecar: # @schema type: [object]; image: # -- (string) Image repository for the `webhook` container. repository: # @schema type:[string, null]; default: null