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