apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: isilon-replication
provisioner: csi-isilon.dellemc.com
reclaimPolicy: Delete
allowVolumeExpansion: true
parameters:
  # replicationPrefix parameter in values.yaml must be used as prefix for all replication parameters in storage class
  # for e.g., all replication parameters have prefix: replication.storage.dell.com here

  # replication.storage.dell.com/isReplicationEnabled:
  # Allowed values:
  #   true: enable replication sidecar
  #   false: disable replication sidecar
  # Optional: true
  # Default value: false
  replication.storage.dell.com/isReplicationEnabled: "true"

  # replication.storage.dell.com/remoteStorageClassName:
  # Allowed values: string
  # Optional: true
  # Default value: None
  replication.storage.dell.com/remoteStorageClassName: "isilon-replication"

  # replication.storage.dell.com/remoteClusterID: point to correct remote cluster id
  # Allowed values: string
  # Optional: true
  # Default value: None
  replication.storage.dell.com/remoteClusterID: "target"

  # replication.storage.dell.com/remoteSystem: point to correct remote PowerScale system, this should match whatever clusterName you specified in `isilon-creds` secret
  # Allowed values: string
  # Optional: true
  # Default value: None
  replication.storage.dell.com/remoteSystem: "cluster-2"

  # replication.storage.dell.com/rpo: change to any other RPO predefined in a list
  # Allowed values: "Five_Minutes", "Fifteen_Minutes", "Thirty_Minutes", "One_Hour", "Six_Hours", "Twelve_Hours", "One_Day"
  # Optional: true
  # Default value: None
  replication.storage.dell.com/rpo: Five_Minutes

  # replication.storage.dell.com/ignoreNamespaces: set to 'true' if you want to ignore namespaces and use one volume group
  # Allowed values:
  #   true: ignore namespaces and use one volume group
  #   false: create separate volume group per namespace
  # Optional: true
  # Default value: None
  replication.storage.dell.com/ignoreNamespaces: "false"

  # replication.storage.dell.com/volumeGroupPrefix: volume group prefix
  # Allowed values: string
  # Optional: true
  # Default value: None
  replication.storage.dell.com/volumeGroupPrefix: "csi"

  # The name of the access zone a volume can be created in
  # Optional: true
  # Default value: default value specified in values.yaml
  # Examples: System, zone1
  AccessZone: System

  # The base path for the volumes to be created on PowerScale cluster.
  # Ensure that this path exists on PowerScale cluster.
  # Allowed values: unix absolute path
  # Optional: true
  # Default value: value specified in values.yaml for isiPath
  # Examples: /ifs/data/csi, /ifs/engineering
  IsiPath: /ifs/data/csi

  # The permissions for isi volume directory path
  # This value overrides the isiVolumePathPermissions attribute of corresponding cluster config in secret, if present
  # Allowed values: valid octal mode number
  # Default value: "0777"
  # Examples: "0777", "777", "0755"
  #IsiVolumePathPermissions: "0777"

  # AccessZone groupnet service IP. Update AzServiceIP if different than endpoint.
  # Optional: true
  # Default value: endpoint of the cluster ClusterName
  #AzServiceIP : 192.168.2.1

  # When a PVC is being created, this parameter determines, when a node mounts the PVC,
  # whether to add the k8s node to the "Root clients" field or "Clients" field of the NFS export
  # Allowed values:
  #   "true": adds k8s node to the "Root clients" field of the NFS export
  #   "false": adds k8s node to the "Clients" field of the NFS export
  # Optional: true
  # Default value: "false"
  RootClientEnabled: "false"

  # Name of PowerScale cluster, where pv will be provisioned.
  # This name should match with name of one of the cluster configs in isilon-creds secret.
  # If this parameter is not specified, then default cluster config in isilon-creds secret
  # will be considered if available.
  # Optional: true
  # ClusterName: cluster-1

# volumeBindingMode controls when volume binding and dynamic provisioning should occur.
# Allowed values:
#   Immediate: indicates that volume binding and dynamic provisioning occurs once the
#   PersistentVolumeClaim is created
#   WaitForFirstConsumer: will delay the binding and provisioning of a PersistentVolume
#   until a Pod using the PersistentVolumeClaim is created
# Default value: Immediate
volumeBindingMode: Immediate

# allowedTopologies helps scheduling pods on worker nodes which match all of below expressions.
# If enableCustomTopology is set to true in helm values.yaml, then do not specify allowedTopologies
# Change all instances of <ISILON_IP> to the IP of the PowerScale OneFS API server
#allowedTopologies:
#  - matchLabelExpressions:
#      - key: csi-isilon.dellemc.com/<ISILON_IP>
#        values:
#          - csi-isilon.dellemc.com

# specify additional mount options for when a Persistent Volume is being mounted on a node.
#mountOptions: ["<mountOption1>", "<mountOption2>", ..., "<mountOptionN>"]
