diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index 049e31136..98fd4ae2e 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -1,878 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", -<<<<<<< HEAD -<<<<<<< HEAD "type": "object", - "properties": { - "affinity": { - "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.", - "type": "object" - }, - "automountServiceAccountToken": { - "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`.", - "type": "boolean" - }, - "commonLabels": { - "description": "Labels to add to all chart resources.", - "type": "object" - }, - "deploymentAnnotations": { - "description": "Annotations to add to the `Deployment`.", - "type": "object" - }, - "deploymentStrategy": { - "description": "[Deployment Strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy).", - "type": "object", - "properties": { - "type": { - "type": [ - "string" - ], - "enum": [ - "Recreate", - "RollingUpdate" - ] - } - }, - "additionalProperties": true - }, - "dnsConfig": { - "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.", - "type": [ - "object", - "null" - ] - }, - "dnsPolicy": { - "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.", - "type": [ - "string", - "null" - ] - }, - "domainFilters": { - "description": "Limit possible target zones by domain suffixes.", - "type": "array" - }, - "enabled": { - "description": "No effect - reserved for use in sub-charting", - "type": [ - "boolean", - "null" - ] - }, - "env": { - "description": "[Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) for the `external-dns` container.", - "type": "array" - }, - "excludeDomains": { - "description": "Intentionally exclude domains from being managed.", - "type": "array" - }, - "extraArgs": { - "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.", - "type": [ - "array", - "null", - "object" - ], - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "extraContainers": { - "description": "Extra containers to add to the `Deployment`.", - "type": "array" - }, - "extraVolumeMounts": { - "description": "Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `external-dns` container.", - "type": "array" - }, - "extraVolumes": { - "description": "Extra [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) for the `Pod`.", - "type": "array" - }, - "fullnameOverride": { - "description": "Override the full name of the chart.", - "type": [ - "string", - "null" - ] - }, - "global": { - "type": "object", - "properties": { - "imagePullSecrets": { - "description": "Global image pull secrets.", - "type": "array", - "items": { - "type": "object" - } - } - } - }, - "image": { - "type": "object", - "properties": { - "pullPolicy": { - "description": "Image pull policy for the `external-dns` container.", - "type": "string", - "enum": [ - "IfNotPresent", - "Always" - ] - }, - "repository": { - "description": "Image repository for the `external-dns` container.", - "type": "string" - }, - "tag": { - "description": "Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set.", - "type": [ - "string", - "null" - ] - } - }, - "additionalProperties": false - }, - "imagePullSecrets": { - "description": "Image pull secrets.", - "type": "array", - "items": { - "type": "object" - } - }, - "initContainers": { - "description": "[Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the `Pod` definition.", - "type": "array" - }, - "interval": { - "description": "Interval for DNS updates.", - "type": "string" - }, - "labelFilter": { - "description": "Filter resources queried for endpoints by label selector", - "type": [ - "string", - "null" - ] - }, - "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" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "port": { - "type": "string" - } - } - }, - "initialDelaySeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - } - } - }, - "logFormat": { - "description": "Log format.", - "default": "text", - "type": [ - "string" - ], - "enum": [ - "text", - "json" - ] - }, - "logLevel": { - "description": "Log level.", - "default": "info", - "type": [ - "string" - ], - "enum": [ - "panic", - "debug", - "info", - "warning", - "error", - "fatal" - ] - }, - "managedRecordTypes": { - "description": "Record types to manage (default: A, AAAA, CNAME)", - "type": [ - "array", - "null" - ], - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "nameOverride": { - "description": "Override the name of the chart.", - "type": [ - "string", - "null" - ] - }, - "namespaced": { - "description": "if `true`, _ExternalDNS_ will run in a namespaced scope (`Role`` and `Rolebinding`` will be namespaced too).", - "type": "boolean" - }, - "nodeSelector": { - "description": "Node labels to match for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).", - "type": "object" - }, - "podAnnotations": { - "description": "Annotations to add to the `Pod`.", - "type": "object" - }, - "podLabels": { - "description": "Labels to add to the `Pod`.", - "type": "object" - }, - "podSecurityContext": { - "description": "[Pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core), this supports full customisation.", - "type": "object", - "properties": { - "fsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "seccompProfile": { - "type": "object", - "properties": { - "type": { - "type": "string" - } - } - } - } - }, - "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" - ], - "enum": [ - "create-only", - "sync", - "upsert-only" - ] - }, - "priorityClassName": { - "description": "Priority class name for the `Pod`.", - "type": [ - "string", - "null" - ] - }, - "provider": { - "type": [ - "object", - "string" - ], - "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" - }, - "webhook": { - "type": "object", - "properties": { - "args": { - "description": "Extra arguments to provide for the `webhook` container.", - "type": "array" - }, - "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", - "properties": { - "pullPolicy": { - "description": "Image pull policy for the `webhook` container.", - "type": "string" - }, - "repository": { - "description": "Image repository for the `webhook` container.", - "type": [ - "string", - "null" - ] - }, - "tag": { - "description": "Image tag for the `webhook` container.", - "type": [ - "string", - "null" - ] - } - } - }, - "limits": { - "type": "object", - "properties": { - "cpu": { - "type": "string" - }, - "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": { - "type": "object", - "properties": { - "path": { - "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": { - "type": [ - "string", - "null" - ] - }, - "port": { - "type": [ - "integer", - "string" - ] - } - } - }, - "initialDelaySeconds": { - "type": [ - "integer", - "null" - ] - }, - "periodSeconds": { - "type": [ - "integer", - "null" - ] - }, - "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": { - "type": "object" - } - } - }, - "sidecar": { - "description": "If false, then do not add a webhook sidecar to the external-dns deployment.", - "type": "boolean" - } - } - } - } - }, - "rbac": { - "type": "object", - "properties": { - "additionalPermissions": { - "description": "Additional rules to add to the `ClusterRole`.", - "type": "array" - }, - "create": { - "description": "If `true`, create a `ClusterRole` \u0026 `ClusterRoleBinding` with access to the Kubernetes API.", - "type": "boolean" - } - }, - "additionalProperties": true - }, - "readinessProbe": { - "description": "[Readiness 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" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string" - }, - "port": { - "type": "string" - } - } - }, - "initialDelaySeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "successThreshold": { - "type": "integer" - }, - "timeoutSeconds": { - "type": "integer" - } - } - }, - "registry": { - "description": "Specify the registry for storing ownership and labels. Valid values are `txt`, `aws-sd`, `dynamodb` \u0026 `noop`.", - "default": "txt", - "type": "string", - "enum": [ - "txt", - "aws-sd", - "dynamodb", - "noop" - ] - }, - "resources": { - "description": "[Resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the `external-dns` container.", - "type": "object", - "properties": { - "limits": { - "type": "object", - "properties": { - "cpu": { - "type": "string" - }, - "memory": { - "type": "string" - } - } - }, - "requests": { - "type": "object", - "properties": { - "cpu": { - "type": "string" - }, - "memory": { - "type": "string" - } - } - } - } - }, - "revisionHistoryLimit": { - "description": "Specify the number of old `ReplicaSets` to retain to allow rollback of the `Deployment``.", - "type": [ - "integer", - "null" - ], - "minimum": 0 - }, - "secretConfiguration": { - "type": "object", - "properties": { - "data": { - "description": "`Secret` data.", - "type": "object" - }, - "enabled": { - "description": "If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**).", - "type": "boolean" - }, - "mountPath": { - "description": "Mount path for the `Secret`, this can be templated.", - "type": [ - "string", - "null" - ] - }, - "subPath": { - "description": "Sub-path for mounting the `Secret`, this can be templated.", - "type": [ - "string", - "null" - ] - } - } - }, - "securityContext": { - "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.", - "type": "object", - "properties": { - "allowPrivilegeEscalation": { - "type": "boolean" - }, - "capabilities": { - "type": "object", - "properties": { - "drop": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "privileged": { - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "type": "boolean" - }, - "runAsGroup": { - "type": "integer" - }, - "runAsNonRoot": { - "type": "boolean" - }, - "runAsUser": { - "type": "integer" - } - } - }, - "service": { - "type": "object", - "properties": { - "annotations": { - "description": "Service annotations.", - "type": "object" - }, - "ipFamilies": { - "description": "Service IP families (e.g. IPv4 and/or IPv6).", - "type": [ - "array", - "null" - ], - "maxItems": 2, - "minItems": 0, - "uniqueItems": true, - "items": { - "type": "string", - "enum": [ - "IPv4", - "IPv6" - ] - } - }, - "ipFamilyPolicy": { - "description": "Service IP family policy.", - "type": [ - "string", - "null" - ], - "enum": [ - "SingleStack", - "PreferDualStack", - "RequireDualStack", - null - ] - }, - "port": { - "description": "Service HTTP port.", - "default": 7979, - "type": "integer", - "minimum": 0 - } - } - }, - "serviceAccount": { - "type": "object", - "properties": { - "annotations": { - "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 }}`", - "type": "object" - }, - "automountServiceAccountToken": { - "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`.", - "type": "boolean" - }, - "create": { - "description": "If `true`, create a new `ServiceAccount`.", - "type": "boolean" - }, - "labels": { - "description": "Labels to add to the service account.", - "type": "object" - }, - "name": { - "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.", - "type": [ - "string", - "null" - ] - } - } - }, - "serviceMonitor": { - "type": "object", - "properties": { - "additionalLabels": { - "description": "Additional labels for the `ServiceMonitor`.", - "type": "object" - }, - "annotations": { - "description": "Annotations to add to the `ServiceMonitor`.", - "type": "object" - }, - "bearerTokenFile": { - "description": "Provide a bearer token file for the `ServiceMonitor`.", - "type": [ - "string", - "null" - ] - }, - "enabled": { - "description": "If `true`, create a `ServiceMonitor` resource to support the _Prometheus Operator_.", - "type": "boolean" - }, - "interval": { - "description": "If set override the _Prometheus_ default interval.", - "type": [ - "string", - "null" - ] - }, - "metricRelabelings": { - "description": "[Metric relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion.", - "type": "array" - }, - "namespace": { - "description": "If set create the `ServiceMonitor` in an alternate namespace.", - "type": [ - "string", - "null" - ] - }, - "relabelings": { - "description": "[Relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before ingestion.", - "type": "array" - }, - "scheme": { - "description": "If set overrides the _Prometheus_ default scheme.", - "type": [ - "string", - "null" - ] - }, - "scrapeTimeout": { - "description": "If set override the _Prometheus_ default scrape timeout.", - "type": [ - "string", - "null" - ] - }, - "targetLabels": { - "description": "Provide target labels for the `ServiceMonitor`.", - "type": "array" - }, - "tlsConfig": { - "description": "Configure the `ServiceMonitor` [TLS config](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig).", - "type": "object" - } - } - }, - "shareProcessNamespace": { - "description": "If `true`, the `Pod` will have [process namespace sharing](https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/) enabled.", - "type": "boolean" - }, - "sources": { - "description": "_Kubernetes_ resources to monitor for DNS entries.", - "type": "array", - "items": { - "type": "string" - } - }, - "terminationGracePeriodSeconds": { - "description": "Termination grace period for the `Pod` in seconds.", - "type": [ - "integer", - "null" - ] - }, - "tolerations": { - "description": "Node taints which will be tolerated for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).", - "type": "array" - }, - "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.", - "type": "array" - }, - "triggerLoopOnEvent": { - "description": "If `true`, triggers run loop on create/update/delete events in addition of regular interval.", - "type": "boolean" - }, - "txtOwnerId": { - "description": "Specify an identifier for this instance of _ExternalDNS_ when using a registry other than `noop`.", - "type": [ - "string", - "null" - ] - }, - "txtPrefix": { - "description": "Specify a prefix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtSuffix`.", - "type": [ - "string", - "null" - ] - }, - "txtSuffix": { - "description": "Specify a suffix for the domain names of TXT records created for the `txt` registry. Mutually exclusive with `txtPrefix`.", - "type": [ - "string", - "null" - ] - } - }, - "additionalProperties": true -} -======= - "additionalProperties": false, -======= - "type": "object", ->>>>>>> fc9e156c (Update values and get schema to build) "properties": { "affinity": { "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.", @@ -969,6 +97,13 @@ "null" ] }, + "gatewayNamespace": { + "description": "_Gateway API_ gateway namespace to watch.", + "type": [ + "string", + "null" + ] + }, "global": { "type": "object", "properties": { @@ -1137,10 +272,11 @@ } }, "policy": { - "description": "How DNS records are synchronized between sources and providers; available values are `sync` \u0026 `upsert-only`.", + "description": "How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, \u0026 `upsert-only`.", "default": "upsert-only", "type": "string", "enum": [ + "create-only", "sync", "upsert-only" ] @@ -1764,21 +900,5 @@ ] } }, -<<<<<<< HEAD - "required": [ - "global", - "image", - "serviceAccount", - "service", - "rbac", - "serviceMonitor", - "provider", - "secretConfiguration" - ], - "type": "object" -} ->>>>>>> 3360e934 (WIP3) -======= "additionalProperties": true } ->>>>>>> fc9e156c (Update values and get schema to build)