From 62b6b83afb27a4d573c66adb25c8e7fe9291d978 Mon Sep 17 00:00:00 2001 From: Alejandro Bonilla Date: Tue, 18 Aug 2026 20:43:18 -0500 Subject: [PATCH] feat(storage): expose volume encryption for the LVM CSI StorageClass The StorageClass creation form only rendered the encryption toggle + secret picker for the Longhorn provisioner components; the LVM provisioner form had no way to enable encryption. Add the same encryption UI to the LVM provisioner so users can create encrypted lvm.driver.harvesterhci.io StorageClasses from the dashboard. The block mirrors provisioners/driver.longhorn.io_v1.vue: a Volume Encryption RadioGroup bound to parameters.encrypted, and a Secret LabeledSelect that populates the csi.storage.k8s.io provisioner/node-publish/node-stage (and node-expand, when the online-expansion feature is enabled) secret parameters from CSI_SECRETS. It is gated on the existing `volumeEncryption` feature flag (value.volumeEncryptionFeatureEnabled) and reuses the secret prefetch already done in index.vue. Encrypted params are stripped from the raw KeyValue editor to avoid duplicate entry. Everything downstream (VM images, volumes, VMs, snapshot/backup restore) already recognizes an encrypted StorageClass generically via StorageClass.isEncrypted (parameters.encrypted === 'true'), so no other UI changes are needed. Companion driver support: harvester/csi-driver-lvm#67. Signed-off-by: Alejandro Bonilla --- .../lvm.driver.harvesterhci.io.vue | 507 ++++++++++++------ 1 file changed, 338 insertions(+), 169 deletions(-) diff --git a/pkg/harvester/edit/harvesterhci.io.storage/provisioners/lvm.driver.harvesterhci.io.vue b/pkg/harvester/edit/harvesterhci.io.storage/provisioners/lvm.driver.harvesterhci.io.vue index 7b7b925c3..beb40ec3f 100644 --- a/pkg/harvester/edit/harvesterhci.io.storage/provisioners/lvm.driver.harvesterhci.io.vue +++ b/pkg/harvester/edit/harvesterhci.io.storage/provisioners/lvm.driver.harvesterhci.io.vue @@ -1,175 +1,344 @@ - - + +