Commit Graph

392 Commits

Author SHA1 Message Date
joshsiv-mulga 2603620fb7 fix: compose the ECR control plane in the integration harness
The harness stopped wiring ECR's composed capabilities when the
authorization-token action was composed, so every integration test that
creates a repository or mints a token got ServerInternal. It now composes
ECR as the awsgw role does, sharing the OCI registry, meta store and token
issuer the /v2 data plane uses.
2026-10-07 22:59:00 +10:00
joshsiv-mulga 6c48ab6b78 refactor: register the ECR control plane from its domain
domains/ecr/awsapi now registers the "ecr" AWS JSON 1.1 surface with the
ingress dispatch registry: action resolution, resource scope, authorisation
through the invocation, the composed capabilities and the success writer all
live with the domain. The awsgw role is the only serving composition point;
the gateway no longer imports the ECR API package and ECR leaves the legacy
service table, JSON error table and dispatch switch. The OCI /v2 route is
unchanged.

Operation coverage reads ECR's declared inventory, which the registration
uses verbatim; coverage.json is byte-identical.
2026-10-07 22:55:00 +10:00
joshsiv-mulga 931af0ea59 refactor: move EC2 spotinstance action adapters to domains/ec2/awsapi 2026-10-07 14:47:51 +10:00
joshsiv-mulga 534c5b49dd refactor: move EC2 instance action adapters to domains/ec2/awsapi 2026-10-07 14:47:51 +10:00
joshsiv-mulga ebcafa01f9 refactor: move EC2 placementgroup action adapters to domains/ec2/awsapi 2026-10-07 14:23:04 +10:00
joshsiv-mulga eb68ec460d refactor: move EC2 launchtemplate action adapters to domains/ec2/awsapi 2026-10-07 14:23:04 +10:00
joshsiv-mulga 5d60184e89 refactor: move EC2 compute and storage packages to the EC2 domain
Move handlers/ec2/{instance,volume,snapshot,image,tags} to
domains/ec2/<resource>, each named after its directory and imported as
ec2<resource>, which empties handlers/ec2. The daemon's e2e suite
selection now lists the moved EC2 resource paths in place of
handlers/ec2, so EC2-only changes select the daemon suites again.
2026-10-07 09:39:09 +10:00
joshsiv-mulga 20b5deb5c3 refactor: move EC2 VPC networking packages to the EC2 domain
Move handlers/ec2/{vpc,eigw,eip,igw,natgw,routetable} to
domains/ec2/<resource>, each named after its directory and imported as
ec2<resource>. The reconcile drift-watch source scan now matches the
ec2<resource> bucket qualifiers; its rule is unchanged.
2026-10-07 09:25:37 +10:00
joshsiv-mulga d8ab4017ad refactor: move standalone EC2 resource packages to the EC2 domain
Move handlers/ec2/{account,key,launchtemplate,placementgroup,
spotinstance,volumestate} to domains/ec2/<resource>. Each package is
named after its directory and callers import it as ec2<resource>;
volumestate already carried its directory name.
2026-10-07 09:15:14 +10:00
joshsiv-mulga 7003168bc5 refactor: move network packages under the network domain
Move spinifex/network/* to spinifex/domains/network/* as one enclosing
move so the L0-L5 layer invariants keep classifying every package from
a single root. Package names and dependency direction are unchanged;
invariant scan roots, the RG-10 sudo allow-list path, CODEOWNERS and
the repo-root walk in the IMDS netns unit test follow the new path.
2026-10-07 08:15:48 +10:00
joshsiv-mulga 99278d5ffc refactor: move DNS control plane to DNS domain 2026-10-06 14:03:01 +10:00
joshsiv-mulga 09de514ef1 refactor: move instance metadata service to EC2 domain 2026-10-06 12:41:12 +10:00
joshsiv-mulga b5806ce630 refactor: move NATS transport to messaging foundation 2026-10-06 11:37:00 +10:00
joshsiv-mulga 02e0dd0dc6 refactor: move account identifiers to aws identifiers 2026-10-06 11:20:26 +10:00
joshsiv-mulga 7453385631 refactor: move error payload helpers to aws errors 2026-10-06 10:04:06 +10:00
joshsiv-mulga 931d86d5ce refactor: move awsgw role to runtime roles 2026-10-06 09:27:18 +10:00
joshsiv-mulga eab631b420 refactor: move predastore role to runtime roles 2026-10-06 08:57:51 +10:00
joshsiv-mulga 366e2c2e46 refactor: move image catalogue to operator 2026-10-02 15:55:08 +10:00
joshsiv-mulga d8985c2873 refactor: move account key to state foundation 2026-10-02 14:46:22 +10:00
joshsiv-mulga 3360382f51 refactor: consolidate idempotency vocabulary 2026-10-02 13:13:10 +10:00
joshsiv-mulga d3cd6d5208 refactor: move aws policy vocabulary to foundation 2026-10-02 10:39:03 +10:00
joshsiv-mulga 2b945ad886 refactor: move acm domain and action adapters 2026-10-02 09:54:16 +10:00
joshsiv-mulga 6ac02a8865 refactor: move cluster replication policy to state foundation 2026-10-02 09:43:17 +10:00
joshsiv-mulga 474c073167 refactor: move ecr auth bridge to domain 2026-10-01 14:48:07 +10:00
joshsiv-mulga 5e7311eb25 refactor: move ecr registry adapter to domain 2026-10-01 14:45:31 +10:00
joshsiv-mulga 51b5c55b95 refactor: move ecr aws actions to domain 2026-10-01 14:42:37 +10:00
joshsiv-mulga 93084043a9 refactor: move ecr resource owner to domain 2026-10-01 14:35:36 +10:00
joshsiv-mulga f119229861 refactor: move root configuration to bootstrap 2026-10-01 14:23:56 +10:00
joshsiv-mulga dbc62562c8 refactor: move object storage adapter to providers 2026-10-01 14:16:25 +10:00
joshsiv-mulga 3f91a3dbcd Merge remote-tracking branch 'origin/dev' into refactor/spinifex-package-boundaries
# Conflicts:
#	spinifex/daemon/daemon.go
#	spinifex/foundation/aws/arn/arn.go
#	spinifex/foundation/aws/arn/arn_test.go
#	spinifex/foundation/state/kvlease/bucket.go
#	spinifex/foundation/state/kvlease/bucket_test.go
#	spinifex/foundation/state/kvstore/wait.go
#	spinifex/foundation/state/kvstore/wait_test.go
#	spinifex/foundation/state/kvutil/bucket_creation_invariants_test.go
#	spinifex/foundation/state/kvutil/export_test.go
#	spinifex/foundation/state/kvutil/kvutil.go
#	spinifex/foundation/state/kvutil/kvutil_test.go
#	spinifex/foundation/state/kvutil/replicas.go
#	spinifex/foundation/state/kvutil/replicas_health_test.go
#	spinifex/foundation/state/kvutil/replicas_test.go
#	spinifex/foundation/state/kvutil/state_test.go
#	spinifex/gateway/auth.go
#	spinifex/gateway/bedrock/logging.go
#	spinifex/gateway/ec2_authz_test.go
#	spinifex/gateway/ecrapi/authz.go
#	spinifex/gateway/eks.go
#	spinifex/gateway/gateway_test.go
#	spinifex/handlers/ec2/eigw/service_impl.go
#	spinifex/handlers/ec2/igw/service_impl.go
#	spinifex/handlers/ec2/instance/service_impl.go
#	spinifex/handlers/ec2/launchtemplate/service_impl_test.go
#	spinifex/handlers/ec2/placementgroup/service_impl.go
#	spinifex/handlers/ec2/placementgroup/service_impl_test.go
#	spinifex/handlers/ec2/routetable/service_impl.go
#	spinifex/handlers/ec2/spotinstance/service_impl.go
#	spinifex/handlers/ec2/volume/service_impl.go
#	spinifex/handlers/ec2/vpc/eni.go
#	spinifex/handlers/ec2/vpc/security_group.go
#	spinifex/handlers/ec2/vpc/service_impl.go
#	spinifex/handlers/ecs/tags.go
#	spinifex/handlers/eks/k3s_ha_control_plane.go
#	spinifex/handlers/iam/groups.go
#	spinifex/handlers/iam/retry.go
#	spinifex/handlers/rds/subnetgroup_test.go
#	spinifex/handlers/sts/assume_role.go
#	spinifex/ingress/aws/query/parser_fuzz_test.go
#	spinifex/runtime/compute/cache/cache_test.go
#	spinifex/runtime/roles/nats/servername.go
#	spinifex/services/awsgw/awsgw.go
#	spinifex/services/viperblockd/volume_dirty.go
#	spinifex/utils/account.go
2026-10-01 13:31:45 +10:00
joshsiv-mulga 08bd335f0a refactor: establish node status contract 2026-10-01 08:22:26 +10:00
Julian Sommer 36d5788923 fix: require iam:PassRole for EKS cluster and node roles (#1139) 2026-09-30 16:22:16 +10:00
joshsiv-mulga 6d6275e78d refactor: establish cluster health contract 2026-09-30 15:43:34 +10:00
joshsiv-mulga aa0c36ff4e refactor: establish EC2 command contract 2026-09-30 14:46:31 +10:00
Julian Sommer 2b4ddad78a chore: drop dead and redundant nolint directives
Removes directives for linters that are not enabled (noctx, exhaustive,
deadcode) and gosec suppressions already covered by config exclusions.
Tags ochrevector QueryResult and Filter with their existing field names
so musttag passes without changing the NATS wire format, and bounds the
RDS window slot conversion instead of suppressing G115.
2026-09-30 13:46:11 +10:00
Julian Sommer a3ea962d1e chore: shared e2e ssh harness 2026-09-30 12:21:57 +10:00
Julian Sommer 5f21fd27e3 chore: inline more 2026-09-30 12:01:21 +10:00
Julian Sommer 810aa019bf chore: use strings.Cut 2026-09-30 11:48:27 +10:00
Julian Sommer 610ee9bab0 chore: use slices.Sorted 2026-09-30 11:44:17 +10:00
Julian Sommer 363aa1c4ab fix: match AWS's error codes and messages for bad CIDRs, missing gateways and routes, the default group name and malformed IDs 2026-09-30 10:42:33 +10:00
joshsiv-mulga 57f238a0c6 refactor: move system tags to AWS foundation 2026-09-29 15:13:59 +10:00
joshsiv-mulga f649315463 refactor: move core service to runtime role 2026-09-29 15:09:32 +10:00
Julian Sommer 43e8d65247 fix: STS DurationSeconds and MFA member validation as AWS answers them (#1137) 2026-09-29 15:03:41 +10:00
joshsiv-mulga 4d4875b133 refactor: move UI service to runtime role 2026-09-29 15:00:03 +10:00
joshsiv-mulga d87326f644 refactor: move listener inventory to test kit 2026-09-29 14:56:39 +10:00
joshsiv-mulga 94ddc91a18 refactor: move EBS provider contract to providers 2026-09-29 14:48:08 +10:00
joshsiv-mulga a74adc48b0 refactor: place EBS metadata in EC2 domain 2026-09-29 14:45:18 +10:00
joshsiv-mulga 0c2d644130 refactor: move VM runtime to compute layer 2026-09-29 14:42:43 +10:00
joshsiv-mulga cbbf252e68 refactor: consolidate test helpers in internal testkit 2026-09-29 14:39:42 +10:00
Julian Sommer 9fe8c8b232 fix: IAM request validation as AWS answers it (#1135) 2026-09-29 14:06:03 +10:00