Преглед изворни кода

feat: register provider v2 api schemes

Moritz Johner пре 1 месец
родитељ
комит
5b48a3b8df
2 измењених фајлова са 48 додато и 1 уклоњено
  1. 8 0
      cmd/controller/root.go
  2. 40 1
      cmd/controller/root_test.go

+ 8 - 0
cmd/controller/root.go

@@ -40,6 +40,9 @@ import (
 	esv1alpha1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1alpha1"
 	esv2alpha1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v2alpha1"
 	genv1alpha1 "github.com/external-secrets/external-secrets/apis/generators/v1alpha1"
+	awsv2 "github.com/external-secrets/external-secrets/apis/provider/aws/v2alpha1"
+	fakev2alpha1 "github.com/external-secrets/external-secrets/apis/provider/fake/v2alpha1"
+	k8sv2alpha1 "github.com/external-secrets/external-secrets/apis/provider/kubernetes/v2alpha1"
 	"github.com/external-secrets/external-secrets/pkg/controllers/clusterexternalsecret"
 	"github.com/external-secrets/external-secrets/pkg/controllers/clusterexternalsecret/cesmetrics"
 	clusterprovidermetrics "github.com/external-secrets/external-secrets/pkg/controllers/clusterprovider"
@@ -129,6 +132,11 @@ func init() {
 	utilruntime.Must(esv1alpha1.AddToScheme(scheme))
 	utilruntime.Must(esv2alpha1.AddToScheme(scheme))
 	utilruntime.Must(genv1alpha1.AddToScheme(scheme))
+
+	// v2 provider schemes
+	utilruntime.Must(awsv2.AddToScheme(scheme))
+	utilruntime.Must(fakev2alpha1.AddToScheme(scheme))
+	utilruntime.Must(k8sv2alpha1.AddToScheme(scheme))
 }
 
 var rootCmd = &cobra.Command{

+ 40 - 1
cmd/controller/root_test.go

@@ -16,7 +16,14 @@ limitations under the License.
 
 package controller
 
-import "testing"
+import (
+	"testing"
+
+	awsv2 "github.com/external-secrets/external-secrets/apis/provider/aws/v2alpha1"
+	fakev2alpha1 "github.com/external-secrets/external-secrets/apis/provider/fake/v2alpha1"
+	k8sv2alpha1 "github.com/external-secrets/external-secrets/apis/provider/kubernetes/v2alpha1"
+	"k8s.io/apimachinery/pkg/runtime/schema"
+)
 
 func TestStoreRequeueIntervalDefault(t *testing.T) {
 	flag := rootCmd.Flags().Lookup("store-requeue-interval")
@@ -28,3 +35,35 @@ func TestStoreRequeueIntervalDefault(t *testing.T) {
 		t.Fatalf("expected store-requeue-interval default 30s, got %q", flag.DefValue)
 	}
 }
+
+func TestSchemeIncludesProviderV2Kinds(t *testing.T) {
+	t.Helper()
+
+	testCases := []struct {
+		name string
+		gvk  schema.GroupVersionKind
+	}{
+		{
+			name: "aws secretsmanager",
+			gvk:  awsv2.GroupVersion.WithKind(awsv2.SecretsManagerKind),
+		},
+		{
+			name: "aws parameterstore",
+			gvk:  awsv2.GroupVersion.WithKind(awsv2.ParameterStoreKind),
+		},
+		{
+			name: "fake",
+			gvk:  fakev2alpha1.GroupVersion.WithKind(fakev2alpha1.Kind),
+		},
+		{
+			name: "kubernetes",
+			gvk:  k8sv2alpha1.GroupVersion.WithKind(k8sv2alpha1.Kind),
+		},
+	}
+
+	for _, tc := range testCases {
+		if _, err := scheme.New(tc.gvk); err != nil {
+			t.Fatalf("%s kind not registered in controller scheme: %v", tc.name, err)
+		}
+	}
+}