From 3aeb70027b0ce9bef57124191be049803d9234d9 Mon Sep 17 00:00:00 2001 From: kkb0318 Date: Wed, 3 Apr 2024 20:54:28 +0900 Subject: [PATCH] aws S3 bucket public --- internal/client/aws.go | 15 ++++++++++++--- internal/controller/irsasetup_controller_test.go | 10 +++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/internal/client/aws.go b/internal/client/aws.go index eaaddce..26603dd 100644 --- a/internal/client/aws.go +++ b/internal/client/aws.go @@ -4,11 +4,13 @@ import ( "bytes" "context" "fmt" + "strings" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/iam" "github.com/aws/aws-sdk-go-v2/service/s3" + "github.com/aws/aws-sdk-go-v2/service/s3/types" ) type AwsConfig struct { @@ -54,7 +56,12 @@ func (a *AwsS3Client) PutObject(ctx context.Context, key string, body []byte) er func (a *AwsS3Client) CreateBucket(ctx context.Context) error { _, err := a.client.CreateBucket(ctx, &s3.CreateBucketInput{ + ACL: types.BucketCannedACLPublicRead, Bucket: aws.String(a.bucketName), + CreateBucketConfiguration: &types.CreateBucketConfiguration{ + LocationConstraint: types.BucketLocationConstraint(a.Region()), + }, + ObjectOwnership: types.ObjectOwnershipBucketOwnerPreferred, }) return err } @@ -73,9 +80,11 @@ type AwsIamClient struct { func (a *AwsIamClient) CreateOIDCProvider(ctx context.Context, providerUrl string) (string, error) { result, err := a.client.CreateOpenIDConnectProvider(ctx, &iam.CreateOpenIDConnectProviderInput{ - Url: &providerUrl, - ClientIDList: []string{"sts.amazonaws.com"}, - ThumbprintList: []string{}, + Url: &providerUrl, + ClientIDList: []string{"sts.amazonaws.com"}, + ThumbprintList: []string{ + strings.Repeat("x", 40), // Thumbprint is required, but IAM will retrieve and use the top intermediate CA thumbprint of the OpenID Connect identity provider server certificate. + }, }) if err != nil { return "", err diff --git a/internal/controller/irsasetup_controller_test.go b/internal/controller/irsasetup_controller_test.go index e3396eb..cfb6604 100644 --- a/internal/controller/irsasetup_controller_test.go +++ b/internal/controller/irsasetup_controller_test.go @@ -51,7 +51,15 @@ var _ = Describe("IRSASetup Controller", func() { Name: resourceName, Namespace: "default", }, - // TODO(user): Specify other spec details if needed. + Spec: irsav1alpha1.IRSASetupSpec{ + Mode: "selfhoted", + Discovery: irsav1alpha1.Discovery{ + S3: irsav1alpha1.S3Discovery{ + Region: "ap-northeast-1", + BucketName: "irsa-manager-kkb-1", + }, + }, + }, } Expect(k8sClient.Create(ctx, resource)).To(Succeed()) }