Browse Source

fix(security): create provider for webhook & fake (#5628)

Signed-off-by: Shimon Darshan <Shimon.Darshan@gmail.com>
Co-authored-by: Gergely Brautigam <skarlso777@gmail.com>
Shimon 4 months ago
parent
commit
b4e8e89a3f
4 changed files with 61 additions and 5 deletions
  1. 1 1
      Makefile
  2. 30 0
      pkg/register/fake.go
  3. 0 4
      pkg/register/providers.go
  4. 30 0
      pkg/register/webhook.go

+ 1 - 1
Makefile

@@ -108,7 +108,7 @@ go-work:
 .PHONY: test
 test: generate envtest go-work ## Run tests
 	@$(INFO) go test unit-tests
-	KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(KUBERNETES_VERSION) -p path --bin-dir $(LOCALBIN))" go test work -v -race -coverprofile cover.out
+	KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(KUBERNETES_VERSION) -p path --bin-dir $(LOCALBIN))" go test -tags $(PROVIDER) work -v -race -coverprofile cover.out
 	@$(OK) go test unit-tests
 
 .PHONY: test.e2e

+ 30 - 0
pkg/register/fake.go

@@ -0,0 +1,30 @@
+//go:build fake || all_providers
+
+/*
+Copyright © 2025 ESO Maintainer Team
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Package register provides explicit registration of all providers and generators.
+package register
+
+import (
+	esv1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1"
+	fake "github.com/external-secrets/external-secrets/providers/v1/fake"
+)
+
+func init() {
+	// Register fake provider
+	esv1.Register(fake.NewProvider(), fake.ProviderSpec(), fake.MaintenanceStatus())
+}

+ 0 - 4
pkg/register/providers.go

@@ -19,14 +19,10 @@ package register
 
 import (
 	esv1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1"
-	fake "github.com/external-secrets/external-secrets/providers/v1/fake"
 	kubernetes "github.com/external-secrets/external-secrets/providers/v1/kubernetes"
-	webhook "github.com/external-secrets/external-secrets/providers/v1/webhook"
 )
 
 func init() {
 	// Register Kuberntetes providers
-	esv1.Register(fake.NewProvider(), fake.ProviderSpec(), fake.MaintenanceStatus())
 	esv1.Register(kubernetes.NewProvider(), kubernetes.ProviderSpec(), kubernetes.MaintenanceStatus())
-	esv1.Register(webhook.NewProvider(), webhook.ProviderSpec(), webhook.MaintenanceStatus())
 }

+ 30 - 0
pkg/register/webhook.go

@@ -0,0 +1,30 @@
+//go:build webhook || all_providers
+
+/*
+Copyright © 2025 ESO Maintainer Team
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Package register provides explicit registration of all providers and generators.
+package register
+
+import (
+	esv1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1"
+	webhook "github.com/external-secrets/external-secrets/providers/v1/webhook"
+)
+
+func init() {
+	// Register webhook provider
+	esv1.Register(webhook.NewProvider(), webhook.ProviderSpec(), webhook.MaintenanceStatus())
+}