Skip to content

Configuration Reference

The csi.flexfs start command accepts the following flags:

FlagTypeDefaultDescription
--bindAddrstringunix:///csi/csi.sockAddress to bind the CSI gRPC socket. Must use the unix:// scheme.
--verbose, -vboolfalseEnable verbose logging.

The Kubernetes Secret referenced by PersistentVolumes and StorageClasses supports the following fields in stringData:

FieldRequiredDescription
adminAddrYesAddress of the admin server (e.g., admin.example.com:443). For Community edition, use the free server address.
tokenYesAccount token for authenticating with the admin server.
secretNoEncryption secret for volumes with end-to-end encryption enabled.
apiVersion: v1
kind: Secret
metadata:
name: flexfs-secret
namespace: default
stringData:
adminAddr: "admin.example.com:443"
token: "$TOKEN"
secret: "$SECRET"

When using dynamic provisioning, the following parameters can be set on the StorageClass to control how new volumes are created:

ParameterDescription
csiProvisionerSecretNamespaceNamespace of the Secret used for volume creation/deletion (controller operations).
csiProvisionerSecretNameName of the Secret used for volume creation/deletion.
csiNodePublishSecretNamespaceNamespace of the Secret used for mounting (node operations).
csiNodePublishSecretNameName of the Secret used for mounting.
ParameterTypeDefaultDescription
blockAPIstring(auto)Block storage API code (e.g., s3, gcs, abs, oci).
blockSizestring4MiBlock size. Accepts human-readable values: 256Ki, 512Ki, 1Mi, 2Mi, 4Mi, 8Mi, or raw byte values (262144, 524288, 1048576, 2097152, 4194304, 8388608).
blockStorestring(auto)Block store ID (integer).
compressionstringtrueEnable block compression. Accepts true/false/yes/no.
compressionAlgostring(lz4)Compression algorithm: lz4 or zstd. Setting this implicitly enables compression.
encryptionstringfalseEnable end-to-end encryption. Requires a secret in the referenced Secret.
flagsstring(none)Volume-level mount flags (e.g., ro,noatime).
metaStorestring(auto)Metadata store ID (integer).
notesstring(none)Descriptive notes for the volume.
providerstring(auto)Provider code (e.g., aws, gcp, azure, oci).
proxyGroupstring(none)Proxy group ID or auto for automatic selection.
regionstring(auto)Region code (e.g., us-east-1).
retentionstring(none)Data retention period in seconds. Controls how long deleted data is preserved for time-travel.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: flexfs-genomics
provisioner: csi.flexfs.io
parameters:
csiProvisionerSecretNamespace: default
csiProvisionerSecretName: flexfs-secret
csiNodePublishSecretNamespace: default
csiNodePublishSecretName: flexfs-secret
blockSize: "4Mi"
compression: "true"
compressionAlgo: "lz4"
region: "us-east-1"

Mount options can be passed to the underlying mount.flexfs process via the mountOptions field on a PersistentVolume:

spec:
mountOptions:
- acl
- xattr
- rootsquash
- verbose

Options are normalized to lowercase with hyphens removed before being passed to mount.flexfs via the -o flag.