From ed2bc3100bdef3cfad738be8e7f487ae71043539 Mon Sep 17 00:00:00 2001 From: Yiya Chen Date: Fri, 25 Jul 2025 13:55:54 +0800 Subject: [PATCH] feat: expose CDI settings (#418) * feat: add cdi settings tab Signed-off-by: Yi-Ya Chen * feat: basic layout Signed-off-by: Yi-Ya Chen * feat: add fields mutation Signed-off-by: Yi-Ya Chen * refactor: rename keys Signed-off-by: Yi-Ya Chen * refactor: add edit mode Signed-off-by: Yi-Ya Chen * refactor: remove isCreate Signed-off-by: Yi-Ya Chen * feat: filter volume mode options Signed-off-by: Yi-Ya Chen --------- Signed-off-by: Yi-Ya Chen Co-authored-by: Andy Lee --- pkg/harvester/config/feature-flags.js | 3 +- pkg/harvester/config/labels-annotations.js | 4 + .../harvesterhci.io.storage/CDISettings.vue | 321 ++++++++++++++++++ .../edit/harvesterhci.io.storage/index.vue | 69 +++- pkg/harvester/l10n/en-us.yaml | 26 +- 5 files changed, 412 insertions(+), 11 deletions(-) create mode 100644 pkg/harvester/edit/harvesterhci.io.storage/CDISettings.vue diff --git a/pkg/harvester/config/feature-flags.js b/pkg/harvester/config/feature-flags.js index 05397eb4..ca4ee9e9 100644 --- a/pkg/harvester/config/feature-flags.js +++ b/pkg/harvester/config/feature-flags.js @@ -45,7 +45,8 @@ const FEATURE_FLAGS = { 'vmNetworkMigration', 'kubeovnVpcSubnet', 'rancherClusterSetting', - 'cpuMemoryHotplug' + 'cpuMemoryHotplug', + 'cdiSettings' ] }; diff --git a/pkg/harvester/config/labels-annotations.js b/pkg/harvester/config/labels-annotations.js index d38da610..34eff840 100644 --- a/pkg/harvester/config/labels-annotations.js +++ b/pkg/harvester/config/labels-annotations.js @@ -72,4 +72,8 @@ export const HCI = { CUSTOM_IP: 'harvesterhci.io/custom-ip', IMPORTED_IMAGE: 'migration.harvesterhci.io/imported', VM_CPU_MEMORY_HOTPLUG: 'harvesterhci.io/enableCPUAndMemoryHotplug', + FILESYSTEM_OVERHEAD: 'cdi.harvesterhci.io/filesystemOverhead', + CLONE_STRATEGY: 'cdi.harvesterhci.io/storageProfileCloneStrategy', + VOLUME_MODE_ACCESS_MODES: 'cdi.harvesterhci.io/storageProfileVolumeModeAccessModes', + VOLUME_SNAPSHOT_CLASS: 'cdi.harvesterhci.io/storageProfileVolumeSnapshotClass', }; diff --git a/pkg/harvester/edit/harvesterhci.io.storage/CDISettings.vue b/pkg/harvester/edit/harvesterhci.io.storage/CDISettings.vue new file mode 100644 index 00000000..a28f7ee5 --- /dev/null +++ b/pkg/harvester/edit/harvesterhci.io.storage/CDISettings.vue @@ -0,0 +1,321 @@ + + + + + diff --git a/pkg/harvester/edit/harvesterhci.io.storage/index.vue b/pkg/harvester/edit/harvesterhci.io.storage/index.vue index 9f21129d..40f0067d 100644 --- a/pkg/harvester/edit/harvesterhci.io.storage/index.vue +++ b/pkg/harvester/edit/harvesterhci.io.storage/index.vue @@ -1,4 +1,5 @@