1183 lines
47 KiB
JSON
1183 lines
47 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": ""
|
|
}
|
|
}
|
|
},
|
|
"nameOverride": {
|
|
"type": "string",
|
|
"description": "String to partially override common.names.fullname",
|
|
"default": ""
|
|
},
|
|
"fullnameOverride": {
|
|
"type": "string",
|
|
"description": "String to fully override common.names.fullname",
|
|
"default": ""
|
|
},
|
|
"kubeVersion": {
|
|
"type": "string",
|
|
"description": "Force target Kubernetes version (using Helm capabilities if not set)",
|
|
"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",
|
|
"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": "Cassandra image registry",
|
|
"default": "docker.io"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Cassandra image repository",
|
|
"default": "bitnami/cassandra"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Cassandra image tag (immutable tags are recommended)",
|
|
"default": "4.1.3-debian-11-r24"
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"description": "Cassandra image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
|
|
"default": ""
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "image pull policy",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"pullSecrets": {
|
|
"type": "array",
|
|
"description": "Cassandra image pull secrets",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"debug": {
|
|
"type": "boolean",
|
|
"description": "Enable image debug mode",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"dbUser": {
|
|
"type": "object",
|
|
"properties": {
|
|
"user": {
|
|
"type": "string",
|
|
"description": "Cassandra admin user",
|
|
"default": "cassandra"
|
|
},
|
|
"forcePassword": {
|
|
"type": "boolean",
|
|
"description": "Force the user to provide a non",
|
|
"default": false
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Password for `dbUser.user`. Randomly generated if empty",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Use an existing secret object for `dbUser.user` password (will ignore `dbUser.password`)",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"initDBConfigMap": {
|
|
"type": "string",
|
|
"description": "ConfigMap with cql scripts. Useful for creating a keyspace and pre-populating data",
|
|
"default": ""
|
|
},
|
|
"initDBSecret": {
|
|
"type": "string",
|
|
"description": "Secret with cql script (with sensitive data). Useful for creating a keyspace and pre-populating data",
|
|
"default": ""
|
|
},
|
|
"existingConfiguration": {
|
|
"type": "string",
|
|
"description": "ConfigMap with custom cassandra configuration files. This overrides any other Cassandra configuration set in the chart",
|
|
"default": ""
|
|
},
|
|
"cluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Cassandra cluster name",
|
|
"default": "cassandra"
|
|
},
|
|
"seedCount": {
|
|
"type": "number",
|
|
"description": "Number of seed nodes",
|
|
"default": 1
|
|
},
|
|
"numTokens": {
|
|
"type": "number",
|
|
"description": "Number of tokens for each node",
|
|
"default": 256
|
|
},
|
|
"datacenter": {
|
|
"type": "string",
|
|
"description": "Datacenter name",
|
|
"default": "dc1"
|
|
},
|
|
"rack": {
|
|
"type": "string",
|
|
"description": "Rack name",
|
|
"default": "rack1"
|
|
},
|
|
"endpointSnitch": {
|
|
"type": "string",
|
|
"description": "Endpoint Snitch",
|
|
"default": "SimpleSnitch"
|
|
},
|
|
"internodeEncryption": {
|
|
"type": "string",
|
|
"description": "DEPRECATED: use tls.internode and tls.client instead. Encryption values.",
|
|
"default": "none"
|
|
},
|
|
"clientEncryption": {
|
|
"type": "boolean",
|
|
"description": "Client Encryption",
|
|
"default": false
|
|
},
|
|
"extraSeeds": {
|
|
"type": "array",
|
|
"description": "For an external/second cassandra ring.",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"enableUDF": {
|
|
"type": "boolean",
|
|
"description": "Enable User defined functions",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"jvm": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extraOpts": {
|
|
"type": "string",
|
|
"description": "Set the value for Java Virtual Machine extra options",
|
|
"default": ""
|
|
},
|
|
"maxHeapSize": {
|
|
"type": "string",
|
|
"description": "Set Java Virtual Machine maximum heap size (MAX_HEAP_SIZE). Calculated automatically if `nil`",
|
|
"default": ""
|
|
},
|
|
"newHeapSize": {
|
|
"type": "string",
|
|
"description": "Set Java Virtual Machine new heap size (HEAP_NEWSIZE). Calculated automatically if `nil`",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"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 cassandra 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": ""
|
|
},
|
|
"replicaCount": {
|
|
"type": "number",
|
|
"description": "Number of Cassandra replicas",
|
|
"default": 1
|
|
},
|
|
"updateStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "updateStrategy for Cassandra statefulset",
|
|
"default": "RollingUpdate"
|
|
}
|
|
}
|
|
},
|
|
"hostAliases": {
|
|
"type": "array",
|
|
"description": "Add deployment host aliases",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"podManagementPolicy": {
|
|
"type": "string",
|
|
"description": "StatefulSet pod management policy",
|
|
"default": "OrderedReady"
|
|
},
|
|
"priorityClassName": {
|
|
"type": "string",
|
|
"description": "Cassandra pods' priority.",
|
|
"default": ""
|
|
},
|
|
"podAnnotations": {
|
|
"type": "object",
|
|
"description": "Additional pod annotations",
|
|
"default": {}
|
|
},
|
|
"podLabels": {
|
|
"type": "object",
|
|
"description": "Additional pod labels",
|
|
"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": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Topology Spread Constraints for pod assignment",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"podSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enabled Cassandra pods' Security Context",
|
|
"default": true
|
|
},
|
|
"fsGroup": {
|
|
"type": "number",
|
|
"description": "Set Cassandra pod's Security Context fsGroup",
|
|
"default": 1001
|
|
}
|
|
}
|
|
},
|
|
"containerSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enabled Cassandra containers' Security Context",
|
|
"default": true
|
|
},
|
|
"runAsUser": {
|
|
"type": "number",
|
|
"description": "Set Cassandra container's Security Context runAsUser",
|
|
"default": 1001
|
|
},
|
|
"runAsNonRoot": {
|
|
"type": "boolean",
|
|
"description": "Force the container to be run as non root",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limits": {
|
|
"type": "object",
|
|
"description": "The resources limits for Cassandra containers",
|
|
"default": {}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"description": "The requested resources for Cassandra containers",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"livenessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable livenessProbe",
|
|
"default": true
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for livenessProbe",
|
|
"default": 60
|
|
},
|
|
"periodSeconds": {
|
|
"type": "number",
|
|
"description": "Period seconds for livenessProbe",
|
|
"default": 30
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "number",
|
|
"description": "Timeout seconds for livenessProbe",
|
|
"default": 30
|
|
},
|
|
"failureThreshold": {
|
|
"type": "number",
|
|
"description": "Failure threshold for livenessProbe",
|
|
"default": 5
|
|
},
|
|
"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": 60
|
|
},
|
|
"periodSeconds": {
|
|
"type": "number",
|
|
"description": "Period seconds for readinessProbe",
|
|
"default": 10
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "number",
|
|
"description": "Timeout seconds for readinessProbe",
|
|
"default": 30
|
|
},
|
|
"failureThreshold": {
|
|
"type": "number",
|
|
"description": "Failure threshold for readinessProbe",
|
|
"default": 5
|
|
},
|
|
"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": "Custom livenessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"customReadinessProbe": {
|
|
"type": "object",
|
|
"description": "Custom readinessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"schedulerName": {
|
|
"type": "string",
|
|
"description": "Alternative scheduler",
|
|
"default": ""
|
|
},
|
|
"terminationGracePeriodSeconds": {
|
|
"type": "string",
|
|
"description": "In seconds, time the given to the Cassandra pod needs to terminate gracefully",
|
|
"default": ""
|
|
},
|
|
"extraVolumes": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumes for cassandra container",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraVolumeMounts": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumeMounts for cassandra container",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"initContainers": {
|
|
"type": "array",
|
|
"description": "Add additional init containers to the cassandra pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"sidecars": {
|
|
"type": "array",
|
|
"description": "Add additional sidecar containers to the cassandra pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"pdb": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "Enable/disable a Pod Disruption Budget creation",
|
|
"default": false
|
|
},
|
|
"minAvailable": {
|
|
"type": "number",
|
|
"description": "Mininimum 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": ""
|
|
}
|
|
}
|
|
},
|
|
"hostNetwork": {
|
|
"type": "boolean",
|
|
"description": "Enable HOST Network",
|
|
"default": false
|
|
},
|
|
"containerPorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"intra": {
|
|
"type": "number",
|
|
"description": "Intra Port on the Host and Container",
|
|
"default": 7000
|
|
},
|
|
"tls": {
|
|
"type": "number",
|
|
"description": "TLS Port on the Host and Container",
|
|
"default": 7001
|
|
},
|
|
"jmx": {
|
|
"type": "number",
|
|
"description": "JMX Port on the Host and Container",
|
|
"default": 7199
|
|
},
|
|
"cql": {
|
|
"type": "number",
|
|
"description": "CQL Port on the Host and Container",
|
|
"default": 9042
|
|
}
|
|
}
|
|
},
|
|
"hostPorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"intra": {
|
|
"type": "string",
|
|
"description": "Intra Port on the Host",
|
|
"default": ""
|
|
},
|
|
"tls": {
|
|
"type": "string",
|
|
"description": "TLS Port on the Host",
|
|
"default": ""
|
|
},
|
|
"jmx": {
|
|
"type": "string",
|
|
"description": "JMX Port on the Host",
|
|
"default": ""
|
|
},
|
|
"cql": {
|
|
"type": "string",
|
|
"description": "CQL Port on the Host",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "Enable the creation of a ServiceAccount for Cassandra pods",
|
|
"default": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the ServiceAccount to use.",
|
|
"default": ""
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"description": "Annotations for Cassandra Service Account",
|
|
"default": {}
|
|
},
|
|
"automountServiceAccountToken": {
|
|
"type": "boolean",
|
|
"description": "Automount API credentials for a service account.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Cassandra service type",
|
|
"default": "ClusterIP"
|
|
},
|
|
"ports": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cql": {
|
|
"type": "number",
|
|
"description": "Cassandra service CQL Port",
|
|
"default": 9042
|
|
},
|
|
"metrics": {
|
|
"type": "number",
|
|
"description": "Cassandra service metrics port",
|
|
"default": 8080
|
|
}
|
|
}
|
|
},
|
|
"nodePorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cql": {
|
|
"type": "string",
|
|
"description": "Node port for CQL",
|
|
"default": ""
|
|
},
|
|
"metrics": {
|
|
"type": "string",
|
|
"description": "Node port for metrics",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"extraPorts": {
|
|
"type": "array",
|
|
"description": "Extra ports to expose in the service (normally used with the `sidecar` value)",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"loadBalancerIP": {
|
|
"type": "string",
|
|
"description": "LoadBalancerIP if service type is `LoadBalancer`",
|
|
"default": ""
|
|
},
|
|
"loadBalancerSourceRanges": {
|
|
"type": "array",
|
|
"description": "Service Load Balancer sources",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"clusterIP": {
|
|
"type": "string",
|
|
"description": "Service Cluster IP",
|
|
"default": ""
|
|
},
|
|
"externalTrafficPolicy": {
|
|
"type": "string",
|
|
"description": "Service external traffic policy",
|
|
"default": "Cluster"
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"description": "Provide any additional annotations which may be required.",
|
|
"default": {}
|
|
},
|
|
"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": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Specifies whether a NetworkPolicy should be created",
|
|
"default": false
|
|
},
|
|
"allowExternal": {
|
|
"type": "boolean",
|
|
"description": "Don't require client label for connections",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"persistence": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable Cassandra data persistence using PVC, use a Persistent Volume Claim, If false, use emptyDir",
|
|
"default": true
|
|
},
|
|
"existingClaim": {
|
|
"type": "string",
|
|
"description": "Name of an existing PVC to use",
|
|
"default": ""
|
|
},
|
|
"storageClass": {
|
|
"type": "string",
|
|
"description": "PVC Storage Class for Cassandra data volume",
|
|
"default": ""
|
|
},
|
|
"commitStorageClass": {
|
|
"type": "string",
|
|
"description": "PVC Storage Class for Cassandra Commit Log volume",
|
|
"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 Cassandra data volume",
|
|
"default": "8Gi"
|
|
},
|
|
"commitLogsize": {
|
|
"type": "string",
|
|
"description": "PVC Storage Request for Cassandra commit log volume. Unset by default",
|
|
"default": "2Gi"
|
|
},
|
|
"mountPath": {
|
|
"type": "string",
|
|
"description": "The path the data volume will be mounted at",
|
|
"default": "/bitnami/cassandra"
|
|
},
|
|
"commitLogMountPath": {
|
|
"type": "string",
|
|
"description": "The path the commit log volume will be mounted at. Unset by default. Set it to '/bitnami/cassandra/commitlog' to enable a separate commit log volume",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"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": "Init container volume image registry",
|
|
"default": "docker.io"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Init container volume image repository",
|
|
"default": "bitnami/os-shell"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Init container volume image tag (immutable tags are recommended)",
|
|
"default": "11-debian-11-r40"
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"description": "Init container volume image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
|
|
"default": ""
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "Init container volume pull policy",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"pullSecrets": {
|
|
"type": "array",
|
|
"description": "Specify docker-registry secret names as an array",
|
|
"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": {}
|
|
}
|
|
}
|
|
},
|
|
"securityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runAsUser": {
|
|
"type": "number",
|
|
"description": "User ID for the init container",
|
|
"default": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"metrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Start a side-car prometheus exporter",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"properties": {
|
|
"registry": {
|
|
"type": "string",
|
|
"description": "Cassandra exporter image registry",
|
|
"default": "docker.io"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Cassandra exporter image name",
|
|
"default": "bitnami/cassandra-exporter"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Cassandra exporter image tag",
|
|
"default": "2.3.8-debian-11-r383"
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"description": "Cassandra exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
|
|
"default": ""
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "image pull policy",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"pullSecrets": {
|
|
"type": "array",
|
|
"description": "Specify docker-registry secret names as an array",
|
|
"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": {}
|
|
}
|
|
}
|
|
},
|
|
"readinessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for readinessProbe",
|
|
"default": 20
|
|
},
|
|
"periodSeconds": {
|
|
"type": "number",
|
|
"description": "Period seconds for readinessProbe",
|
|
"default": 10
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "number",
|
|
"description": "Timeout seconds for readinessProbe",
|
|
"default": 45
|
|
},
|
|
"failureThreshold": {
|
|
"type": "number",
|
|
"description": "Failure threshold for readinessProbe",
|
|
"default": 3
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Success threshold for readinessProbe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"extraVolumeMounts": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumeMounts for cassandra-exporter container",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"podAnnotations": {
|
|
"type": "object",
|
|
"properties": {
|
|
"prometheus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"io/scrape": {
|
|
"type": "string",
|
|
"description": "",
|
|
"default": "true"
|
|
},
|
|
"io/port": {
|
|
"type": "string",
|
|
"description": "",
|
|
"default": "8080"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"serviceMonitor": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`)",
|
|
"default": false
|
|
},
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "Namespace in which Prometheus is running",
|
|
"default": "monitoring"
|
|
},
|
|
"interval": {
|
|
"type": "string",
|
|
"description": "Interval at which metrics should be scraped.",
|
|
"default": ""
|
|
},
|
|
"scrapeTimeout": {
|
|
"type": "string",
|
|
"description": "Timeout after which the scrape is ended",
|
|
"default": ""
|
|
},
|
|
"selector": {
|
|
"type": "object",
|
|
"description": "Prometheus instance selector labels",
|
|
"default": {}
|
|
},
|
|
"metricRelabelings": {
|
|
"type": "array",
|
|
"description": "Specify Metric 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": ""
|
|
},
|
|
"labels": {
|
|
"type": "object",
|
|
"description": "Used to pass Labels that are required by the installed Prometheus Operator",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"containerPorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "number",
|
|
"description": "HTTP Port on the Host and Container",
|
|
"default": 8080
|
|
},
|
|
"jmx": {
|
|
"type": "number",
|
|
"description": "JMX Port on the Host and Container",
|
|
"default": 5555
|
|
}
|
|
}
|
|
},
|
|
"hostPorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "string",
|
|
"description": "HTTP Port on the Host",
|
|
"default": ""
|
|
},
|
|
"jmx": {
|
|
"type": "string",
|
|
"description": "JMX Port on the Host",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"configuration": {
|
|
"type": "string",
|
|
"description": "Configure Cassandra-exporter with a custom config.yml file",
|
|
"default": "host: localhost:{{ .Values.containerPorts.jmx }}\nssl: False\nuser:\npassword:\nlistenPort: {{ .Values.metrics.containerPorts.http }}\nblacklist:\n # To profile the duration of jmx call you can start the program with the following options\n # > java -Dorg.slf4j.simpleLogger.defaultLogLevel=trace -jar cassandra_exporter.jar config.yml --oneshot\n #\n # To get intuition of what is done by cassandra when something is called you can look in cassandra\n # https://github.com/apache/cassandra/tree/trunk/src/java/org/apache/cassandra/metrics\n # Please avoid to scrape frequently those calls that are iterating over all sstables\n\n # Unaccessible metrics (not enough privilege)\n - java:lang:memorypool:.*usagethreshold.*\n\n # Leaf attributes not interesting for us but that are presents in many path\n - .*:999thpercentile\n - .*:95thpercentile\n - .*:fifteenminuterate\n - .*:fiveminuterate\n - .*:durationunit\n - .*:rateunit\n - .*:stddev\n - .*:meanrate\n - .*:mean\n - .*:min\n\n # Path present in many metrics but uninterresting\n - .*:viewlockacquiretime:.*\n - .*:viewreadtime:.*\n - .*:cas[a-z]+latency:.*\n - .*:colupdatetimedeltahistogram:.*\n\n # Mostly for RPC, do not scrap them\n - org:apache:cassandra:db:.*\n\n # columnfamily is an alias for Table metrics\n # https://github.com/apache/cassandra/blob/8b3a60b9a7dbefeecc06bace617279612ec7092d/src/java/org/apache/cassandra/metrics/TableMetrics.java#L162\n - org:apache:cassandra:metrics:columnfamily:.*\n\n # Should we export metrics for system keyspaces/tables ?\n - org:apache:cassandra:metrics:[^:]+:system[^:]*:.*\n\n # Don't scrap us\n - com:criteo:nosql:cassandra:exporter:.*\n\nmaxScrapFrequencyInSec:\n 50:\n - .*\n\n # Refresh those metrics only every hour as it is costly for cassandra to retrieve them\n 3600:\n - .*:snapshotssize:.*\n - .*:estimated.*\n - .*:totaldiskspaceused:.*\n"
|
|
}
|
|
}
|
|
},
|
|
"tls": {
|
|
"type": "object",
|
|
"properties": {
|
|
"internodeEncryption": {
|
|
"type": "string",
|
|
"description": "Set internode encryption",
|
|
"default": "none"
|
|
},
|
|
"clientEncryption": {
|
|
"type": "boolean",
|
|
"description": "Set client-server encryption",
|
|
"default": false
|
|
},
|
|
"autoGenerated": {
|
|
"type": "boolean",
|
|
"description": "Generate automatically self-signed TLS certificates. Currently only supports PEM certificates",
|
|
"default": false
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Existing secret that contains Cassandra Keystore and truststore",
|
|
"default": ""
|
|
},
|
|
"passwordsSecret": {
|
|
"type": "string",
|
|
"description": "Secret containing the Keystore and Truststore passwords if needed",
|
|
"default": ""
|
|
},
|
|
"keystorePassword": {
|
|
"type": "string",
|
|
"description": "Password for the keystore, if needed.",
|
|
"default": ""
|
|
},
|
|
"truststorePassword": {
|
|
"type": "string",
|
|
"description": "Password for the truststore, if needed.",
|
|
"default": ""
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limits": {
|
|
"type": "object",
|
|
"description": "The resources limits for the TLS init container",
|
|
"default": {}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"description": "The requested resources for the TLS init container",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"certificatesSecret": {
|
|
"type": "string",
|
|
"description": "Secret with the TLS certificates.",
|
|
"default": ""
|
|
},
|
|
"tlsEncryptionSecretName": {
|
|
"type": "string",
|
|
"description": "Secret with the encryption of the TLS certificates",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |