mirror of
https://github.com/portainer/portainer.git
synced 2025-08-02 20:35:25 +02:00
refactor(app): persisted folders form section [EE-6235] (#10693)
* refactor(app): persisted folder section [EE-6235]
This commit is contained in:
parent
7a2412b1be
commit
e07ee05ee7
39 changed files with 732 additions and 374 deletions
|
@ -180,7 +180,7 @@ class KubernetesApplicationConverter {
|
|||
persistedFolder.MountPath = matchingVolumeMount.mountPath;
|
||||
|
||||
if (volume.persistentVolumeClaim) {
|
||||
persistedFolder.PersistentVolumeClaimName = volume.persistentVolumeClaim.claimName;
|
||||
persistedFolder.persistentVolumeClaimName = volume.persistentVolumeClaim.claimName;
|
||||
} else {
|
||||
persistedFolder.HostPath = volume.hostPath.path;
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class KubernetesPersistentVolumeClaimConverter {
|
|||
res.CreationDate = data.metadata.creationTimestamp;
|
||||
res.Storage = `${data.spec.resources.requests.storage}B`;
|
||||
res.AccessModes = data.spec.accessModes || [];
|
||||
res.StorageClass = _.find(storageClasses, { Name: data.spec.storageClassName });
|
||||
res.storageClass = _.find(storageClasses, { Name: data.spec.storageClassName });
|
||||
res.Yaml = yaml ? yaml.data : '';
|
||||
res.ApplicationOwner = data.metadata.labels ? data.metadata.labels[KubernetesPortainerApplicationOwnerLabel] : '';
|
||||
res.ApplicationName = data.metadata.labels ? data.metadata.labels[KubernetesPortainerApplicationNameLabel] : '';
|
||||
|
@ -31,30 +31,32 @@ class KubernetesPersistentVolumeClaimConverter {
|
|||
* @param {KubernetesApplicationFormValues} formValues
|
||||
*/
|
||||
static applicationFormValuesToVolumeClaims(formValues) {
|
||||
_.remove(formValues.PersistedFolders, (item) => item.NeedsDeletion);
|
||||
_.remove(formValues.PersistedFolders, (item) => item.needsDeletion);
|
||||
const res = _.map(formValues.PersistedFolders, (item) => {
|
||||
const pvc = new KubernetesPersistentVolumeClaim();
|
||||
if (!_.isEmpty(item.ExistingVolume)) {
|
||||
const existantPVC = item.ExistingVolume.PersistentVolumeClaim;
|
||||
if (!_.isEmpty(item.existingVolume)) {
|
||||
const existantPVC = item.existingVolume.PersistentVolumeClaim;
|
||||
pvc.Name = existantPVC.Name;
|
||||
if (item.PersistentVolumeClaimName) {
|
||||
pvc.PreviousName = item.PersistentVolumeClaimName;
|
||||
if (item.persistentVolumeClaimName) {
|
||||
pvc.PreviousName = item.persistentVolumeClaimName;
|
||||
}
|
||||
pvc.StorageClass = existantPVC.StorageClass;
|
||||
pvc.storageClass = existantPVC.storageClass;
|
||||
pvc.Storage = existantPVC.Storage.charAt(0);
|
||||
pvc.CreationDate = existantPVC.CreationDate;
|
||||
pvc.Id = existantPVC.Id;
|
||||
} else {
|
||||
if (item.PersistentVolumeClaimName) {
|
||||
pvc.Name = item.PersistentVolumeClaimName;
|
||||
pvc.PreviousName = item.PersistentVolumeClaimName;
|
||||
if (item.persistentVolumeClaimName) {
|
||||
pvc.Name = item.persistentVolumeClaimName;
|
||||
if (!item.useNewVolume) {
|
||||
pvc.PreviousName = item.persistentVolumeClaimName;
|
||||
}
|
||||
} else {
|
||||
pvc.Name = formValues.Name + '-' + pvc.Name;
|
||||
}
|
||||
pvc.Storage = '' + item.Size + item.SizeUnit.charAt(0);
|
||||
pvc.StorageClass = item.StorageClass;
|
||||
pvc.Storage = '' + item.size + item.sizeUnit.charAt(0);
|
||||
pvc.storageClass = item.storageClass;
|
||||
}
|
||||
pvc.MountPath = item.ContainerPath;
|
||||
pvc.MountPath = item.containerPath;
|
||||
pvc.Namespace = formValues.ResourcePool.Namespace.Name;
|
||||
pvc.ApplicationOwner = formValues.ApplicationOwner;
|
||||
pvc.ApplicationName = formValues.Name;
|
||||
|
@ -68,7 +70,7 @@ class KubernetesPersistentVolumeClaimConverter {
|
|||
res.metadata.name = pvc.Name;
|
||||
res.metadata.namespace = pvc.Namespace;
|
||||
res.spec.resources.requests.storage = pvc.Storage;
|
||||
res.spec.storageClassName = pvc.StorageClass ? pvc.StorageClass.Name : '';
|
||||
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;
|
||||
|
|
|
@ -5,7 +5,7 @@ import { KubernetesStorageClassCreatePayload } from 'Kubernetes/models/storage-c
|
|||
|
||||
class KubernetesStorageClassConverter {
|
||||
/**
|
||||
* API StorageClass to front StorageClass
|
||||
* API storageClass to front storageClass
|
||||
*/
|
||||
static apiToStorageClass(data) {
|
||||
const res = new KubernetesStorageClass();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue