1
0
Fork 0
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:
Ali 2024-01-03 09:46:26 +13:00 committed by GitHub
parent 7a2412b1be
commit e07ee05ee7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 732 additions and 374 deletions

View file

@ -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;
}

View file

@ -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;

View file

@ -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();