K8SPV: K8s Persistent Volume
A cluster-scoped Kubernetes Persistent Volume providing durable storage backed by NFS, cloud disks, CSI drivers, or local storage.
Default definition. This article describes the default
K8SPV definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches K8SPV.Entity properties
| Property | Value |
|---|---|
| Entity code | K8SPV |
| Display name | K8s Persistent Volume |
| Plural | K8s Persistent Volumes |
| Level | 409 |
Use cases
K8SPV represents the cluster-scoped storage resource in Kubernetes, complementing K8SSTORAGE which models namespace-scoped PersistentVolumeClaims. The sourceType field drives visibility conditions to show only the relevant backend configuration (NFS, AWS EBS, HostPath, CSI, etc.). Binding information tracks the PVC relationship.
Fields
Volume Information
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Name. |
cluster | reference → K8SCLUSTER | Yes | Cluster. |
status | enum | Yes | Valid ids: 1 (Available), 2 (Bound), 3 (Released), 4 (Failed). |
capacity | number | Capacity in GB | |
storageClass | text | Storage Class. |
Access & Configuration
| Field | Type | Required | Notes |
|---|---|---|---|
accessModes | array of enums | Valid ids: 1 (ReadWriteOnce), 2 (ReadOnlyMany), 3 (ReadWriteMany), 4 (ReadWriteOncePod). | |
volumeMode | enum | Valid ids: 1 (Filesystem), 2 (Block). | |
reclaimPolicy | enum | Yes | Valid ids: 1 (Retain), 2 (Delete), 3 (Recycle). |
labels | text (multi-line) | Labels. | |
annotations | text (multi-line) | Annotations. |
Source Type
| Field | Type | Required | Notes |
|---|---|---|---|
sourceType | enum | Yes | Valid ids: 1 (NFS), 2 (AWS EBS), 3 (Azure Disk), 4 (GCE PD), 5 (HostPath), 6 (Local), 7 (CSI), 8 (iSCSI). |
NFS
| Field | Type | Required | Notes |
|---|---|---|---|
nfsServer | text | NFS Server. | |
nfsPath | text | NFS Path. | |
nfsReadOnly | boolean | Read Only. |
AWS EBS
| Field | Type | Required | Notes |
|---|---|---|---|
ebsVolumeId | text | Volume ID. | |
ebsFsType | text | Filesystem Type. | |
ebsPartition | number | Partition. |
HostPath
| Field | Type | Required | Notes |
|---|---|---|---|
hostPath | text | Host Path. | |
hostPathType | enum | Valid ids: 1 (), 2 (DirectoryOrCreate), 3 (Directory), 4 (FileOrCreate), 5 (File), 6 (Socket), 7 (CharDevice), 8 (BlockDevice). |
CSI
| Field | Type | Required | Notes |
|---|---|---|---|
csiDriver | text | CSI Driver. | |
csiVolumeHandle | text | Volume Handle. | |
csiFsType | text | Filesystem Type. | |
csiReadOnly | boolean | Read Only. | |
csiVolumeAttributes | text (multi-line) | JSON key-value pairs |
Bound Claim
| Field | Type | Required | Notes |
|---|---|---|---|
boundPVC | reference → K8SSTORAGE | Bound PVC. | |
claimNamespace | text | Claim Namespace. | |
claimName | text | Claim Name. | |
boundTime | datetime | Bound Time. |
Node Affinity
| Field | Type | Required | Notes |
|---|---|---|---|
nodeSelector | text (multi-line) | JSON node selector terms | |
topologyConstraints | text (multi-line) | JSON topology constraints |
Usage
| Field | Type | Required | Notes |
|---|---|---|---|
usagePercent | number | Usage %. | |
usedCapacity | number | Used (GB). | |
availableCapacity | number | Available (GB). |
Performance
| Field | Type | Required | Notes |
|---|---|---|---|
iops | number | IOPS. | |
throughput | number | Throughput (MB/s). | |
readLatency | number | Read Latency (ms). | |
writeLatency | number | Write Latency (ms). |
Relationships
- Lookups:
clusterpoints at aK8SCLUSTERrecord;boundPVCpoints at aK8SSTORAGErecord.
Creating a K8s Persistent Volume via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "K8SPV",
"level": 409,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example",
"cluster": "",
"status": "1",
"reclaimPolicy": "1"
}
Listing K8s Persistent Volumes
# All records in your tenant
GET /v1/entities/K8SPV/SUB:<your-sub-id>