CSI driver Helm values

How the driver reaches the storage cluster, what the controller does in the background, and how the node plugin behaves on the NVMe-oF connection.

charts/mgx-csi-driver/values.yaml in the driver repo is the full, commented list; this page is the part you are likely to set.

Cluster connection

Rendered into a Secret named mgxcsi-secret.

ValueDefaultDescription
csiSecret.clusterConfig.protocolhttpManagement API protocol.
csiSecret.clusterConfig.nodes[localhost:8082]Management API endpoints, host:port.
csiSecret.clusterConfig.clustermainTarget cluster name.
csiSecret.clusterConfig.nsmainTarget namespace within the cluster.
csiSecret.clusterConfig.username""API user.
csiSecret.clusterConfig.password""API password.

Controller

ValueDefaultDescription
controller.replicas1Controller StatefulSet replicas.
controller.timeoutVolumeCheck2Minutes between reconciler scans of every PV. 0 disables the reconciler.
controller.idleVolumeMin10Minutes a volume may stay unattached before the reconciler idles or stops it on the backend.

What the chart creates

ValueDefaultDescription
storageclass.createtrueCreate the mgxcsi-sc StorageClass.
volumeSnapshotClass.createtrueCreate the mgxcsi-snapshotclass VolumeSnapshotClass.
externalSnapshotter.enabledfalseDeploy a snapshot controller. Only if the cluster has none — one serves every CSI driver.
externalSnapshotter.customResourceDefinitions.enabledfalseLet the chart create the snapshot CRDs.
serviceAccount.createtrueCreate the ServiceAccount.
rbac.createtrueCreate the RBAC objects.

Node NVMe-oF tuning

Defaults are sensible. Reach for these when diagnosing connection or teardown behaviour, not before.

ValueDefaultDescription
node.nrIoQueues2NVMe-oF I/O queues.
node.queueSize16NVMe-oF queue depth.
node.fastIoFailTmo0Seconds to queue I/O on a lost controller before failing fast. 0 fails immediately.
node.ctrlLossTmo10Seconds of reconnect attempts before the controller is removed. Must be at least fastIoFailTmo.
node.reconnectDelay2Seconds between reconnect attempts.
node.keepAliveTmo5Keep-alive timeout, seconds.
node.nvmeTimeout30Deadline for nvme connect/disconnect and the cleanup that follows, seconds.
node.mkfsFsckTimeout120Per-command deadline for fsck, mkfs and mount, seconds.

Volume clean on unpublish

Off by default. When enabled, unpublishing a volume asks the backend to clean it and waits for READY again, which trims freed space rather than leaving it allocated.

ValueDefaultDescription
node.volumeCleanEnabledfalseCall storage.volume_clean on unpublish and wait for READY.
node.volumeCleanPollInterval2Seconds between volume_get probes while waiting.
node.volumeCleanReadyTimeout330Total budget waiting for READY, seconds.
node.volumeCleanFstrimTimeout300fstrim timeout forwarded to volume_clean, seconds.

Driver flags

The chart starts the mgxcsi binary with --controller or --node. The flags mirror the values above; these are the ones without a value of their own:

FlagDefaultDescription
--drivernamecsi.migrx.ioCSI driver name, and the provisioner a StorageClass must name.
--endpointunix://tmp/mgxcsi.sockCSI gRPC endpoint.
--nodeidrequired for nodeNode identifier.