Files
charts/bitnami/consul/values.schema.json
Antonio Gámez, PhD a2c2090b5a Autogenerate schema files (#19194)
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
2023-09-11 11:23:08 +02:00

1026 lines
40 KiB
JSON

{
"title": "Chart Values",
"type": "object",
"properties": {
"global": {
"type": "object",
"properties": {
"imageRegistry": {
"type": "string",
"description": "Global Docker image registry",
"default": ""
},
"imagePullSecrets": {
"type": "array",
"description": "Global Docker registry secret names as an array",
"default": [],
"items": {}
},
"storageClass": {
"type": "string",
"description": "Global StorageClass for Persistent Volume(s)",
"default": ""
}
}
},
"kubeVersion": {
"type": "string",
"description": "Override Kubernetes version",
"default": ""
},
"nameOverride": {
"type": "string",
"description": "String to partially override common.names.fullname",
"default": ""
},
"fullnameOverride": {
"type": "string",
"description": "String to fully override common.names.fullname",
"default": ""
},
"commonLabels": {
"type": "object",
"description": "Labels to add to all deployed objects (sub-charts are not considered)",
"default": {}
},
"commonAnnotations": {
"type": "object",
"description": "Annotations to add to all deployed objects (sub-charts are not considered)",
"default": {}
},
"clusterDomain": {
"type": "string",
"description": "Kubernetes cluster domain name",
"default": "cluster.local"
},
"extraDeploy": {
"type": "array",
"description": "Array of extra objects to deploy with the release",
"default": [],
"items": {}
},
"diagnosticMode": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable diagnostic mode (all probes will be disabled and the command will be overridden)",
"default": false
},
"command": {
"type": "array",
"description": "Command to override all containers in the deployment",
"default": [
"sleep"
],
"items": {
"type": "string"
}
},
"args": {
"type": "array",
"description": "Args to override all containers in the deployment",
"default": [
"infinity"
],
"items": {
"type": "string"
}
}
}
},
"image": {
"type": "object",
"properties": {
"registry": {
"type": "string",
"description": "HashiCorp Consul image registry",
"default": "docker.io"
},
"repository": {
"type": "string",
"description": "HashiCorp Consul image repository",
"default": "bitnami/consul"
},
"tag": {
"type": "string",
"description": "HashiCorp Consul image tag (immutable tags are recommended)",
"default": "1.16.1-debian-11-r10"
},
"digest": {
"type": "string",
"description": "HashiCorp Consul image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
"default": ""
},
"pullPolicy": {
"type": "string",
"description": "HashiCorp Consul image pull policy",
"default": "IfNotPresent"
},
"pullSecrets": {
"type": "array",
"description": "HashiCorp Consul image pull secrets",
"default": [],
"items": {}
},
"debug": {
"type": "boolean",
"description": "Enable image debug mode",
"default": false
}
}
},
"datacenterName": {
"type": "string",
"description": "Datacenter name for Consul. If not supplied, will use the Consul",
"default": "dc1"
},
"domain": {
"type": "string",
"description": "Consul domain name",
"default": "consul"
},
"raftMultiplier": {
"type": "string",
"description": "Multiplier used to scale key Raft timing parameters",
"default": "1"
},
"gossipKey": {
"type": "string",
"description": "Gossip key for all members. The key must be 16-bytes, can be generated with $(consul keygen)",
"default": ""
},
"tlsEncryptionSecretName": {
"type": "string",
"description": "Name of existing secret with TLS encryption data",
"default": ""
},
"hostAliases": {
"type": "array",
"description": "Deployment pod host aliases",
"default": [],
"items": {}
},
"configuration": {
"type": "string",
"description": "HashiCorp Consul configuration to be injected as ConfigMap",
"default": ""
},
"existingConfigmap": {
"type": "string",
"description": "ConfigMap with HashiCorp Consul configuration",
"default": ""
},
"localConfig": {
"type": "string",
"description": "Extra configuration that will be added to the default one",
"default": ""
},
"podLabels": {
"type": "object",
"description": "Pod labels",
"default": {}
},
"priorityClassName": {
"type": "string",
"description": "Priority class assigned to the Pods",
"default": ""
},
"runtimeClassName": {
"type": "string",
"description": "Name of the runtime class to be used by pod(s)",
"default": ""
},
"schedulerName": {
"type": "string",
"description": "Alternative scheduler",
"default": ""
},
"terminationGracePeriodSeconds": {
"type": "string",
"description": "In seconds, time the given to the Consul pod needs to terminate gracefully",
"default": ""
},
"topologySpreadConstraints": {
"type": "array",
"description": "Topology Spread Constraints for pod assignment",
"default": [],
"items": {}
},
"command": {
"type": "array",
"description": "Command for running the container (set to default if not set). Use array form",
"default": [],
"items": {}
},
"args": {
"type": "array",
"description": "Args for running the container (set to default if not set). Use array form",
"default": [],
"items": {}
},
"extraEnvVars": {
"type": "array",
"description": "Extra environment variables to be set on HashiCorp Consul container",
"default": [],
"items": {}
},
"extraEnvVarsCM": {
"type": "string",
"description": "Name of existing ConfigMap containing extra env vars",
"default": ""
},
"extraEnvVarsSecret": {
"type": "string",
"description": "Name of existing Secret containing extra env vars",
"default": ""
},
"containerPorts": {
"type": "object",
"properties": {
"http": {
"type": "number",
"description": "Port to open for HTTP in Consul",
"default": 8500
},
"dns": {
"type": "number",
"description": "Port to open for DNS server in Consul",
"default": 8600
},
"rpc": {
"type": "number",
"description": "Port to open for RPC in Consul",
"default": 8400
},
"rpcServer": {
"type": "number",
"description": "Port to open for RPC Server in Consul",
"default": 8300
},
"serfLAN": {
"type": "number",
"description": "Port to open for Serf LAN in Consul",
"default": 8301
}
}
},
"lifecycleHooks": {
"type": "object",
"description": "Add lifecycle hooks to the deployment",
"default": {}
},
"replicaCount": {
"type": "number",
"description": "Number of HashiCorp Consul replicas to deploy",
"default": 3
},
"updateStrategy": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Update strategy type for the HashiCorp Consul statefulset",
"default": "RollingUpdate"
}
}
},
"podManagementPolicy": {
"type": "string",
"description": "StatefulSet pod management policy",
"default": "Parallel"
},
"podAnnotations": {
"type": "object",
"description": "Additional pod annotations",
"default": {}
},
"podAffinityPreset": {
"type": "string",
"description": "Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": ""
},
"podAntiAffinityPreset": {
"type": "string",
"description": "Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": "soft"
},
"nodeAffinityPreset": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": ""
},
"key": {
"type": "string",
"description": "Node label key to match. Ignored if `affinity` is set.",
"default": ""
},
"values": {
"type": "array",
"description": "Node label values to match. Ignored if `affinity` is set.",
"default": [],
"items": {}
}
}
},
"affinity": {
"type": "object",
"description": "Affinity for pod assignment",
"default": {}
},
"nodeSelector": {
"type": "object",
"description": "Node labels for pod assignment",
"default": {}
},
"tolerations": {
"type": "array",
"description": "Tolerations for pod assignment",
"default": [],
"items": {}
},
"podSecurityContext": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable security context for HashiCorp Consul pods",
"default": true
},
"fsGroup": {
"type": "number",
"description": "Group ID for the volumes of the pod",
"default": 1001
}
}
},
"containerSecurityContext": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "HashiCorp Consul Container securityContext",
"default": true
},
"runAsUser": {
"type": "number",
"description": "User ID for the HashiCorp Consul container",
"default": 1001
},
"runAsNonRoot": {
"type": "boolean",
"description": "Force the container to be run as non root",
"default": true
},
"allowPrivilegeEscalation": {
"type": "boolean",
"description": "Force the child process to be run as nonprivilege",
"default": false
}
}
},
"resources": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"description": "The resources limits for HashiCorp Consul containers",
"default": {}
},
"requests": {
"type": "object",
"description": "The requested resources for HashiCorp Consul containers",
"default": {}
}
}
},
"livenessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable livenessProbe",
"default": true
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for livenessProbe",
"default": 30
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for livenessProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for livenessProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for livenessProbe",
"default": 6
},
"successThreshold": {
"type": "number",
"description": "Success threshold for livenessProbe",
"default": 1
}
}
},
"readinessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable readinessProbe",
"default": true
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for readinessProbe",
"default": 5
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for readinessProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for readinessProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for readinessProbe",
"default": 6
},
"successThreshold": {
"type": "number",
"description": "Success threshold for readinessProbe",
"default": 1
}
}
},
"startupProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable startupProbe",
"default": false
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for startupProbe",
"default": 0
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for startupProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for startupProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for startupProbe",
"default": 60
},
"successThreshold": {
"type": "number",
"description": "Success threshold for startupProbe",
"default": 1
}
}
},
"customLivenessProbe": {
"type": "object",
"description": "Override default liveness probe",
"default": {}
},
"customReadinessProbe": {
"type": "object",
"description": "Override default readiness probe",
"default": {}
},
"customStartupProbe": {
"type": "object",
"description": "Override default startup probe",
"default": {}
},
"extraVolumeMounts": {
"type": "array",
"description": "Optionally specify extra list of additional volumeMounts for Hashicorp Consul container",
"default": [],
"items": {}
},
"extraVolumes": {
"type": "array",
"description": "Optionally specify extra list of additional volumes for Hashicorp Consul container",
"default": [],
"items": {}
},
"initContainers": {
"type": "array",
"description": "Add additional init containers to the Hashicorp Consul pods",
"default": [],
"items": {}
},
"sidecars": {
"type": "array",
"description": "Add additional sidecar containers to the Hashicorp Consul pods",
"default": [],
"items": {}
},
"pdb": {
"type": "object",
"properties": {
"create": {
"type": "boolean",
"description": "Enable/disable a Pod Disruption Budget creation",
"default": false
},
"minAvailable": {
"type": "number",
"description": "Minimum number of pods that must still be available after the eviction",
"default": 1
},
"maxUnavailable": {
"type": "string",
"description": "Max number of pods that can be unavailable after the eviction",
"default": ""
}
}
},
"service": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Use a service to access HashiCorp Consul Ui",
"default": true
},
"ports": {
"type": "object",
"properties": {
"http": {
"type": "number",
"description": "HashiCorp Consul UI svc port",
"default": 80
}
}
},
"type": {
"type": "string",
"description": "HashiCorp Consul UI Service Type",
"default": "ClusterIP"
},
"nodePorts": {
"type": "object",
"properties": {
"http": {
"type": "string",
"description": "Node port for HashiCorp Consul UI",
"default": ""
}
}
},
"clusterIP": {
"type": "string",
"description": "Consul service Cluster IP",
"default": ""
},
"loadBalancerIP": {
"type": "string",
"description": "HashiCorp Consul UI service Load Balancer IP",
"default": ""
},
"loadBalancerSourceRanges": {
"type": "array",
"description": "Consul service Load Balancer sources",
"default": [],
"items": {}
},
"annotations": {
"type": "object",
"description": "Annotations for HashiCorp Consul UI service",
"default": {}
},
"externalTrafficPolicy": {
"type": "string",
"description": "Service external traffic policy",
"default": "Cluster"
},
"extraPorts": {
"type": "array",
"description": "Extra ports to expose (normally used with the `sidecar` value)",
"default": [],
"items": {}
},
"sessionAffinity": {
"type": "string",
"description": "Session Affinity for Kubernetes service, can be \"None\" or \"ClientIP\"",
"default": "None"
},
"sessionAffinityConfig": {
"type": "object",
"description": "Additional settings for the sessionAffinity",
"default": {}
},
"headless": {
"type": "object",
"properties": {
"annotations": {
"type": "object",
"description": "Annotations for the headless service.",
"default": {}
}
}
}
}
},
"ingress": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable ingress resource for Management console",
"default": false
},
"path": {
"type": "string",
"description": "Path for the default host",
"default": "/"
},
"apiVersion": {
"type": "string",
"description": "Override API Version (automatically detected if not set)",
"default": ""
},
"pathType": {
"type": "string",
"description": "Ingress path type",
"default": "ImplementationSpecific"
},
"hostname": {
"type": "string",
"description": "Default host for the ingress resource, a host pointing to this will be created",
"default": "consul-ui.local"
},
"annotations": {
"type": "object",
"description": "Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.",
"default": {}
},
"ingressClassName": {
"type": "string",
"description": "Set the ingerssClassName on the ingress record for k8s 1.18+",
"default": ""
},
"tls": {
"type": "boolean",
"description": "Enable TLS configuration for the hostname defined at ingress.hostname parameter",
"default": false
},
"extraHosts": {
"type": "array",
"description": "An array with additional hostname(s) to be covered with the ingress record",
"default": [],
"items": {}
},
"extraPaths": {
"type": "array",
"description": "Any additional arbitrary paths that may need to be added to the ingress under the main host.",
"default": [],
"items": {}
},
"selfSigned": {
"type": "boolean",
"description": "Create a TLS secret for this ingress record using self-signed certificates generated by Helm",
"default": false
},
"extraTls": {
"type": "array",
"description": "TLS configuration for additional hostname(s) to be covered with this ingress record",
"default": [],
"items": {}
},
"secrets": {
"type": "array",
"description": "If you're providing your own certificates, please use this to add the certificates as secrets",
"default": [],
"items": {}
},
"existingSecret": {
"type": "string",
"description": "It is you own the certificate as secret.",
"default": ""
},
"extraRules": {
"type": "array",
"description": "Additional rules to be covered with this ingress record",
"default": [],
"items": {}
}
}
},
"persistence": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable HashiCorp Consul data persistence using PVC, use a Persistent Volume Claim, If false, use emptyDir",
"default": true
},
"storageClass": {
"type": "string",
"description": "Persistent Volume storage class",
"default": ""
},
"annotations": {
"type": "object",
"description": "Persistent Volume Claim annotations",
"default": {}
},
"accessModes": {
"type": "array",
"description": "Persistent Volume Access Mode",
"default": [
"ReadWriteOnce"
],
"items": {
"type": "string"
}
},
"size": {
"type": "string",
"description": "PVC Storage Request for HashiCorp Consul data volume",
"default": "8Gi"
}
}
},
"volumePermissions": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable init container that changes the owner and group of the persistent volume",
"default": false
},
"image": {
"type": "object",
"properties": {
"registry": {
"type": "string",
"description": "OS Shell + Utility image registry",
"default": "docker.io"
},
"repository": {
"type": "string",
"description": "OS Shell + Utility image repository",
"default": "bitnami/os-shell"
},
"tag": {
"type": "string",
"description": "OS Shell + Utility image tag (immutable tags are recommended)",
"default": "11-debian-11-r40"
},
"digest": {
"type": "string",
"description": "OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
"default": ""
},
"pullPolicy": {
"type": "string",
"description": "OS Shell + Utility image pull policy",
"default": "IfNotPresent"
},
"pullSecrets": {
"type": "array",
"description": "OS Shell + Utility image pull secrets",
"default": [],
"items": {}
}
}
},
"resources": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"description": "The resources limits for the container",
"default": {}
},
"requests": {
"type": "object",
"description": "The requested resources for the container",
"default": {}
}
}
}
}
},
"metrics": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Start a side-car prometheus exporter",
"default": false
},
"image": {
"type": "object",
"properties": {
"registry": {
"type": "string",
"description": "HashiCorp Consul Prometheus Exporter image registry",
"default": "docker.io"
},
"repository": {
"type": "string",
"description": "HashiCorp Consul Prometheus Exporter image repository",
"default": "bitnami/consul-exporter"
},
"tag": {
"type": "string",
"description": "HashiCorp Consul Prometheus Exporter image tag (immutable tags are recommended)",
"default": "0.9.0-debian-11-r252"
},
"digest": {
"type": "string",
"description": "HashiCorp Consul Prometheus Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
"default": ""
},
"pullPolicy": {
"type": "string",
"description": "HashiCorp Consul Prometheus Exporter image pull policy",
"default": "IfNotPresent"
},
"pullSecrets": {
"type": "array",
"description": "HashiCorp Consul Prometheus Exporter image pull secrets",
"default": [],
"items": {}
}
}
},
"containerSecurityContext": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "HashiCorp Consul Prometheus Exporter securityContext",
"default": true
},
"runAsUser": {
"type": "number",
"description": "User ID for the HashiCorp Consul Prometheus Exporter",
"default": 1001
},
"runAsNonRoot": {
"type": "boolean",
"description": "Force the container to be run as non root",
"default": true
}
}
},
"service": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Kubernetes Service type",
"default": "ClusterIP"
},
"loadBalancerIP": {
"type": "string",
"description": "Service Load Balancer IP",
"default": ""
},
"annotations": {
"type": "object",
"properties": {
"prometheus": {
"type": "object",
"properties": {
"io/scrape": {
"type": "string",
"description": "",
"default": "true"
},
"io/port": {
"type": "string",
"description": "",
"default": "9107"
}
}
}
}
}
}
},
"podAnnotations": {
"type": "object",
"properties": {
"prometheus": {
"type": "object",
"properties": {
"io/scrape": {
"type": "string",
"description": "",
"default": "true"
},
"io/port": {
"type": "string",
"description": "",
"default": "9107"
}
}
}
}
},
"resources": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"description": "The resources limits for the container",
"default": {}
},
"requests": {
"type": "object",
"description": "The requested resources for the container",
"default": {}
}
}
},
"serviceMonitor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Create ServiceMonitor Resource for scraping metrics using PrometheusOperator, set to true to create a Service Monitor Entry",
"default": false
},
"namespace": {
"type": "string",
"description": "The namespace in which the ServiceMonitor will be created",
"default": ""
},
"interval": {
"type": "string",
"description": "Interval at which metrics should be scraped",
"default": "30s"
},
"scrapeTimeout": {
"type": "string",
"description": "The timeout after which the scrape is ended",
"default": ""
},
"metricRelabelings": {
"type": "array",
"description": "Metrics relabelings to add to the scrape endpoint",
"default": [],
"items": {}
},
"relabelings": {
"type": "array",
"description": "RelabelConfigs to apply to samples before scraping",
"default": [],
"items": {}
},
"honorLabels": {
"type": "boolean",
"description": "Specify honorLabels parameter to add the scrape endpoint",
"default": false
},
"jobLabel": {
"type": "string",
"description": "The name of the label on the target service to use as the job name in prometheus.",
"default": ""
},
"selector": {
"type": "object",
"description": "ServiceMonitor selector labels",
"default": {}
},
"labels": {
"type": "object",
"description": "Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with",
"default": {}
}
}
}
}
}
}
}