Last active
February 6, 2025 07:51
-
-
Save kcemenike-sb/1939bc036d201b21c2f1afc48934e4fd to your computer and use it in GitHub Desktop.
csi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$defs": { | |
"extraVolumeTags": { | |
"patternProperties": { | |
"^.*$": { | |
"maxLength": 256, | |
"minLength": 0, | |
"pattern": "^[a-zA-Z0-9 _\\\\.:\\\\/=+\\\\-@]*$", | |
"type": "string" | |
} | |
}, | |
"propertyNames": { | |
"maxLength": 128, | |
"minLength": 1, | |
"pattern": "^[a-zA-Z0-9 _\\\\.:\\\\/=+\\\\-@]*$", | |
"type": "string" | |
}, | |
"type": "object" | |
} | |
}, | |
"$schema": "https://json-schema.org/draft/2019-09/schema", | |
"additionalProperties": false, | |
"description": "Configurable parameters of the AWS EBS CSI Driver", | |
"properties": { | |
"a1CompatibilityDaemonSet": { | |
"default": false, | |
"description": "Enable compatibility for the A1 instance family via use of an AL2-based image in a separate DaemonSet", | |
"type": "boolean" | |
}, | |
"additionalDaemonSets": { | |
"default": {}, | |
"description": "Additional DaemonSets of the node pod", | |
"patternProperties": { | |
"^.*$": { | |
"$ref": "#/properties/node", | |
"type": "object" | |
} | |
}, | |
"type": "object" | |
}, | |
"controller": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the controller pod", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"affinity": { | |
"default": { | |
"affinity": { | |
"nodeAffinity": { | |
"preferredDuringSchedulingIgnoredDuringExecution": [ | |
{ | |
"preference": { | |
"matchExpressions": [ | |
{ | |
"key": "eks.amazonaws.com/compute-type", | |
"operator": "NotIn", | |
"values": [ | |
"fargate" | |
] | |
} | |
] | |
}, | |
"weight": 1 | |
} | |
] | |
}, | |
"podAntiAffinity": { | |
"preferredDuringSchedulingIgnoredDuringExecution": [ | |
{ | |
"podAffinityTerm": { | |
"labelSelector": { | |
"matchExpressions": [ | |
{ | |
"key": "app", | |
"operator": "In", | |
"values": [ | |
"ebs-csi-controller" | |
] | |
} | |
] | |
}, | |
"topologyKey": "kubernetes.io/hostname" | |
}, | |
"weight": 100 | |
} | |
] | |
} | |
} | |
}, | |
"description": "Affinity of the controller pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"batching": { | |
"default": true, | |
"description": "Enable batching of API calls. Improves performance in workloads that are sensitive to EC2 rate limits.", | |
"type": "boolean" | |
}, | |
"dnsConfig": { | |
"default": null, | |
"description": "DNS configuration for the controller pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"enableMetrics": { | |
"default": false, | |
"description": "Enable metrics collection for the controller pod", | |
"type": "boolean" | |
}, | |
"extraVolumeTags": { | |
"$ref": "#/$defs/extraVolumeTags", | |
"default": {}, | |
"description": "Additional tags to be added to all EBS volumes" | |
}, | |
"loggingFormat": { | |
"default": "text", | |
"description": "Log format for the driver container on the controller pod", | |
"enum": [ | |
"text", | |
"json" | |
], | |
"type": "string" | |
}, | |
"nodeSelector": { | |
"default": null, | |
"description": "Node selector of the controller pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"podAnnotations": { | |
"default": null, | |
"description": "Annotations applied to the controller pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"podDisruptionBudget": { | |
"additionalProperties": false, | |
"properties": { | |
"enabled": { | |
"default": true, | |
"description": "Enables/Disables the EBS CSI Controller Pod's PodDisruptionBudget which ensures that at least 1 controller Pod is always able to Attach/Detach/Create/Delete volumes. Warning: Disabling PodDisruptionBudget may lead to delays in stateful workloads starting due to controller pod restarts or evictions.", | |
"type": "boolean" | |
}, | |
"unhealthyPodEvictionPolicy": { | |
"default": null, | |
"description": "Unhealthy pod eviction policy for the EBS CSI Controller Pod's PodDisruptionBudget", | |
"type": [ | |
"object", | |
"null" | |
] | |
} | |
}, | |
"type": "object" | |
}, | |
"priorityClassName": { | |
"default": "system-cluster-critical", | |
"description": "Priority class for the controller Deployment", | |
"type": "string" | |
}, | |
"replicaCount": { | |
"default": 2, | |
"description": "Number of replicas in the controller Deployment", | |
"minimum": 1, | |
"type": "integer" | |
}, | |
"resources": { | |
"default": { | |
"limits": { | |
"memory": "256Mi" | |
}, | |
"requests": { | |
"cpu": "10m", | |
"memory": "40Mi" | |
} | |
}, | |
"description": "Resource requests/limits of the controller pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"sdkDebugLog": { | |
"default": false, | |
"description": "Enables debug logging of the AWS SDK via --aws-sdk-debug-log=true", | |
"type": "boolean" | |
}, | |
"serviceAccount": { | |
"additionalProperties": false, | |
"properties": { | |
"annotations": { | |
"default": null, | |
"description": "Additional annotations added to the ebs-csi-controller-sa service account", | |
"type": [ | |
"object", | |
"null" | |
] | |
} | |
}, | |
"type": "object" | |
}, | |
"tolerations": { | |
"default": [ | |
{ | |
"key": "CriticalAddonsOnly", | |
"operator": "Exists" | |
}, | |
{ | |
"effect": "NoExecute", | |
"operator": "Exists", | |
"tolerationSeconds": 300 | |
} | |
], | |
"description": "Tolerations of the controller pod", | |
"items": { | |
"type": "object" | |
}, | |
"type": "array" | |
}, | |
"topologySpreadConstraints": { | |
"default": [], | |
"description": "Topology spread constraints for the controller pod", | |
"items": { | |
"type": "object" | |
}, | |
"type": "array" | |
}, | |
"volumeModificationFeature": { | |
"additionalProperties": false, | |
"properties": { | |
"enabled": { | |
"default": false, | |
"description": "Enable modification of volume type, iops, etc via volume-modifier-for-k8s sidecar", | |
"type": "boolean" | |
} | |
}, | |
"type": "object" | |
} | |
}, | |
"type": "object" | |
}, | |
"customLabels": { | |
"default": null, | |
"description": "Custom labels added to Kubernetes objects", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"defaultStorageClass": { | |
"additionalProperties": false, | |
"properties": { | |
"enabled": { | |
"default": false, | |
"description": "Creates a default StorageClass.", | |
"type": "boolean" | |
} | |
}, | |
"type": "object" | |
}, | |
"fips": { | |
"default": "false", | |
"description": "Instruct the AWS SDK to use AWS FIPS endpoints, and deploy container built with BoringCrypto (a FIPS-validated cryptographic library) instead of the Go default. The EBS CSI Driver FIPS images have not undergone FIPS certification, and no official guarantee is made about the compliance of these images under the FIPS standard. Users relying on these images for FIPS compliance should perform their own independent evaluation", | |
"type": "boolean" | |
}, | |
"node": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the node pod", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"affinity": { | |
"default": { | |
"nodeAffinity": { | |
"requiredDuringSchedulingIgnoredDuringExecution": { | |
"nodeSelectorTerms": [ | |
{ | |
"matchExpressions": [ | |
{ | |
"key": "eks.amazonaws.com/compute-type", | |
"operator": "NotIn", | |
"values": [ | |
"fargate" | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"description": "Affinity of the node pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"enableLinux": { | |
"default": true, | |
"description": "Enable the node Linux DaemonSet", | |
"type": "boolean" | |
}, | |
"enableMetrics": { | |
"default": false, | |
"description": "Enable metrics collection for the node pods", | |
"type": "boolean" | |
}, | |
"enableWindows": { | |
"default": true, | |
"description": "Enable the node Windows DaemonSet", | |
"type": "boolean" | |
}, | |
"hostNetwork": { | |
"default": false, | |
"description": "Run node pods on the host network", | |
"type": "boolean" | |
}, | |
"kubeletPath": { | |
"default": "/var/lib/kubelet", | |
"description": "Kubelet path of the node", | |
"type": "string" | |
}, | |
"legacyXFS": { | |
"default": "false", | |
"description": "Warning: This option will be removed in a future release. It is a temporary workaround for users unable to immediately migrate off of older kernel versions. Formats XFS volumes with bigtime=0,inobtcount=0,reflink=0, for mounting onto nodes with linux kernel version \\u003c= 5.4. Note that XFS volumes formatted with this option will only have timestamp records until 2038", | |
"type": "boolean" | |
}, | |
"loggingFormat": { | |
"default": "text", | |
"description": "Log format for the driver container on the node pod", | |
"enum": [ | |
"text", | |
"json" | |
], | |
"type": "string" | |
}, | |
"nodeSelector": { | |
"default": null, | |
"description": "Node selector of the node pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"podAnnotations": { | |
"default": null, | |
"description": "Annotations applied to the node pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"priorityClassName": { | |
"default": "system-node-critical", | |
"description": "Priority class for the Node Daemonset", | |
"type": "string" | |
}, | |
"reservedVolumeAttachments": { | |
"default": null, | |
"description": "The number of attachment slots to reserve for system use (and not to be used for CSI volumes)\\nWhen this parameter is not specified (or set to -1), the EBS CSI Driver will attempt to determine the number of reserved slots via heuristic", | |
"minimum": -1, | |
"type": [ | |
"integer", | |
"null" | |
] | |
}, | |
"resources": { | |
"default": { | |
"limits": { | |
"memory": "256Mi" | |
}, | |
"requests": { | |
"cpu": "10m", | |
"memory": "40Mi" | |
} | |
}, | |
"description": "Resource requests/limits of the node pod", | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"selinux": { | |
"default": false, | |
"description": "Enable SELinux-only optimizations on the EBS CSI Driver node pods. Must only be set true if all linux nodes in the DaemonSet have SELinux enabled", | |
"type": "boolean" | |
}, | |
"serviceAccount": { | |
"additionalProperties": false, | |
"properties": { | |
"annotations": { | |
"default": null, | |
"description": "Additional annotations added to the ebs-csi-node-sa service account", | |
"type": [ | |
"object", | |
"null" | |
] | |
} | |
}, | |
"type": "object" | |
}, | |
"terminationGracePeriodSeconds": { | |
"default": 30, | |
"description": "Number of seconds to wait before forcefully terminating a stopping node pod", | |
"minimum": 0, | |
"type": "integer" | |
}, | |
"tolerateAllTaints": { | |
"default": true, | |
"description": "Node pods will tolerate all taints", | |
"type": "boolean" | |
}, | |
"tolerations": { | |
"default": [ | |
{ | |
"effect": "NoExecute", | |
"operator": "Exists", | |
"tolerationSeconds": 300 | |
} | |
], | |
"description": "Tolerations of the node pod", | |
"items": { | |
"type": "object" | |
}, | |
"type": "array" | |
}, | |
"volumeAttachLimit": { | |
"default": null, | |
"description": "Overrides the maximum number of volumes that can be attached per node (for all nodes)", | |
"minimum": 0, | |
"type": [ | |
"integer", | |
"null" | |
] | |
} | |
}, | |
"type": "object" | |
}, | |
"proxy": { | |
"additionalProperties": false, | |
"properties": { | |
"http_proxy": { | |
"default": "", | |
"description": "Value of HTTP_PROXY and HTTPS_PROXY environment variables", | |
"type": "string" | |
}, | |
"no_proxy": { | |
"default": "", | |
"description": "Value of NO_PROXY environment variable", | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"sidecars": { | |
"additionalProperties": false, | |
"properties": { | |
"attacher": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the attacher container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"livenessProbe": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the livenessprobe container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"nodeDriverRegistrar": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the node-driver-registrar container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"provisioner": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the provisioner container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"resizer": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the resizer container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"snapshotter": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the snapshotter container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"forceEnable": { | |
"default": true, | |
"description": "Enables/disables the external-snapshotter sidecar", | |
"type": "boolean" | |
} | |
}, | |
"type": "object" | |
}, | |
"volumemodifier": { | |
"additionalProperties": false, | |
"properties": { | |
"additionalArgs": { | |
"default": [], | |
"description": "Additional arguments passed to the volumemodifier container", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
} | |
}, | |
"type": "object" | |
} | |
}, | |
"type": "object" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment