apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: elastifile
provisioner: csi-ecfsplugin
reclaimPolicy: Delete
mountOptions:
  - vers=3
parameters: # Note - only string values are accepted in parameters

  # === EMS options ===

  # User mapping mode. Supported values: no_mapping, remap_root, remap_all
  userMapping: "no_mapping"
  # User Id for User Mapping
  userMappingUid: "0"
  # Group Id for User Mapping
  userMappingGid: "0"
  # Export owner's uid
  exportUid: "0"
  # Export owner's gid
  exportGid: "0"
  # Export dir's permissions
  permissions: "777"
  # Default volume size
  defaultVolumeSize: "100GiB"
  # Volume access. Supported values: read_write, read_only, list_only, no_access
  access: "read_write"
  # Volume capacity percentage to be used as the soft quota. Default: 100
  softQuotaPct: "75"

  # === eFaaS options ===

  # List of client access rules as a JSON string - "[{sourceRange, accessRights}, ...]"
  # Where
  #   sourceRange is network in CIDR format or "all" (all internal networks)
  #   accessRights can be one of readeWrite/readOnly
  # Example:
  #   clientRules: '[{"sourceRange":"all","accessRights":"readOnly"},{"sourceRange":"172.0.0.0/24","accessRights":"readWrite"}]'
  clientRules: |
    [
      {
        "sourceRange": "all",
        "accessRights": "readWrite"
      }
    ]

  # === Common options ===

  # The config map and secrets are expected to contain ECFS cluster details (IP addresses and user credentials)
  configurationNamespace: ${NAMESPACE}
  csiProvisionerSecretName: elastifile
  csiProvisionerSecretNamespace: ${NAMESPACE}
  csiProvisionerConfigMapName: elastifile
