provisioning-catalog/components/democratic_csi/nickel/contracts.ncl

45 lines
1.3 KiB
Text

let _concerns_lib = import "schemas/lib/concerns.ncl" in
{
DemocraticCSI = {
version
| String
| doc "democratic-csi release version"
| default = "0.14.6",
storage_class_name
| String
| doc "Name for the provisioned StorageClass"
| default = "democratic-csi-nfs",
nfs_server
| String
| doc "IP or hostname of the NFS server — empty string defers connection (driver deployed but StorageClass inactive)"
| default = "",
nfs_share_base_path
| String
| doc "Base export path on the NFS server from which sub-directories are provisioned per PVC"
| default = "/shared",
reclaim_policy
| std.enum.TagOrString
| doc "PV reclaim policy: Retain preserves NFS directory on PVC delete, Delete removes it"
| default = 'Retain,
allow_volume_expansion
| Bool
| doc "Allow PVC resize — NFS subdirectory quotas, requires NFS server quota support"
| default = false,
access_mode
| std.enum.TagOrString
| doc "Default access mode advertised by the StorageClass: ReadWriteMany or ReadWriteOnce"
| default = 'ReadWriteMany,
# ServiceConcerns umbrella (ADR-008). CSI driver — infrastructure_glue preset.
concerns | _concerns_lib.ServiceConcerns | optional,
..
},
}