From ebcafa01f9e4d1e184a1c9a41601041c32da2f35 Mon Sep 17 00:00:00 2001 From: joshsiv-mulga Date: Wed, 7 Oct 2026 14:23:04 +1000 Subject: [PATCH] refactor: move EC2 placementgroup action adapters to domains/ec2/awsapi --- spinifex/accountteardown/reapers_ec2.go | 6 +++--- .../ec2/awsapi}/placementgroup/CreatePlacementGroup.go | 2 +- .../ec2/awsapi}/placementgroup/DeletePlacementGroup.go | 2 +- .../ec2/awsapi}/placementgroup/DescribePlacementGroups.go | 2 +- .../ec2/awsapi}/placementgroup/placementgroup_test.go | 2 +- spinifex/gateway/ec2.go | 8 ++++---- tests/integration/placementgroup_daemon_lite.go | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) rename spinifex/{gateway/ec2 => domains/ec2/awsapi}/placementgroup/CreatePlacementGroup.go (96%) rename spinifex/{gateway/ec2 => domains/ec2/awsapi}/placementgroup/DeletePlacementGroup.go (96%) rename spinifex/{gateway/ec2 => domains/ec2/awsapi}/placementgroup/DescribePlacementGroups.go (95%) rename spinifex/{gateway/ec2 => domains/ec2/awsapi}/placementgroup/placementgroup_test.go (98%) diff --git a/spinifex/accountteardown/reapers_ec2.go b/spinifex/accountteardown/reapers_ec2.go index 43789c7bd..121f88851 100644 --- a/spinifex/accountteardown/reapers_ec2.go +++ b/spinifex/accountteardown/reapers_ec2.go @@ -13,12 +13,12 @@ import ( "github.com/aws/aws-sdk-go/service/s3" ec2keyapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/key" ec2launchtemplateapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/launchtemplate" + ec2placementgroupapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/placementgroup" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" gateway_ec2_eip "github.com/mulgadc/spinifex/spinifex/gateway/ec2/eip" gateway_ec2_igw "github.com/mulgadc/spinifex/spinifex/gateway/ec2/igw" gateway_ec2_image "github.com/mulgadc/spinifex/spinifex/gateway/ec2/image" gateway_ec2_instance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/instance" - gateway_ec2_placementgroup "github.com/mulgadc/spinifex/spinifex/gateway/ec2/placementgroup" gateway_ec2_routetable "github.com/mulgadc/spinifex/spinifex/gateway/ec2/routetable" gateway_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/gateway/ec2/snapshot" gateway_ec2_volume "github.com/mulgadc/spinifex/spinifex/gateway/ec2/volume" @@ -596,7 +596,7 @@ func (r *placementGroupReaper) Kind() string { return "placement-group" } func (r *placementGroupReaper) Stage() Stage { return StagePlatform } func (r *placementGroupReaper) List(ctx context.Context, accountID string) ([]Resource, error) { - out, err := gateway_ec2_placementgroup.DescribePlacementGroups(ctx, &ec2.DescribePlacementGroupsInput{}, r.nc, accountID) + out, err := ec2placementgroupapi.DescribePlacementGroups(ctx, &ec2.DescribePlacementGroupsInput{}, r.nc, accountID) if err != nil { return nil, err } @@ -612,7 +612,7 @@ func (r *placementGroupReaper) List(ctx context.Context, accountID string) ([]Re } func (r *placementGroupReaper) Delete(ctx context.Context, accountID string, resource Resource, _ bool) error { - _, err := gateway_ec2_placementgroup.DeletePlacementGroup(ctx, &ec2.DeletePlacementGroupInput{ + _, err := ec2placementgroupapi.DeletePlacementGroup(ctx, &ec2.DeletePlacementGroupInput{ GroupName: aws.String(resource.ID), }, r.nc, accountID) return ignoreAlreadyGone(err) diff --git a/spinifex/gateway/ec2/placementgroup/CreatePlacementGroup.go b/spinifex/domains/ec2/awsapi/placementgroup/CreatePlacementGroup.go similarity index 96% rename from spinifex/gateway/ec2/placementgroup/CreatePlacementGroup.go rename to spinifex/domains/ec2/awsapi/placementgroup/CreatePlacementGroup.go index 5143810f5..6fd3054b3 100644 --- a/spinifex/gateway/ec2/placementgroup/CreatePlacementGroup.go +++ b/spinifex/domains/ec2/awsapi/placementgroup/CreatePlacementGroup.go @@ -1,4 +1,4 @@ -package gateway_ec2_placementgroup +package placementgroup import ( "context" diff --git a/spinifex/gateway/ec2/placementgroup/DeletePlacementGroup.go b/spinifex/domains/ec2/awsapi/placementgroup/DeletePlacementGroup.go similarity index 96% rename from spinifex/gateway/ec2/placementgroup/DeletePlacementGroup.go rename to spinifex/domains/ec2/awsapi/placementgroup/DeletePlacementGroup.go index 265ed4fbc..97ef9d600 100644 --- a/spinifex/gateway/ec2/placementgroup/DeletePlacementGroup.go +++ b/spinifex/domains/ec2/awsapi/placementgroup/DeletePlacementGroup.go @@ -1,4 +1,4 @@ -package gateway_ec2_placementgroup +package placementgroup import ( "context" diff --git a/spinifex/gateway/ec2/placementgroup/DescribePlacementGroups.go b/spinifex/domains/ec2/awsapi/placementgroup/DescribePlacementGroups.go similarity index 95% rename from spinifex/gateway/ec2/placementgroup/DescribePlacementGroups.go rename to spinifex/domains/ec2/awsapi/placementgroup/DescribePlacementGroups.go index 6df6a14f1..f27dd9d59 100644 --- a/spinifex/gateway/ec2/placementgroup/DescribePlacementGroups.go +++ b/spinifex/domains/ec2/awsapi/placementgroup/DescribePlacementGroups.go @@ -1,4 +1,4 @@ -package gateway_ec2_placementgroup +package placementgroup import ( "context" diff --git a/spinifex/gateway/ec2/placementgroup/placementgroup_test.go b/spinifex/domains/ec2/awsapi/placementgroup/placementgroup_test.go similarity index 98% rename from spinifex/gateway/ec2/placementgroup/placementgroup_test.go rename to spinifex/domains/ec2/awsapi/placementgroup/placementgroup_test.go index 8af3bb005..82a8b2f45 100644 --- a/spinifex/gateway/ec2/placementgroup/placementgroup_test.go +++ b/spinifex/domains/ec2/awsapi/placementgroup/placementgroup_test.go @@ -1,4 +1,4 @@ -package gateway_ec2_placementgroup +package placementgroup import ( "context" diff --git a/spinifex/gateway/ec2.go b/spinifex/gateway/ec2.go index 4425cadc8..65c1c8350 100644 --- a/spinifex/gateway/ec2.go +++ b/spinifex/gateway/ec2.go @@ -17,6 +17,7 @@ import ( ec2capacityreservationapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/capacityreservation" ec2keyapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/key" ec2launchtemplateapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/launchtemplate" + ec2placementgroupapi "github.com/mulgadc/spinifex/spinifex/domains/ec2/awsapi/placementgroup" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" awsxml "github.com/mulgadc/spinifex/spinifex/foundation/aws/xml" "github.com/mulgadc/spinifex/spinifex/foundation/lifecycle/idempotency" @@ -27,7 +28,6 @@ import ( gateway_ec2_image "github.com/mulgadc/spinifex/spinifex/gateway/ec2/image" gateway_ec2_instance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/instance" gateway_ec2_natgw "github.com/mulgadc/spinifex/spinifex/gateway/ec2/natgw" - gateway_ec2_placementgroup "github.com/mulgadc/spinifex/spinifex/gateway/ec2/placementgroup" gateway_ec2_routetable "github.com/mulgadc/spinifex/spinifex/gateway/ec2/routetable" gateway_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/gateway/ec2/snapshot" gateway_ec2_spotinstance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/spotinstance" @@ -434,13 +434,13 @@ var ec2Actions = map[string]ec2Action{ return gateway_ec2_eigw.DescribeEgressOnlyInternetGateways(ctx, input, gw.NATSConn, accountID) }), "CreatePlacementGroup": ec2Handler(func(ctx context.Context, input *ec2.CreatePlacementGroupInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_placementgroup.CreatePlacementGroup(ctx, input, gw.NATSConn, accountID) + return ec2placementgroupapi.CreatePlacementGroup(ctx, input, gw.NATSConn, accountID) }), "DeletePlacementGroup": ec2Handler(func(ctx context.Context, input *ec2.DeletePlacementGroupInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_placementgroup.DeletePlacementGroup(ctx, input, gw.NATSConn, accountID) + return ec2placementgroupapi.DeletePlacementGroup(ctx, input, gw.NATSConn, accountID) }), "DescribePlacementGroups": ec2Handler(func(ctx context.Context, input *ec2.DescribePlacementGroupsInput, gw *GatewayConfig, accountID string) (any, error) { - return gateway_ec2_placementgroup.DescribePlacementGroups(ctx, input, gw.NATSConn, accountID) + return ec2placementgroupapi.DescribePlacementGroups(ctx, input, gw.NATSConn, accountID) }), "CreateCapacityReservation": ec2IdempotentHandler(func(ctx context.Context, input *ec2.CreateCapacityReservationInput, gw *GatewayConfig, accountID string) (ec2.CreateCapacityReservationOutput, error) { return ec2capacityreservationapi.CreateCapacityReservation(ctx, input, gw.NATSConn, gw.ExpectedNodes, accountID) diff --git a/tests/integration/placementgroup_daemon_lite.go b/tests/integration/placementgroup_daemon_lite.go index 25bc785e3..fd452b689 100644 --- a/tests/integration/placementgroup_daemon_lite.go +++ b/tests/integration/placementgroup_daemon_lite.go @@ -15,7 +15,7 @@ import ( // ec2placementgroup.PlacementGroupServiceImpl — the same production // code a live daemon runs — to every ec2.*PlacementGroup*/ec2.Reserve*/ // ec2.Finalize*/ec2.Release* subject the gateway's NATSPlacementGroupService -// client calls (gateway/ec2/placementgroup/*.go and RunInstances.go's spread/ +// client calls (domains/ec2/awsapi/placementgroup/*.go and RunInstances.go's spread/ // cluster routing in gateway/ec2/instance/placement.go). Unlike a StubSubject // canned reply, this exercises the real KV-backed CAS reservation logic, so a // test that checks placement-group strategy routing actually proves the