Driver Parameters Complete reference for rclone.csi.veloxpack.io driver parameters.
The rclone CSI driver supports various parameters for configuring storage backends, mount options, and VFS caching. Parameters can be specified in StorageClass, PersistentVolume, or Kubernetes Secrets.
Parameter Description Example Required remoteRclone remote name s3, gcs, azureblobYes remotePathPath within the remote storage my-bucket, /dataYes
Parameter Description Example Required configDataInline rclone configuration (INI format) [s3]\ntype = s3No
The driver supports dynamic path substitution using template variables:
Variable Description Example ${pvc.metadata.name}PVC name my-pvc-12345${pvc.metadata.namespace}PVC namespace default${pv.metadata.name}PV name pv-rclone-abc123
parameters :
remote : "s3"
remotePath : "buckets/${pvc.metadata.namespace}/${pvc.metadata.name}"
Mount options are specified in mountOptions field of StorageClass or PersistentVolume. For a complete list of available mount options, see the rclone mount documentation .
Option Description Values Example vfs-cache-modeCache mode off, minimal, writes, fullvfs-cache-mode=writesvfs-cache-max-sizeMaximum cache size Size with unit vfs-cache-max-size=10Gvfs-cache-max-ageMax time since last access Duration vfs-cache-max-age=1hvfs-cache-min-free-spaceMinimum free space Size with unit vfs-cache-min-free-space=1Gdir-cache-timeDirectory cache time Duration dir-cache-time=30s
Option Description Type Example debug-fuseDebug FUSE internals Boolean debug-fuseallow-otherAllow access to other users Boolean allow-otherallow-non-emptyAllow mounting over non-empty directory Boolean allow-non-emptyasync-readUse asynchronous reads Boolean async-readdirect-ioUse Direct IO (disables caching) Boolean direct-ioread-onlyRead-only access Boolean read-only
Option Description Type Example vfs-case-insensitiveCase insensitive file matching Boolean vfs-case-insensitivevfs-linksTranslate symlinks Boolean vfs-linksvfs-refreshRefresh directory cache on start Boolean vfs-refreshno-seekDon't allow seeking in files Boolean no-seekno-modtimeDon't read/write modification time Boolean no-modtimeno-checksumDon't compare checksums Boolean no-checksum
Parameter Description Example typeBackend type s3providerS3 provider AWS, Minio, DigitalOceanaccess_key_idAccess key ID AKIAIOSFODNN7EXAMPLEsecret_access_keySecret access key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYregionAWS region us-east-1endpointCustom endpoint https://s3.amazonaws.com
Parameter Description Example typeBackend type google cloud storageproject_numberGCP project number 12345678service_account_fileService account file path /path/to/service-account.jsonservice_account_credentialsService account JSON {"type":"service_account",...}
Parameter Description Example typeBackend type azureblobaccountStorage account name mystorageaccountkeyStorage account key base64encodedkeyendpointCustom endpoint https://mystorageaccount.blob.core.windows.net/
The driver processes parameters in this order:
Secrets : Loaded as defaults from csi.storage.k8s.io/node-publish-secret-name
Volume Context : Overrides secrets (from StorageClass parameters or PV volumeAttributes)
ConfigData : Parsed INI format and merged with other parameters
Parameter Sanitization : Remote prefixes removed, hyphens converted to underscores
Parameters are sanitized for consistency:
s3-endpoint → endpoint (when remote is "s3")
--cache-mode → cache_mode
EndPoint → endpoint
Parameter Description Example csi.storage.k8s.io/node-publish-secret-nameSecret name for credentials rclone-secretcsi.storage.k8s.io/node-publish-secret-namespaceSecret namespace default
apiVersion : v1
kind : Secret
metadata :
name : rclone-s3-secret
type : Opaque
stringData :
remote : "s3"
remotePath : "my-bucket"
configData : |
[s3]
type = s3
provider = AWS
access_key_id = YOUR_ACCESS_KEY_ID
secret_access_key = YOUR_SECRET_ACCESS_KEY
region = us-east-1
apiVersion : storage.k8s.io/v1
kind : StorageClass
metadata :
name : rclone-multitenant
provisioner : rclone.csi.veloxpack.io
parameters :
remote : "s3"
remotePath : "buckets/${pvc.metadata.namespace}/${pvc.metadata.name}"
mountOptions :
- vfs-cache-mode=writes
- vfs-cache-max-size=10G
- dir-cache-time=30s
csi.storage.k8s.io/node-publish-secret-name : "rclone-secret"
csi.storage.k8s.io/node-publish-secret-namespace : "default"
reclaimPolicy : Delete
volumeBindingMode : Immediate
allowVolumeExpansion : true
apiVersion : v1
kind : PersistentVolume
metadata :
name : pv-rclone-performance
spec :
mountOptions :
- vfs-cache-mode=full
- vfs-cache-max-size=50G
- vfs-cache-max-age=24h
- dir-cache-time=5m
- async-read
- vfs-read-ahead=1M
csi :
driver : rclone.csi.veloxpack.io
volumeHandle : performance-volume
volumeAttributes :
remote : "s3"
remotePath : "my-bucket"
configData : |
[s3]
type = s3
provider = AWS
access_key_id = YOUR_ACCESS_KEY_ID
secret_access_key = YOUR_SECRET_ACCESS_KEY
region = us-east-1 How is this guide?
Good Bad