internal/awscloud: remove S3 presign client from AWS struct

This functionality is not needed any more, since it is provided by the
osbuild/images version of AWS.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2025-08-08 13:48:02 +02:00 committed by Tomáš Hozza
parent 7645f60f27
commit 0b5bfa044f
6 changed files with 8 additions and 41 deletions

View file

@ -29,17 +29,15 @@ type AWS struct {
ec2imds EC2Imds ec2imds EC2Imds
s3 S3 s3 S3
s3uploader S3Manager s3uploader S3Manager
s3presign S3Presign
asg ASG 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{ return &AWS{
ec2: ec2cli, ec2: ec2cli,
ec2imds: ec2imds, ec2imds: ec2imds,
s3: s3cli, s3: s3cli,
s3uploader: upldr, s3uploader: upldr,
s3presign: sign,
asg: nil, asg: nil,
} }
} }
@ -54,7 +52,6 @@ func newAwsFromConfig(cfg aws.Config, imagesAWS *images_awscloud.AWS) *AWS {
ec2imds: imds.NewFromConfig(cfg), ec2imds: imds.NewFromConfig(cfg),
s3: s3cli, s3: s3cli,
s3uploader: manager.NewUploader(s3cli), s3uploader: manager.NewUploader(s3cli),
s3presign: s3.NewPresignClient(s3cli),
asg: autoscaling.NewFromConfig(cfg), asg: autoscaling.NewFromConfig(cfg),
} }
} }
@ -185,7 +182,6 @@ func newAwsFromCredsWithEndpoint(creds config.LoadOptionsFunc, region, endpoint,
ec2imds: imds.NewFromConfig(cfg), ec2imds: imds.NewFromConfig(cfg),
s3: s3cli, s3: s3cli,
s3uploader: manager.NewUploader(s3cli), s3uploader: manager.NewUploader(s3cli),
s3presign: s3.NewPresignClient(s3cli),
asg: autoscaling.NewFromConfig(cfg), asg: autoscaling.NewFromConfig(cfg),
}, nil }, nil
} }

View file

@ -10,7 +10,7 @@ import (
func TestEC2CopyImage(t *testing.T) { func TestEC2CopyImage(t *testing.T) {
m := newEc2Mock(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") imageId, err := aws.CopyImage("image-name", "image-id", "region")
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, "image-id", imageId) require.Equal(t, "image-id", imageId)

View file

@ -3,7 +3,6 @@ package awscloud
import ( import (
"context" "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/ec2/imds"
"github.com/aws/aws-sdk-go-v2/feature/s3/manager" "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
"github.com/aws/aws-sdk-go-v2/service/autoscaling" "github.com/aws/aws-sdk-go-v2/service/autoscaling"
@ -70,7 +69,3 @@ type S3 interface {
type S3Manager interface { type S3Manager interface {
Upload(context.Context, *s3.PutObjectInput, ...func(*manager.Uploader)) (*manager.UploadOutput, error) 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)
}

View file

@ -11,7 +11,7 @@ import (
func TestEC2RemoveSnapshotAndDeregisterImage(t *testing.T) { func TestEC2RemoveSnapshotAndDeregisterImage(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
err := aws.RemoveSnapshotAndDeregisterImage(&ec2types.Image{ err := aws.RemoveSnapshotAndDeregisterImage(&ec2types.Image{

View file

@ -4,10 +4,8 @@ import (
"context" "context"
"io" "io"
"testing" "testing"
"time"
"github.com/aws/aws-sdk-go-v2/aws" "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/ec2/imds"
"github.com/aws/aws-sdk-go-v2/feature/s3/manager" "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
"github.com/aws/aws-sdk-go-v2/service/ec2" "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 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 { type ec2imdsmock struct {
t *testing.T t *testing.T

View file

@ -75,7 +75,7 @@ write_files:
func TestSIRunSecureInstance(t *testing.T) { func TestSIRunSecureInstance(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname") 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) { func TestSITerminateSecureInstance(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
// Small hack, describeinstances returns terminate/running // Small hack, describeinstances returns terminate/running
@ -110,7 +110,7 @@ func TestSITerminateSecureInstance(t *testing.T) {
func TestSICreateSGFailures(t *testing.T) { func TestSICreateSGFailures(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
m.failFn["CreateSecurityGroup"] = fmt.Errorf("some-error") m.failFn["CreateSecurityGroup"] = fmt.Errorf("some-error")
@ -126,7 +126,7 @@ func TestSICreateSGFailures(t *testing.T) {
func TestSICreateLTFailures(t *testing.T) { func TestSICreateLTFailures(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
m.failFn["CreateLaunchTemplate"] = fmt.Errorf("some-error") m.failFn["CreateLaunchTemplate"] = fmt.Errorf("some-error")
@ -142,7 +142,7 @@ func TestSICreateLTFailures(t *testing.T) {
func TestSICreateFleetFailures(t *testing.T) { func TestSICreateFleetFailures(t *testing.T) {
m := newEc2Mock(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) require.NotNil(t, aws)
// create fleet error should call create fleet thrice // create fleet error should call create fleet thrice