Skip to content

Commit 687f6fb

Browse files
committed
adds creds for deleting the aws secret
1 parent 320e38c commit 687f6fb

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

test/e2e/e2e_suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ var _ = BeforeSuite(func() {
3636

3737
By("Initializing Kubernetes config")
3838

39-
cfg, err = config.GetConfig() // This works both in-cluster and out-of-cluster
39+
cfg, err = config.GetConfig()
4040
Expect(err).NotTo(HaveOccurred(), "failed to get kubeconfig")
4141
})
4242

test/e2e/e2e_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ const (
4646
externalSecrets = "testdata/external_secret.yaml"
4747
expectedSecretValueFile = "testdata/expected_value.yaml"
4848
awsSecretToPushFile = "testdata/aws_k8s_push_secret.yaml"
49+
awsSecretRegionName = "ap-south-1"
4950
)
5051

5152
var _ = Describe("External Secrets Operator End-to-End test scenarios", Ordered, func() {
@@ -82,7 +83,7 @@ var _ = Describe("External Secrets Operator End-to-End test scenarios", Ordered,
8283
By("Deleting the externalsecrets.openshift.operator.io/cluster CR")
8384
loader.DeleteFromFile(testassets.ReadFile, externalSecrets, operatorNamespace)
8485

85-
err := utils.DeleteAWSSecret(awsSecretName, "ap-south-1")
86+
err := utils.DeleteAWSSecret(ctx, clientset, awsSecretName, awsSecretRegionName)
8687
Expect(err).NotTo(HaveOccurred(), "failed to delete AWS secret test/e2e")
8788
})
8889

test/utils/conditions.go

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,18 @@ import (
1717
"k8s.io/client-go/kubernetes"
1818

1919
"github.com/aws/aws-sdk-go/aws"
20+
awscred "github.com/aws/aws-sdk-go/aws/credentials"
2021
"github.com/aws/aws-sdk-go/aws/session"
2122
"github.com/aws/aws-sdk-go/service/secretsmanager"
2223
)
2324

25+
const (
26+
awsCredSecretName = "aws-creds"
27+
awsCredNamespace = "kube-system"
28+
awsCredAccessKeySecretKeyName = "aws_secret_access_key"
29+
awsCredKeyIdSecretKeyName = "aws_access_key_id"
30+
)
31+
2432
type AssetFunc func(string) ([]byte, error)
2533

2634
// VerifyPodsReadyByPrefix checks if all pods matching the given prefixes are Ready and ContainersReady.
@@ -110,8 +118,27 @@ func WaitForESOResourceReady(
110118
})
111119
}
112120

113-
func DeleteAWSSecret(secretName, region string) error {
121+
func fetchAWSCreds(ctx context.Context, k8sClient *kubernetes.Clientset) (string, string, error) {
122+
cred, err := k8sClient.CoreV1().Secrets(awsCredNamespace).Get(ctx, awsCredSecretName, metav1.GetOptions{})
123+
if err != nil {
124+
return "", "", err
125+
}
126+
id := string(cred.Data[awsCredKeyIdSecretKeyName])
127+
key := string(cred.Data[awsCredAccessKeySecretKeyName])
128+
return id, key, nil
129+
}
130+
131+
func DeleteAWSSecret(ctx context.Context, k8sClient *kubernetes.Clientset, secretName, region string) error {
132+
id, key, err := fetchAWSCreds(ctx, k8sClient)
133+
if err != nil {
134+
return err
135+
}
136+
114137
sess, err := session.NewSession(&aws.Config{
138+
Credentials: awscred.NewCredentials(&awscred.StaticProvider{Value: awscred.Value{
139+
AccessKeyID: id,
140+
SecretAccessKey: key,
141+
}}),
115142
Region: aws.String(region),
116143
})
117144
if err != nil {

0 commit comments

Comments
 (0)