275 lines
10 KiB
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
|
|
}
|