# # # Copyright © 2020-2022 Dell Inc. or its subsidiaries. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # ## K8S/DRIVER ATTRIBUTES ######################## # driverName: defines the name of driver # Allowed values: string # Default value: None driverName: "csi-powerstore.dellemc.com" # Driver version required to pull the latest driver image version: "v2.6.0" # Specify kubelet config dir path. # Ensure that the config.yaml file is present at this path. # Default value: None kubeletConfigDir: /var/lib/kubelet # nodeFCPortsFilterFile: It is the name of the environment variable which store path to the file which # provide list of WWPN which should be used by the driver for FC connection on this node # If file not exist or empty or in invalid format, then the driver will use all available FC ports # Allowed Values: string # Default Value: None # Example: # content of the file: # 21:00:00:29:ff:48:9f:6e,21:00:00:29:ff:48:9f:6e nodeFCPortsFilterFile: /etc/fc-ports-filter # externalAccess: allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. # Allowed Values: x.x.x.x/xx or x.x.x.x # Default Value: None externalAccess: # imagePullPolicy: Policy to determine if the image should be pulled prior to starting the container. # Allowed values: # Always: Always pull the image. # IfNotPresent: Only pull the image if it does not already exist on the node. # Never: Never pull the image. # Default value: None imagePullPolicy: IfNotPresent # nfsAcls: enables setting permissions on NFS mount directory # This value acts as default value for NFS ACL (nfsAcls), if not specified for an array config in secret # Permissions can be specified in two formats: # 1) Unix mode (NFSv3) # 2) NFSv4 ACLs (NFSv4) # NFSv4 ACLs are supported on NFSv4 share only. # Allowed values: # 1) Unix mode: valid octal mode number # Examples: "0777", "777", "0755" # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" # Optional: true # Default value: "0777" nfsAcls: "0777" # podmonAPIPort: Defines the port to be used within the kubernetes cluster # Allowed values: # Any valid and free port. # Default value: 8083 podmonAPIPort: 8083 # controller: configure controller specific parameters controller: # controllerCount: defines the number of csi-powerstore controller pods to deploy to # the Kubernetes release. # Allowed values: n, where n > 0 # Default value: None controllerCount: 2 # volumeNamePrefix: defines a string prepended to each volume created by the CSI driver. # Allowed values: string # Default value: None volumeNamePrefix: csivol # vgsnapshot: allows to configure volume-group-snapshot # volume-group-snapshot CRDs must be installed before installing driver vgsnapshot: # enabled: Enable/Disable volume-group-snapshot feature # Allowed values: # true: enable volume-group-snapshot feature(install vg-snapshotter sidecar) # false: disable volume-group-snapshot feature(do not install vg-snapshotter sidecar) # Default value: false enabled: false # image: Image to use for volume-group-snapshotter. This shouldn't be changed # Allowed values: string # Default value: dellemc/csi-volumegroup-snapshotter:v1.2.0 image: dellemc/csi-volumegroup-snapshotter:v1.2.0 # snapshot: allows to enable/disable snapshot feature # snapshot CRDs needs to be installed before enabling this feature snapshot: # enabled: Enable/Disable volume snapshot feature # Allowed values: # true: enable volume snapshot feature(install snapshotter sidecar) # false: disable volume snapshot feature(do not install snapshotter sidecar) # Default value: None enabled: true # snapNamePrefix: Prefix to apply to the names of a created snapshots # Allowed values: string # Default value: None snapNamePrefix: csisnap # resizer: allows to enable/disable resizer feature resizer: # enabled: Enable/Disable volume expansion feature # Allowed values: # true: enable volume expansion feature(install resizer sidecar) # false: disable volume expansion feature(do not install resizer sidecar) # Default value: true enabled: true healthMonitor: # enabled: Enable/Disable health monitor of CSI volumes # Allowed values: # true: enable checking of health condition of CSI volumes # false: disable checking of health condition of CSI volumes # Default value: false enabled: false # interval: Interval of monitoring volume health condition # Allowed values: Number followed by unit (s,m,h) # Examples: 60s, 5m, 1h # Default value: 60s interval: 60s # replication: allows to configure replication # Replication CRDs must be installed before installing driver replication: # enabled: Enable/Disable replication feature # Allowed values: # true: enable replication feature(install dell-csi-replicator sidecar) # false: disable replication feature(do not install dell-csi-replicator sidecar) # Default value: false enabled: false # image: Image to use for dell-csi-replicator. This shouldn't be changed # Allowed values: string # Default value: None image: dellemc/dell-csi-replicator:v1.4.0 # replicationContextPrefix: prefix to use for naming of resources created by replication feature # Allowed values: string # Default value: powerstore replicationContextPrefix: "powerstore" # replicationPrefix: prefix to prepend to storage classes parameters # Allowed values: string # Default value: replication.storage.dell.com replicationPrefix: "replication.storage.dell.com" # Image for csi-metadata-retriever metadataretriever: dellemc/csi-metadata-retriever:v1.3.0 # nodeSelector: Define node selection constraints for controller pods. # For the pod to be eligible to run on a node, the node must have each # of the indicated key-value pairs as labels. # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None nodeSelector: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # node-role.kubernetes.io/master # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # node-role.kubernetes.io/control-plane # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None tolerations: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # - key: "node-role.kubernetes.io/master" # operator: "Exists" # effect: "NoSchedule" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # tolerations: # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoSchedule" # node: configure node pod specific parameters node: # nodeNamePrefix: defines a string prepended to each node registered by the CSI driver. # Allowed values: string # Default value: None nodeNamePrefix: csi-node # nodeIDPath: defines the path to file with node identifier (e.g. /etc/machine-id, /etc/hostname). # Allowed values: string # Default value: None nodeIDPath: /etc/machine-id healthMonitor: # enabled: Enable/Disable health monitor of CSI volumes- volume usage, volume condition # Allowed values: # true: enable checking of health condition of CSI volumes # false: disable checking of health condition of CSI volumes # Default value: None enabled: false # nodeSelector: Define node selection constraints for node pods. # For the pod to be eligible to run on a node, the node must have each # of the indicated key-value pairs as labels. # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None nodeSelector: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # node-role.kubernetes.io/master # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # node-role.kubernetes.io/control-plane # tolerations: Define tolerations for the node pods, if required. # Leave as blank to consider all worker nodes # Default value: None tolerations: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # - key: "node-role.kubernetes.io/master" # operator: "Exists" # effect: "NoSchedule" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # tolerations: # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoSchedule" # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled #tolerations: # - key: "offline.vxflexos.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "vxflexos.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "offline.unity.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "unity.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "offline.isilon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "isilon.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "offline.powerstore.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "powerstore.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" ## PLATFORM ATTRIBUTES ###################### # connection: allows to configure connection to storage array connection: # connection.enableCHAP: allows to enable CHAP for iSCSI connections # CHAP password will be autogenerated by driver # Allowed values: # true : enable CHAP # false: disable CHAP # Default value: false enableCHAP: false # CSI driver log level # Allowed values: "error", "warn"/"warning", "info", "debug", "error" # Default value: "debug" logLevel: "debug" # CSI driver log format # Allowed values: "TEXT" or "JSON" # Default value: "JSON" logFormat: "JSON" # Following modes are supported: None, File and ReadWriteOnceWithFSType fsGroupPolicy: ReadWriteOnceWithFSType # Allows the controller to round off filesystem to 3Gi which is the minimum supported value allowAutoRoundOffFilesystemSize: false # Storage Capacity Tracking # Note: Capacity tracking is supported in kubernetes v1.24 and above, this feature will be automatically disabled in older versions. storageCapacity: # enabled : Enable/Disable storage capacity tracking # Allowed values: # true: enable storage capacity tracking # false: disable storage capacity tracking # Default value: true enabled: true # pollInterval : Configure how often external-provisioner polls the driver to detect changed capacity # Allowed values: 1m,2m,3m,...,10m,...,60m etc # Default value: 5m pollInterval: 5m # Enable this feature only after contact support for additional information podmon: enabled: false image: dellemc/podmon:v1.5.0 #controller: # args: # - "--csisock=unix:/var/run/csi/csi.sock" # - "--labelvalue=csi-powerstore" # - "--arrayConnectivityPollRate=60" # - "--driverPath=csi-powerstore.dellemc.com" # - "--mode=controller" # - "--skipArrayConnectionValidation=false" # - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" # - "--driverPodLabelValue=dell-storage" # - "--ignoreVolumelessPods=false" #node: # args: # - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" # - "--labelvalue=csi-powerstore" # - "--arrayConnectivityPollRate=60" # - "--driverPath=csi-powerstore.dellemc.com" # - "--mode=node" # - "--leaderelection=false" # - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" # - "--driverPodLabelValue=dell-storage" # - "--ignoreVolumelessPods=false" images: # "driver" defines the container image, used for the driver container. driverRepository: dellemc