# This a general example StorageClass definition for creating volumes with the Hammerspace CSI Plugin
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: hs-storage
  namespace: kube-system
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: com.hammerspace.csi
mountOptions:
  - debug
parameters:
  fsType: "nfs"
  # Optional, for use if we are supporting BlockVolumes. Auto-created if it does not exist. Never deleted by the driver
  blockBackingShareName: k8s-block-storage
  # Optional, for use if we are supporting file-backed Mount volumes. Auto-created if it does not exist. Never deleted by the driver
  mountBackingShareName: k8s-file-storage
  # Objectives to set on shares in addition to HS cluster defaults
  objectives: "place-on-all,optimize-for-capacity"
  # ';' seperated list of <subnet>,access,rootSquash
  exportOptions: "*,RW,false; 172.168.0.0/20,RO,true"
  # One should be careful to set this if shares are used outside of the cluster. -1 means do not delete the shares at all
  deleteDelay: "0"
  # The name format of provisioned volumes, %s is replaced with pvc-<uuid>
  volumeNameFormat: "csi-%s"
  # Metadata to set on files and shares created by the plugin.
  additionalMetadataTags: "storageClassName=hs-storage,fsType=nfs"