rancher-partner-charts/charts/redpanda/redpanda/values.schema.json

1184 lines
29 KiB
JSON

{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"required": [
"image"
],
"properties": {
"nameOverride": {
"type": "string"
},
"fullnameOverride": {
"type": "string"
},
"clusterDomain": {
"type": "string"
},
"commonLabels": {
"type": "object"
},
"nodeSelector": {
"type": "object"
},
"tolerations": {
"type": "array"
},
"image": {
"description": "Values used to define the container image to be used for Redpanda",
"type": "object",
"required": [
"repository",
"pullPolicy"
],
"properties": {
"repository": {
"description": "container image repository",
"default": "docker.redpanda.com/redpandadata/redpanda",
"type": "string",
"pattern": "^[a-z0-9-_/.]+$"
},
"tag": {
"description": "The container image tag. Use the Redpanda release version. Must be a valid semver prefixed with a 'v'.",
"default": "Chart.appVersion",
"type": "string",
"pattern": "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$|^$"
},
"pullPolicy": {
"description": "The Kubernetes Pod image pull policy.",
"type": "string",
"pattern": "^(Always|Never|IfNotPresent)$"
}
}
},
"license_key": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?\\.(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$|^$",
"deprecated": true
},
"license_secret_ref": {
"type": "object",
"properties": {
"secret_name": {
"type": "string"
},
"secret_key": {
"type": "string"
}
}
},
"rackAwareness": {
"type": "object",
"required": [
"enabled",
"nodeAnnotation"
],
"properties": {
"enabled": {
"type": "boolean"
},
"nodeAnnotation": {
"type": "string"
}
}
},
"auth": {
"type": "object",
"required": [
"sasl"
],
"properties": {
"sasl": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"mechanism": {
"type": "string"
},
"secretRef": {
"type": "string"
},
"users": {
"type": "array",
"minItems": 0,
"items": {
"properties": {
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"mechanism": {
"type": "string",
"pattern": "^(SCRAM-SHA-512|SCRAM-SHA-256)$"
}
}
}
}
}
}
}
},
"tls": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"certs": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[A-Za-z_][A-Za-z0-9_]*$": {
"type": "object",
"required": [
"caEnabled"
],
"properties": {
"issuerRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": ["ClusterIssuer", "Issuer"]
},
"name": {
"type": "string"
}
}
},
"caEnabled": {
"type": "boolean"
},
"duration": {
"type": "string",
"pattern": ".*[smh]$"
}
}
}
}
}
}
},
"external": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"type": {
"type": "string",
"pattern": "^(LoadBalancer|NodePort)$"
},
"domain": {
"type": "string",
"format": "idn-hostname"
},
"addresses": {
"type": "array"
},
"sourceRanges": {
"type": "array"
},
"annotations": {
"type": "object"
},
"externalDns": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"logging": {
"type": "object",
"required": [
"logLevel",
"usageStats"
],
"parameters": {
"logLevel": {
"type": "string",
"pattern": "^(error|warn|info|debug|trace)$"
},
"usageStats": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"monitoring": {
"type": "object",
"required": [
"enabled",
"scrapeInterval"
],
"properties": {
"enabled": {
"type": "boolean"
},
"scrapeInterval": {
"type": "string",
"pattern": ".*[smh]$"
},
"labels": {
"type": "object"
}
}
},
"resources": {
"type": "object",
"required": [
"cpu",
"memory"
],
"properties": {
"cpu": {
"type": "object",
"required": [
"cores"
],
"properties": {
"cores": {
"type": ["integer", "string"]
},
"overprovisioned": {
"type": "boolean"
}
}
},
"memory": {
"type": "object",
"required": [
"container"
],
"properties": {
"enable_memory_locking": {
"type": "boolean"
},
"container": {
"type": "object",
"required": [
"max"
],
"properties": {
"min": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
},
"max": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
}
}
}
}
}
}
},
"storage": {
"type": "object",
"required": [
"hostPath",
"persistentVolume"
],
"properties": {
"hostPath": {
"type": "string"
},
"tieredStorageHostPath": {
"type": "string"
},
"persistentVolume": {
"type": "object",
"required": [
"enabled",
"size",
"storageClass",
"labels",
"annotations"
],
"properties": {
"enabled": {
"type": "boolean"
},
"size": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
},
"storageClass": {
"type": "string"
},
"labels": {
"type": "object"
},
"annotations": {
"type": "object"
}
}
},
"tieredStoragePersistentVolume": {
"type": "object",
"required": [
"enabled",
"storageClass",
"labels",
"annotations"
],
"properties": {
"enabled": {
"type": "boolean"
},
"storageClass": {
"type": "string"
},
"labels": {
"type": "object"
},
"annotations": {
"type": "object"
}
}
},
"tieredConfig":{
"type": "object",
"required": [
"cloud_storage_enabled",
"cloud_storage_region",
"cloud_storage_bucket"
],
"properties": {
"cloud_storage_enable_remote_write": {
"type": "boolean"
},
"cloud_storage_enable_remote_read": {
"type": "boolean"
},
"cloud_storage_credentials_source": {
"type": "string",
"pattern": "^(config_file|aws_instance_metadata|sts|gcp_instance_metadata)$"
},
"cloud_storage_region": {
"type": "string"
},
"cloud_storage_bucket": {
"type": "string"
},
"cloud_storage_api_endpoint": {
"type": "string"
},
"cloud_storage_cache_size": {
"type": "integer"
},
"cloud_storage_cache_directory": {
"type": "string"
},
"cloud_storage_cache_check_interval": {
"type": "integer"
},
"cloud_storage_initial_backoff_ms": {
"type": "integer"
},
"cloud_storage_max_connections": {
"type": "integer"
},
"cloud_storage_segment_upload_timeout_ms": {
"type": "integer"
},
"cloud_storage_manifest_upload_timeout_ms": {
"type": "integer"
},
"cloud_storage_max_connection_idle_time_ms": {
"type": "integer"
},
"cloud_storage_segment_max_upload_interval_sec": {
"type": "integer"
},
"cloud_storage_trust_file": {
"type": "string"
},
"cloud_storage_upload_ctrl_update_interval_ms": {
"type": "integer"
},
"cloud_storage_upload_ctrl_p_coeff": {
"type": "integer"
},
"cloud_storage_upload_ctrl_d_coeff": {
"type": "integer"
},
"cloud_storage_upload_ctrl_min_shares": {
"type": "integer"
},
"cloud_storage_upload_ctrl_max_shares": {
"type": "integer"
},
"cloud_storage_reconciliation_interval_ms": {
"type": "integer"
},
"cloud_storage_disable_tls": {
"type": "boolean"
},
"cloud_storage_api_endpoint_port": {
"type": "integer"
}
}
}
}
},
"post_install_job": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"properties": {
"requests": {
"type": "object",
"properties": {
"cpu": {
"type": "integer"
},
"memory": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
}
}
},
"limits": {
"type": "object",
"properties": {
"cpu": {
"type": "integer"
},
"memory": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
}
}
}
}
}
}
},
"post_upgrade_job": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"properties": {
"requests": {
"type": "object",
"properties": {
"cpu": {
"type": "integer"
},
"memory": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
}
}
},
"limits": {
"type": "object",
"properties": {
"cpu": {
"type": "integer"
},
"memory": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]){0,1}(k|M|G|Ki|Mi|Gi)$"
}
}
}
}
},
"extraEnv": {
"type": ["array", "string"]
},
"extraEnvFrom": {
"type": ["array", "string"]
}
}
},
"statefulset": {
"type": "object",
"required": [
"replicas",
"updateStrategy",
"budget",
"annotations",
"startupProbe",
"livenessProbe",
"readinessProbe",
"podAffinity",
"podAntiAffinity",
"nodeSelector",
"priorityClassName",
"tolerations",
"topologySpreadConstraints",
"securityContext",
"sideCars"
],
"properties": {
"replicas": {
"type": "integer"
},
"updateStrategy": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"pattern": "^(RollingUpdate|OnDelete)$"
}
}
},
"budget": {
"type": "object",
"required": [
"maxUnavailable"
],
"properties": {
"maxUnavailable": {
"type": "integer"
}
}
},
"annotations": {
"type": "object"
},
"startupProbe": {
"type": "object",
"required": [
"initialDelaySeconds",
"failureThreshold",
"periodSeconds"
],
"properties": {
"initialDelaySeconds": {
"type": "integer"
},
"failureThreshold": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
}
}
},
"livenessProbe": {
"type": "object",
"required": [
"initialDelaySeconds",
"failureThreshold",
"periodSeconds"
],
"properties": {
"initialDelaySeconds": {
"type": "integer"
},
"failureThreshold": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
}
}
},
"readinessProbe": {
"type": "object",
"required": [
"initialDelaySeconds",
"failureThreshold",
"periodSeconds"
],
"properties": {
"initialDelaySeconds": {
"type": "integer"
},
"failureThreshold": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
}
}
},
"podAffinity": {
"type": "object"
},
"podAntiAffinity": {
"type": "object",
"required": [
"topologyKey",
"type",
"weight"
],
"properties": {
"topologyKey": {
"type": "string"
},
"type": {
"type": "string",
"pattern": "^(hard|soft|custom)$"
},
"weight": {
"type": "integer"
},
"custom": {
"type": "object"
}
}
},
"nodeSelector": {
"type": "object"
},
"priorityClassName": {
"type": "string"
},
"tolerations": {
"type": "array"
},
"topologySpreadConstraints": {
"type": "array",
"minItems": 1,
"items": {
"properties": {
"maxSkew": {
"type": "integer"
},
"topologyKey": {
"type": "string"
},
"whenUnsatisfiable": {
"type": "string",
"pattern": "^(ScheduleAnyway|DoNotSchedule)$"
}
}
}
},
"securityContext": {
"type": "object",
"required": [
"fsGroup",
"runAsUser"
],
"properties": {
"fsGroup": {
"type": "integer"
},
"runAsUser": {
"type": "integer"
},
"fsGroupChangePolicy": {
"type": "string",
"pattern": "^(OnRootMismatch|Always)$"
}
}
},
"sideCars": {
"type": "object",
"properties": {
"configWatcher": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"resources": {
"type": "object"
},
"securityContext": {
"type": "object"
},
"extraVolumeMounts": {
"type": "string"
}
}
}
}
},
"initContainers": {
"type": "object",
"properties": {
"tuning": {
"type": "object",
"properties": {
"resources": {
"type": "object"
},
"extraVolumeMounts": {
"type": "string"
}
}
},
"setDataDirOwnership": {
"type": "object",
"properties": {
"resources": {
"type": "object"
},
"enabled": {
"type": "boolean"
},
"extraVolumeMounts": {
"type": "string"
}
}
},
"setTieredStorageCacheDirOwnership": {
"type": "object",
"properties": {
"resources": {
"type": "object"
},
"extraVolumeMounts": {
"type": "string"
}
}
},
"configurator": {
"type": "object",
"properties": {
"resources": {
"type": "object"
},
"extraVolumeMounts": {
"type": "string"
}
}
}
}
},
"extraInitContainers": {
"type": "object"
},
"additionalRedpandaCmdFlags": {
"type": "array"
},
"terminationGracePeriodSeconds": {
"type": "integer"
},
"extraVolumes": {
"type": "string"
},
"extraVolumeMounts": {
"type": "string"
}
}
},
"serviceAccount": {
"type": "object",
"required": [
"create",
"annotations",
"name"
],
"properties": {
"create": {
"type": "boolean"
},
"annotations": {
"type": "object"
},
"name": {
"type": "string"
}
}
},
"rbac": {
"type": "object",
"required": [
"enabled",
"annotations"
],
"properties": {
"enabled": {
"type": "boolean"
},
"annotations": {
"type": "object"
}
}
},
"tuning": {
"type": "object",
"properties": {
"tune_aio_events": {
"type": "boolean"
},
"tune_clocksource": {
"type": "boolean"
},
"tune_ballast_file": {
"type": "boolean"
},
"ballast_file_path": {
"type": "string"
},
"ballast_file_size": {
"type": "string"
},
"well_known_io": {
"type": "string"
}
}
},
"listeners": {
"type": "object",
"required": [
"admin",
"kafka",
"http",
"rpc",
"schemaRegistry"
],
"properties": {
"admin": {
"type": "object",
"required": [
"port",
"external",
"tls"
],
"properties": {
"port": {
"type": "integer"
},
"external": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[A-Za-z_][A-Za-z0-9_]*$": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"advertisedPorts": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
}
}
}
},
"tls": {
"type": "object",
"required": [
"cert",
"requireClientAuth"
],
"properties": {
"enabled": {
"type": "boolean"
},
"cert": {
"type": "string"
},
"requireClientAuth": {
"type": "boolean"
}
}
}
}
},
"kafka": {
"type": "object",
"required": [
"port",
"external",
"tls"
],
"properties": {
"port": {
"type": "integer"
},
"external": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[A-Za-z_][A-Za-z0-9_]*$": {
"type": "object",
"required": [
"port"
],
"properties": {
"enabled": {
"type": "boolean"
},
"port": {
"type": "integer"
},
"advertisedPorts": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "sasl|none|mtls_identity"
}
}
}
}
},
"tls": {
"type": "object",
"required": [
"cert",
"requireClientAuth"
],
"properties": {
"enabled": {
"type": "boolean"
},
"cert": {
"type": "string"
},
"requireClientAuth": {
"type": "boolean"
}
}
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "sasl|none|mtls_identity"
}
}
},
"http": {
"type": "object",
"required": [
"enabled",
"port",
"kafkaEndpoint",
"external",
"tls"
],
"properties": {
"enabled": {
"type": "boolean"
},
"port": {
"type": "integer"
},
"kafkaEndpoint": {
"type": "string",
"pattern": "^[A-Za-z_-][A-Za-z0-9_-]*$"
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "http_basic|none"
},
"external": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[A-Za-z_][A-Za-z0-9_]*$": {
"type": "object",
"required": [
"port"
],
"properties": {
"enabled": {
"type": "boolean"
},
"port": {
"type": "integer"
},
"advertisedPorts": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "http_basic|none"
}
}
}
}
},
"tls": {
"type": "object",
"required": [
"cert",
"requireClientAuth"
],
"properties": {
"enabled": {
"type": "boolean"
},
"cert": {
"type": "string"
},
"requireClientAuth": {
"type": "boolean"
}
}
}
}
},
"rpc": {
"type": "object",
"required": [
"port",
"tls"
],
"properties": {
"port": {
"type": "integer"
},
"tls": {
"type": "object",
"required": [
"cert",
"requireClientAuth"
],
"properties": {
"enabled": {
"type": "boolean"
},
"cert": {
"type": "string"
},
"requireClientAuth": {
"type": "boolean"
}
}
}
}
},
"schemaRegistry": {
"type": "object",
"required": [
"enabled",
"port",
"kafkaEndpoint",
"external",
"tls"
],
"properties": {
"enabled": {
"type": "boolean"
},
"port": {
"type": "integer"
},
"kafkaEndpoint": {
"type": "string",
"pattern": "^[A-Za-z_-][A-Za-z0-9_-]*$"
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "http_basic|none"
},
"external": {
"type": "object",
"minProperties": 1,
"patternProperties": {
"^[A-Za-z_][A-Za-z0-9_]*$": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"port": {
"type": "integer"
},
"advertisedPorts": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"authenticationMethod": {
"type": ["string", "null"],
"pattern": "http_basic|none"
}
}
}
}
},
"tls": {
"type": "object",
"required": [
"cert",
"requireClientAuth"
],
"properties": {
"enabled": {
"type": "boolean"
},
"cert": {
"type": "string"
},
"requireClientAuth": {
"type": "boolean"
}
}
}
}
}
}
},
"config": {
"type": "object",
"required": [
"cluster",
"tunable",
"node"
],
"properties": {
"cluster": {
"type": "object"
},
"tunable": {
"type": "object"
},
"node": {
"type": "object"
},
"rpk": {
"type": "object"
}
}
}
}
}