From 0b5bfa044fcde9f7557d33edfcc8cf08ff9a958d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= Date: Fri, 8 Aug 2025 13:48:02 +0200 Subject: [PATCH] internal/awscloud: remove S3 presign client from AWS struct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This functionality is not needed any more, since it is provided by the osbuild/images version of AWS. Signed-off-by: Tomáš Hozza --- internal/cloud/awscloud/awscloud.go | 6 +---- internal/cloud/awscloud/awscloud_test.go | 2 +- internal/cloud/awscloud/client-interfaces.go | 5 ---- internal/cloud/awscloud/maintenance_test.go | 2 +- internal/cloud/awscloud/mocks_test.go | 24 ------------------- .../cloud/awscloud/secure-instance_test.go | 10 ++++---- 6 files changed, 8 insertions(+), 41 deletions(-) diff --git a/internal/cloud/awscloud/awscloud.go b/internal/cloud/awscloud/awscloud.go index 442351373..8cde13b0f 100644 --- a/internal/cloud/awscloud/awscloud.go +++ b/internal/cloud/awscloud/awscloud.go @@ -29,17 +29,15 @@ type AWS struct { ec2imds EC2Imds s3 S3 s3uploader S3Manager - s3presign S3Presign asg ASG } -func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3, upldr S3Manager, sign S3Presign) *AWS { +func newForTest(ec2cli EC2, ec2imds EC2Imds, s3cli S3, upldr S3Manager) *AWS { return &AWS{ ec2: ec2cli, ec2imds: ec2imds, s3: s3cli, s3uploader: upldr, - s3presign: sign, asg: nil, } } @@ -54,7 +52,6 @@ func newAwsFromConfig(cfg aws.Config, imagesAWS *images_awscloud.AWS) *AWS { ec2imds: imds.NewFromConfig(cfg), s3: s3cli, s3uploader: manager.NewUploader(s3cli), - s3presign: s3.NewPresignClient(s3cli), asg: autoscaling.NewFromConfig(cfg), } } @@ -185,7 +182,6 @@ func newAwsFromCredsWithEndpoint(creds config.LoadOptionsFunc, region, endpoint, ec2imds: imds.NewFromConfig(cfg), s3: s3cli, s3uploader: manager.NewUploader(s3cli), - s3presign: s3.NewPresignClient(s3cli), asg: autoscaling.NewFromConfig(cfg), }, nil } diff --git a/internal/cloud/awscloud/awscloud_test.go b/internal/cloud/awscloud/awscloud_test.go index 98e4d610d..7bc51e293 100644 --- a/internal/cloud/awscloud/awscloud_test.go +++ b/internal/cloud/awscloud/awscloud_test.go @@ -10,7 +10,7 @@ import ( func TestEC2CopyImage(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil, nil) + aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil) imageId, err := aws.CopyImage("image-name", "image-id", "region") require.NoError(t, err) require.Equal(t, "image-id", imageId) diff --git a/internal/cloud/awscloud/client-interfaces.go b/internal/cloud/awscloud/client-interfaces.go index ae01b1345..7f5b6fbe9 100644 --- a/internal/cloud/awscloud/client-interfaces.go +++ b/internal/cloud/awscloud/client-interfaces.go @@ -3,7 +3,6 @@ package awscloud import ( "context" - "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/feature/s3/manager" "github.com/aws/aws-sdk-go-v2/service/autoscaling" @@ -70,7 +69,3 @@ type S3 interface { type S3Manager interface { Upload(context.Context, *s3.PutObjectInput, ...func(*manager.Uploader)) (*manager.UploadOutput, error) } - -type S3Presign interface { - PresignGetObject(context.Context, *s3.GetObjectInput, ...func(*s3.PresignOptions)) (*v4.PresignedHTTPRequest, error) -} diff --git a/internal/cloud/awscloud/maintenance_test.go b/internal/cloud/awscloud/maintenance_test.go index 3f53723d9..3e89c80d7 100644 --- a/internal/cloud/awscloud/maintenance_test.go +++ b/internal/cloud/awscloud/maintenance_test.go @@ -11,7 +11,7 @@ import ( func TestEC2RemoveSnapshotAndDeregisterImage(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil, nil) + aws := awscloud.NewForTest(m, nil, &s3mock{t, "bucket", "object-key"}, nil) require.NotNil(t, aws) err := aws.RemoveSnapshotAndDeregisterImage(&ec2types.Image{ diff --git a/internal/cloud/awscloud/mocks_test.go b/internal/cloud/awscloud/mocks_test.go index 572231169..5adac462f 100644 --- a/internal/cloud/awscloud/mocks_test.go +++ b/internal/cloud/awscloud/mocks_test.go @@ -4,10 +4,8 @@ import ( "context" "io" "testing" - "time" "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/feature/s3/manager" "github.com/aws/aws-sdk-go-v2/service/ec2" @@ -54,28 +52,6 @@ func (m *s3upldrmock) Upload(ctx context.Context, input *s3.PutObjectInput, optf return nil, nil } -type s3signmock struct { - t *testing.T - - bucket string - key string -} - -func (m *s3signmock) PresignGetObject(ctx context.Context, input *s3.GetObjectInput, optfns ...func(*s3.PresignOptions)) (*v4.PresignedHTTPRequest, error) { - require.Equal(m.t, m.bucket, *input.Bucket) - require.Equal(m.t, m.key, *input.Key) - - opts := &s3.PresignOptions{} - for _, fn := range optfns { - fn(opts) - } - require.Equal(m.t, time.Duration(7*24*time.Hour), opts.Expires) - - return &v4.PresignedHTTPRequest{ - URL: "https://url.real", - }, nil -} - type ec2imdsmock struct { t *testing.T diff --git a/internal/cloud/awscloud/secure-instance_test.go b/internal/cloud/awscloud/secure-instance_test.go index 2ebc48bcc..506605858 100644 --- a/internal/cloud/awscloud/secure-instance_test.go +++ b/internal/cloud/awscloud/secure-instance_test.go @@ -75,7 +75,7 @@ write_files: func TestSIRunSecureInstance(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil) require.NotNil(t, aws) si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname") @@ -88,7 +88,7 @@ func TestSIRunSecureInstance(t *testing.T) { func TestSITerminateSecureInstance(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil) require.NotNil(t, aws) // Small hack, describeinstances returns terminate/running @@ -110,7 +110,7 @@ func TestSITerminateSecureInstance(t *testing.T) { func TestSICreateSGFailures(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil) require.NotNil(t, aws) m.failFn["CreateSecurityGroup"] = fmt.Errorf("some-error") @@ -126,7 +126,7 @@ func TestSICreateSGFailures(t *testing.T) { func TestSICreateLTFailures(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil) require.NotNil(t, aws) m.failFn["CreateLaunchTemplate"] = fmt.Errorf("some-error") @@ -142,7 +142,7 @@ func TestSICreateLTFailures(t *testing.T) { func TestSICreateFleetFailures(t *testing.T) { m := newEc2Mock(t) - aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil) + aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil) require.NotNil(t, aws) // create fleet error should call create fleet thrice