1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-25 00:09:40 +02:00

refactor(kube/volumes): migrate storage table to react [EE-4697] (#11030)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run

This commit is contained in:
Chaim Lev-Ari 2024-04-02 23:27:20 +03:00 committed by GitHub
parent a5faddc56c
commit 86f1b8df6e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 172 additions and 301 deletions

View file

@ -0,0 +1,7 @@
export class StorageClass {
Name: string = '';
Provisioner: string = '';
AllowVolumeExpansion: boolean = false;
}

View file

@ -1,3 +1,5 @@
export { StorageClass as KubernetesStorageClass } from './StorageClass';
/**
* KubernetesStorageClassAccessPolicies Model
*/
@ -17,19 +19,3 @@ const _KubernetesStorageClassAccessPolicies = Object.freeze([
export function KubernetesStorageClassAccessPolicies() {
return JSON.parse(JSON.stringify(_KubernetesStorageClassAccessPolicies));
}
/**
* KubernetesStorageClass Model
*/
const _KubernetesStorageClass = Object.freeze({
Name: '',
AccessModes: [],
Provisioner: '',
AllowVolumeExpansion: false,
});
export class KubernetesStorageClass {
constructor() {
Object.assign(this, JSON.parse(JSON.stringify(_KubernetesStorageClass)));
}
}

View file

@ -0,0 +1,33 @@
import uuidv4 from 'uuid/v4';
import { StorageClass } from '../storage-class/StorageClass';
export class PersistentVolumeClaim {
Id: string = uuidv4();
Name: string = '';
PreviousName: string = '';
Namespace: string = '';
Storage: number = 0;
storageClass?: StorageClass; // KubernetesStorageClass
CreationDate: string = '';
ApplicationOwner: string = '';
AccessModes: Array<unknown> = [];
ApplicationName: string = '';
/**
* used for Application creation from `ApplicationFormValues`
* not used from API conversion
*/
MountPath: string = '';
Yaml: string = '';
}

View file

@ -0,0 +1,14 @@
import { KubernetesApplication } from '../application/models';
import { KubernetesResourcePool } from '../resource-pool/models';
import { PersistentVolumeClaim } from './PersistentVolumeClaim';
type VolumeResourcePool = ReturnType<typeof KubernetesResourcePool>;
export class Volume {
ResourcePool: VolumeResourcePool = {} as VolumeResourcePool;
PersistentVolumeClaim: PersistentVolumeClaim = {} as PersistentVolumeClaim;
Applications: KubernetesApplication[] = [];
}

View file

@ -1,40 +1,2 @@
import uuidv4 from 'uuid/v4';
/**
* KubernetesPersistentVolumeClaim Model
*/
const _KubernetesPersistentVolumeClaim = Object.freeze({
Id: '',
Name: '',
PreviousName: '',
Namespace: '',
Storage: 0,
storageClass: {}, // KubernetesStorageClass
CreationDate: '',
ApplicationOwner: '',
AccessModes: [],
ApplicationName: '',
MountPath: '', // used for Application creation from ApplicationFormValues | not used from API conversion
Yaml: '',
});
export class KubernetesPersistentVolumeClaim {
constructor() {
Object.assign(this, JSON.parse(JSON.stringify(_KubernetesPersistentVolumeClaim)));
this.Name = uuidv4();
}
}
/**
* KubernetesVolume Model (Composite)
*/
const _KubernetesVolume = Object.freeze({
ResourcePool: {}, // KubernetesResourcePool
PersistentVolumeClaim: {}, // KubernetesPersistentVolumeClaim
Applications: [], // KubernetesApplication
});
export class KubernetesVolume {
constructor() {
Object.assign(this, JSON.parse(JSON.stringify(_KubernetesVolume)));
}
}
export { Volume as KubernetesVolume } from './Volume';
export { PersistentVolumeClaim as KubernetesPersistentVolumeClaim } from './PersistentVolumeClaim';