rancher-partner-charts/charts/hpe/hpe-csi-driver/values.schema.json

275 lines
10 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"title": "HPE CSI Driver for Kubernetes Helm Chart JSON Schema",
"type": "object",
"default":
{
"disable": {
"nimble": false,
"primera": false,
"alletra6000": false,
"alletra9000": false
},
"disableNodeConformance": false,
"imagePullPolicy": "IfNotPresent",
"iscsi": {
"chapUser": "",
"chapPassword": ""
},
"logLevel": "info",
"registry": "quay.io",
"kubeletRootDir": "/var/lib/kubelet/",
"disableNodeGetVolumeStats": false,
"csp": {
"nodeSelector": {},
"tolerations": [],
"affinity": {},
"labels": {}
},
"controller": {
"nodeSelector": {},
"tolerations": [],
"affinity": {},
"labels": {}
},
"node": {
"nodeSelector": {},
"tolerations": [],
"affinity": {},
"labels": {}
}
},
"required": [
"disable",
"disableNodeConformance",
"imagePullPolicy",
"iscsi",
"logLevel",
"registry",
"kubeletRootDir",
"disableNodeGetVolumeStats",
"csp",
"controller",
"node"
],
"properties": {
"disable": {
"$id": "#/properties/disable",
"title": "CSP Deployment and Service backend exclusion",
"description": "All backend Deployments and Services are installed by default.",
"type": "object",
"default":
{
"nimble": false,
"primera": false,
"alletra6000": false,
"alletra9000": false
},
"required": [
"nimble",
"primera",
"alletra6000",
"alletra9000"
],
"properties": {
"nimble": {
"$id": "#/properties/disable/properties/nimble",
"title": "HPE Nimble Storage",
"type": "boolean",
"default": false
},
"primera": {
"$id": "#/properties/disable/properties/primera",
"title": "HPE Primera",
"type": "boolean",
"default": false
},
"alletra6000": {
"$id": "#/properties/disable/properties/alletra6000",
"title": "HPE Alletra 6000",
"type": "boolean",
"default": false
},
"alletra9000": {
"$id": "#/properties/disable/properties/alletra9000",
"title": "HPE Alletra 9000",
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"disableNodeConformance": {
"$id": "#/properties/disableNodeConformance",
"title": "Disable node conformance",
"description": "Disabling node conformance forces the cluster administrator to install required packages and ensure the correct node services are started to use external block storage.",
"type": "boolean",
"default": false
},
"imagePullPolicy": {
"$id": "#/properties/imagePullPolicy",
"title": "CSI driver image pull policy",
"type": "string",
"default": "IfNotPresent",
"enum": [ "Always", "IfNotPresent", "Never" ]
},
"iscsi": {
"$id": "#/properties/iscsi",
"title": "iSCSI CHAP credentials",
"type": "object",
"default":
{
"chapUser": "",
"chapPassword": ""
},
"required": [
"chapUser",
"chapPassword"
],
"properties": {
"chapUser": {
"$id": "#/properties/iscsi/properties/chapUser",
"title": "CHAP username",
"type": "string",
"default": ""
},
"chapPassword": {
"$id": "#/properties/iscsi/properties/chapPassword",
"title": "CHAP password",
"description": "Between 12 and 16 characters",
"type": "string",
"default": "",
"pattern": "^$|^[a-zA-Z0-9+_)(*^%$#@!]{12,16}$"
}
},
"additionalProperties": false
},
"logLevel": {
"$id": "#/properties/logLevel",
"title": "Set the log level of the HPE CSI Driver images",
"type": "string",
"default": "info",
"enum": [ "info", "debug", "trace", "warn", "error" ]
},
"registry": {
"$id": "#/properties/registry",
"title": "Pull images from a different registry than default",
"description": "SIG Storage images needs to be mirrored from k8s.gcr.io to this registry if this parameter is changed.",
"type": "string",
"default": "quay.io"
},
"kubeletRootDir": {
"$id": "#/properties/kubeletRootDir",
"title": "Kubelet root directory",
"description": "Only change this if the kubelet root dir has been altered by the Kubernetes platform installer.",
"type": "string",
"default": "/var/lib/kubelet",
"pattern": "^/"
},
"disableNodeGetVolumeStats": {
"$id": "#/properties/disableNodeGetVolumeStats",
"title": "Disable the CSI nodeGetVolumeStats call",
"description": "In very large environments, disabling this feature may alleviate pressure on the CSP.",
"type": "boolean",
"default": false
},
"csp": {
"nodeSelector": {
"$id": "#/properties/csp/properties/nodeSelector",
"title": "Node selector to control the selection of nodes (optional).",
"description": "Selector which must match a node's labels for the pod to be scheduled on that node.",
"type": "object",
"default": {}
},
"tolerations": {
"$id": "#/properties/csp/properties/tolerations",
"title": "Set tolerations for the csp pods(optional).",
"description": "Tolerations is the list of tolerations for the csp pods.",
"type": "array",
"default": []
},
"affinity": {
"$id": "#/properties/csp/properties/affinity",
"title": "Node affinity for csp plugin (optional).",
"description": "Describes node affinity scheduling rules for the pod.",
"type": "object",
"default": {}
},
"labels": {
"$id": "#/properties/csp/properties/labels",
"title": "labels",
"description": "labels.",
"type": "object",
"default": {}
}
},
"controller": {
"nodeSelector": {
"$id": "#/properties/controller/properties/nodeSelector",
"title": "Node selector to control the selection of nodes (optional).",
"description": "Selector which must match a node's labels for the pod to be scheduled on that node.",
"type": "object",
"default": {}
},
"tolerations": {
"$id": "#/properties/controller/properties/tolerations",
"title": "Set tolerations for the driver pods(optional)",
"description": "Tolerations is the list of tolerations for the driver pods.",
"type": "array",
"default": []
},
"affinity": {
"$id": "#/properties/controller/properties/affinity",
"title": "Node affinity for controller plugin (optional).",
"description": "Describes node affinity scheduling rules for the pod.",
"type": "object",
"default": {}
},
"labels": {
"$id": "#/properties/controller/properties/labels",
"title": "labels",
"description": "labels.",
"type": "object",
"default": {}
}
},
"node": {
"nodeSelector": {
"$id": "#/properties/node/properties/nodeSelector",
"title": "Node selector to control the selection of nodes (optional).",
"description": "Selector which must match a node's labels for the pod to be scheduled on that node.",
"type": "object",
"default": {}
},
"tolerations": {
"$id": "#/properties/node/properties/tolerations",
"title": "Set tolerations for the node pods(optional).",
"description": "Tolerations is the list of tolerations for the node pods.",
"type": "array",
"default": []
},
"affinity": {
"$id": "#/properties/node/properties/affinity",
"title": "Node affinity for node plugin (optional).",
"description": "Describes node affinity scheduling rules for the pod.",
"type": "object",
"default": {}
},
"labels": {
"$id": "#/properties/node/properties/labels",
"title": "labels",
"description": "labels.",
"type": "object",
"default": {}
}
},
"global": {}
},
"additionalProperties": false
}