|
|
@@ -18,6 +18,7 @@ import (
|
|
|
v1 "k8s.io/api/core/v1"
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
|
|
+ esv1alpha1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1alpha1"
|
|
|
esv1beta1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1beta1"
|
|
|
"github.com/external-secrets/external-secrets/e2e/framework"
|
|
|
)
|
|
|
@@ -33,6 +34,47 @@ const (
|
|
|
secretValue2 = "{\"foo2\":\"foo2-val\",\"bar2\":\"bar2-val\"}"
|
|
|
)
|
|
|
|
|
|
+// This case creates one secret with json values and syncs them using a single .Spec.DataFrom block.
|
|
|
+func SyncV1Alpha1(f *framework.Framework) (string, func(*framework.TestCase)) {
|
|
|
+ return "[common] should sync secrets from v1alpha1 spec", func(tc *framework.TestCase) {
|
|
|
+ secretKey1 := fmt.Sprintf("%s-%s", f.Namespace.Name, "one")
|
|
|
+ targetSecretKey1 := "name"
|
|
|
+ targetSecretValue1 := "great-name"
|
|
|
+ targetSecretKey2 := "surname"
|
|
|
+ targetSecretValue2 := "great-surname"
|
|
|
+ secretValue := fmt.Sprintf("{ %q: %q, %q: %q }", targetSecretKey1, targetSecretValue1, targetSecretKey2, targetSecretValue2)
|
|
|
+ tc.Secrets = map[string]string{
|
|
|
+ secretKey1: secretValue,
|
|
|
+ }
|
|
|
+ tc.ExpectedSecret = &v1.Secret{
|
|
|
+ Type: v1.SecretTypeOpaque,
|
|
|
+ Data: map[string][]byte{
|
|
|
+ targetSecretKey1: []byte(targetSecretValue1),
|
|
|
+ targetSecretKey2: []byte(targetSecretValue2),
|
|
|
+ },
|
|
|
+ }
|
|
|
+ tc.ExternalSecretV1Alpha1 = &esv1alpha1.ExternalSecret{
|
|
|
+ ObjectMeta: metav1.ObjectMeta{
|
|
|
+ Name: "e2e-es",
|
|
|
+ Namespace: f.Namespace.Name,
|
|
|
+ },
|
|
|
+ Spec: esv1alpha1.ExternalSecretSpec{
|
|
|
+ SecretStoreRef: esv1alpha1.SecretStoreRef{
|
|
|
+ Name: f.Namespace.Name,
|
|
|
+ },
|
|
|
+ Target: esv1alpha1.ExternalSecretTarget{
|
|
|
+ Name: framework.TargetSecretName,
|
|
|
+ },
|
|
|
+ DataFrom: []esv1alpha1.ExternalSecretDataRemoteRef{
|
|
|
+ {
|
|
|
+ Key: secretKey1,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// This case creates multiple secrets with simple key/value pairs and syncs them using multiple .Spec.Data blocks.
|
|
|
// Not supported by: vault.
|
|
|
func SimpleDataSync(f *framework.Framework) (string, func(*framework.TestCase)) {
|