With the growing use of both public and private cloud environments, third-party storage integration has become increasingly important. This guide walks you through how to annotate third-party storage capabilities using a ConfigMap so your platform can recognize and surface those capabilities automatically.
Provide the following details in the form:
| Field | Description |
|---|---|
| Name | Name of your new storage class. |
| Storage Class | Select or define the storage class identifier. |
| Provisioner | Enter the provisioner name used by your storage plugin. |
To enable capability annotations, create a ConfigMap in the kube-public namespace with the appropriate label and data format.
sd-, e.g., sd-configmap1.kube-public.features.alauda.io/type = StorageDescription.provisioner field in the storage class.Here are the supported fields you can define in the ConfigMap:
| Capability | Field | Options | Default | Notes |
|---|---|---|---|---|
| Type | type | Filesystem, Block | — | If omitted or invalid, the type shows as unknown. |
| Snapshot | snapshot | true, false | false | If false or invalid, snapshot creation via the form UI is disabled. |
| Volume Mode | volumeMode | Filesystem, Block | Filesystem | PVCs with Block mode don't support directory mounts. |
| Access Mode | accessModes | ReadWriteOnce, ReadOnlyMany, ReadWriteMany, ReadWriteOncePod | — | If omitted or invalid, no access mode is selectable via the UI. ReadWriteOncePod isn't currently form-enabled. |
Once the above details are set:
provisioner with the ConfigMap and annotate the storage class with the defined capabilities.When you create a Persistent Volume Claim (PVC) via the form UI, only the supported capabilities from the annotated ConfigMap will be available. Unsupported options will not appear.