Skip to content

Configuration Reference

The csi.flexfs start command accepts the following flags:

| Flag | Type | Default | Description | |---|---|---|---| | --bindAddr | string | unix:///csi/csi.sock | Address to bind the CSI gRPC socket. Must use the unix:// scheme. | | --verbose, -v | bool | false | Enable verbose logging. |

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

| Field | Required | Description | |---|---|---| | adminAddr | Yes | Address of the admin server (e.g., admin.example.com:443). For Community edition, use the free server address. | | token | Yes | Account token for authenticating with the admin server. | | secret | No | Encryption 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:

| Parameter | Description | |---|---| | csiProvisionerSecretNamespace | Namespace of the Secret used for volume creation/deletion (controller operations). | | csiProvisionerSecretName | Name of the Secret used for volume creation/deletion. | | csiNodePublishSecretNamespace | Namespace of the Secret used for mounting (node operations). | | csiNodePublishSecretName | Name of the Secret used for mounting. |

| Parameter | Type | Default | Description | |---|---|---|---| | blockAPI | string | (auto) | Block storage API code (e.g., s3, gcs, azure, oci). | | blockSize | string | 4Mi | Block size. Accepts human-readable values: 256Ki, 512Ki, 1Mi, 2Mi, 4Mi, 8Mi, or raw byte values (262144, 524288, 1048576, 2097152, 4194304, 8388608). | | blockStore | string | (auto) | Block store ID (integer). | | compression | string | true | Enable block compression. Accepts true/false/yes/no. | | compressionAlgo | string | (lz4) | Compression algorithm: lz4 or zstd. Setting this implicitly enables compression. | | encryption | string | false | Enable end-to-end encryption. Requires a secret in the referenced Secret. | | flags | string | (none) | Volume-level mount flags (e.g., ro,noatime). | | metaStore | string | (auto) | Metadata store ID (integer). | | notes | string | (none) | Descriptive notes for the volume. | | provider | string | (auto) | Provider code (e.g., aws, gcp, azure, oci). | | proxyGroup | string | (none) | Proxy group ID or auto for automatic selection. | | region | string | (auto) | Region code (e.g., us-east-1). | | retention | string | (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.