mirror of https://github.com/portainer/portainer
fix(PVC): access modes match storage class capability [EE-5580] (#10550)
parent
92c18843b2
commit
87b486b798
|
@ -5,6 +5,11 @@ import { KubernetesPersistentVolumeClaim } from 'Kubernetes/models/volume/models
|
|||
import { KubernetesPersistentVolumClaimCreatePayload } from 'Kubernetes/models/volume/payloads';
|
||||
import { KubernetesPortainerApplicationOwnerLabel, KubernetesPortainerApplicationNameLabel } from 'Kubernetes/models/application/models';
|
||||
|
||||
const storageClassToPVCAccessModes = {
|
||||
RWO: 'ReadWriteOnce',
|
||||
RWX: 'ReadWriteMany',
|
||||
};
|
||||
|
||||
class KubernetesPersistentVolumeClaimConverter {
|
||||
static apiToPersistentVolumeClaim(data, storageClasses, yaml) {
|
||||
const res = new KubernetesPersistentVolumeClaim();
|
||||
|
@ -63,6 +68,8 @@ class KubernetesPersistentVolumeClaimConverter {
|
|||
res.metadata.namespace = pvc.Namespace;
|
||||
res.spec.resources.requests.storage = pvc.Storage;
|
||||
res.spec.storageClassName = pvc.StorageClass ? pvc.StorageClass.Name : '';
|
||||
const accessModes = pvc.StorageClass && pvc.StorageClass.AccessModes ? pvc.StorageClass.AccessModes.map((accessMode) => storageClassToPVCAccessModes[accessMode]) : [];
|
||||
res.spec.accessModes = accessModes;
|
||||
res.metadata.labels.app = pvc.ApplicationName;
|
||||
res.metadata.labels[KubernetesPortainerApplicationOwnerLabel] = pvc.ApplicationOwner;
|
||||
res.metadata.labels[KubernetesPortainerApplicationNameLabel] = pvc.ApplicationName;
|
||||
|
|
Loading…
Reference in New Issue