From c40d04892ef415b0dd953537baa274ed7b25a3ec Mon Sep 17 00:00:00 2001 From: ostempel Date: Tue, 12 Nov 2024 14:58:30 +0100 Subject: [PATCH] validate csidriverlvm-config --- pkg/apis/csidriverlvm/v1alpha1/types.go | 8 ++++++++ pkg/controller/csi-driver-lvm/actuator.go | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/pkg/apis/csidriverlvm/v1alpha1/types.go b/pkg/apis/csidriverlvm/v1alpha1/types.go index 5c1aa44..bbf4d83 100644 --- a/pkg/apis/csidriverlvm/v1alpha1/types.go +++ b/pkg/apis/csidriverlvm/v1alpha1/types.go @@ -1,6 +1,8 @@ package v1alpha1 import ( + "regexp" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -17,3 +19,9 @@ type CsiDriverLvmConfig struct { DevicePattern *string `json:"devicePattern,omitempty"` HostWritePath *string `json:"hostWritePath,omitempty"` } + +func (config *CsiDriverLvmConfig) IsVaild() bool { + re := regexp.MustCompile(`^(/[^/ ]*)+/?$`) + + return re.MatchString(*config.HostWritePath) && re.MatchString(*config.DevicePattern) +} diff --git a/pkg/controller/csi-driver-lvm/actuator.go b/pkg/controller/csi-driver-lvm/actuator.go index 218de9e..c04dfe6 100644 --- a/pkg/controller/csi-driver-lvm/actuator.go +++ b/pkg/controller/csi-driver-lvm/actuator.go @@ -72,6 +72,10 @@ func (a *actuator) Reconcile(ctx context.Context, log logr.Logger, ex *extension } } + if !csidriverlvmConfig.IsVaild() { + return fmt.Errorf("invalid csi-driver-lvm configuration") + } + var hostwritepath = csidriverlvmConfig.HostWritePath var devicepattern = csidriverlvmConfig.DevicePattern