Skip to content

Instantly share code, notes, and snippets.

@girishramnani
Created May 26, 2021 13:27
Show Gist options
  • Save girishramnani/0d56b28108594657a25a002993840872 to your computer and use it in GitHub Desktop.
Save girishramnani/0d56b28108594657a25a002993840872 to your computer and use it in GitHub Desktop.
"zookeeper": {
"description": "Configuration of the ZooKeeper cluster.",
"type": "object",
"required": [
"replicas",
"storage"
],
"properties": {
"config": {
"description": "The ZooKeeper broker config. Properties with the following prefixes cannot be set: server., dataDir, dataLogDir, clientPort, authProvider, quorum.auth, requireClientAuthScheme, snapshot.trust.empty, standaloneEnabled, reconfigEnabled, 4lw.commands.whitelist, secureClientPort, ssl., serverCnxnFactory, sslQuorum (with the exception of: ssl.protocol, ssl.quorum.protocol, ssl.enabledProtocols, ssl.quorum.enabledProtocols, ssl.ciphersuites, ssl.quorum.ciphersuites, ssl.hostnameVerification, ssl.quorum.hostnameVerification).",
"x-kubernetes-preserve-unknown-fields": true
},
"image": {
"description": "The docker image for the pods.",
"type": "string"
},
"jvmOptions": {
"description": "JVM Options for pods.",
"type": "object",
"properties": {
"-XX": {
"description": "A map of -XX options to the JVM.",
"x-kubernetes-preserve-unknown-fields": true
},
"-Xms": {
"description": "-Xms option to to the JVM.",
"type": "string",
"pattern": "[0-9]+[mMgG]?"
},
"-Xmx": {
"description": "-Xmx option to to the JVM.",
"type": "string",
"pattern": "[0-9]+[mMgG]?"
},
"gcLoggingEnabled": {
"description": "Specifies whether the Garbage Collection logging is enabled. The default is false.",
"type": "boolean"
},
"javaSystemProperties": {
"description": "A map of additional system properties which will be passed using the `-D` option to the JVM.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "The system property name.",
"type": "string"
},
"value": {
"description": "The system property value.",
"type": "string"
}
}
}
}
}
},
"livenessProbe": {
"description": "Pod liveness checking.",
"type": "object",
"properties": {
"failureThreshold": {
"description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"initialDelaySeconds": {
"description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
"type": "integer",
"minimum": 0
},
"periodSeconds": {
"description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"successThreshold": {
"description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"timeoutSeconds": {
"description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
"type": "integer",
"minimum": 1
}
}
},
"logging": {
"description": "Logging configuration for ZooKeeper.",
"type": "object",
"required": [
"type"
],
"properties": {
"loggers": {
"description": "A Map from logger name to logger level.",
"x-kubernetes-preserve-unknown-fields": true
},
"type": {
"description": "Logging type, must be either 'inline' or 'external'.",
"type": "string",
"enum": [
"inline",
"external"
]
},
"valueFrom": {
"description": "`ConfigMap` entry where the logging configuration is stored. ",
"type": "object",
"properties": {
"configMapKeyRef": {
"description": "Reference to the key in the ConfigMap containing the configuration.",
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"optional": {
"type": "boolean"
}
}
}
}
}
}
},
"metricsConfig": {
"description": "Metrics configuration.",
"type": "object",
"required": [
"type",
"valueFrom"
],
"properties": {
"type": {
"description": "Metrics type. Only 'jmxPrometheusExporter' supported currently.",
"type": "string",
"enum": [
"jmxPrometheusExporter"
]
},
"valueFrom": {
"description": "ConfigMap entry where the Prometheus JMX Exporter configuration is stored. For details of the structure of this configuration, see the {JMXExporter}.",
"type": "object",
"properties": {
"configMapKeyRef": {
"description": "Reference to the key in the ConfigMap containing the configuration.",
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"optional": {
"type": "boolean"
}
}
}
}
}
}
},
"readinessProbe": {
"description": "Pod readiness checking.",
"type": "object",
"properties": {
"failureThreshold": {
"description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"initialDelaySeconds": {
"description": "The initial delay before first the health is first checked. Default to 15 seconds. Minimum value is 0.",
"type": "integer",
"minimum": 0
},
"periodSeconds": {
"description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"successThreshold": {
"description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.",
"type": "integer",
"minimum": 1
},
"timeoutSeconds": {
"description": "The timeout for each attempted health check. Default to 5 seconds. Minimum value is 1.",
"type": "integer",
"minimum": 1
}
}
},
"replicas": {
"description": "The number of pods in the cluster.",
"type": "integer",
"minimum": 1
},
"resources": {
"description": "CPU and memory resources to reserve.",
"type": "object",
"properties": {
"limits": {
"x-kubernetes-preserve-unknown-fields": true
},
"requests": {
"x-kubernetes-preserve-unknown-fields": true
}
}
},
"storage": {
"description": "Storage configuration (disk). Cannot be updated.",
"type": "object",
"required": [
"type"
],
"properties": {
"class": {
"description": "The storage class to use for dynamic volume allocation.",
"type": "string"
},
"deleteClaim": {
"description": "Specifies if the persistent volume claim has to be deleted when the cluster is un-deployed.",
"type": "boolean"
},
"id": {
"description": "Storage identification number. It is mandatory only for storage volumes defined in a storage of type 'jbod'.",
"type": "integer",
"minimum": 0
},
"overrides": {
"description": "Overrides for individual brokers. The `overrides` field allows to specify a different configuration for different brokers.",
"type": "array",
"items": {
"type": "object",
"properties": {
"broker": {
"description": "Id of the kafka broker (broker identifier).",
"type": "integer"
},
"class": {
"description": "The storage class to use for dynamic volume allocation for this broker.",
"type": "string"
}
}
}
},
"selector": {
"description": "Specifies a specific persistent volume to use. It contains key:value pairs representing labels for selecting such a volume.",
"x-kubernetes-preserve-unknown-fields": true
},
"size": {
"description": "When type=persistent-claim, defines the size of the persistent volume claim (i.e 1Gi). Mandatory when type=persistent-claim.",
"type": "string"
},
"sizeLimit": {
"description": "When type=ephemeral, defines the total amount of local storage required for this EmptyDir volume (for example 1Gi).",
"type": "string",
"pattern": "^([0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
},
"type": {
"description": "Storage type, must be either 'ephemeral' or 'persistent-claim'.",
"type": "string",
"enum": [
"ephemeral",
"persistent-claim"
]
}
}
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment