Commit Graph

2718 Commits

Author SHA1 Message Date
joshsiv-mulga bc1d3fea51 docs: record ECS, EKS and RDS source inventory and first-resource ranking 2026-10-08 08:44:51 +10:00
joshsiv-mulga 6c50349bd8 docs: record ACM registration 2026-10-08 00:42:00 +10:00
joshsiv-mulga fdaf589ca3 refactor: register ACM control plane from its domain
domains/acm/awsapi registers the acm JSON 1.1 surface through the
ingress dispatch registry, wired by the awsgw role. The gateway drops
ACM_Request, the ACM action table and every legacy acm entry; the
import invariant now covers each registered domain.
2026-10-08 00:41:50 +10:00
joshsiv-mulga 4b0a4dd6b3 test: characterize ACM control-plane dispatch before registration
Pins full-pipeline error envelopes, a successful action, target parsing
agreement between dispatch and telemetry, authorization before the NATS
call, 413 and 503 paths, throttle/trace/audit action and the inventory.
2026-10-08 00:04:27 +10:00
joshsiv-mulga 229b0dc9c3 docs: record ingress service selection move 2026-10-07 23:43:43 +10:00
joshsiv-mulga b81ae4eb4e refactor: move AWS service selection into ingress dispatch
Selector answers served, action, error protocol, registered entry and
startup overlap. The gateway supplies its legacy tables through the
dispatch.Legacy interface; legacy dispatch and invocation building stay
in gateway.
2026-10-07 23:43:32 +10:00
joshsiv-mulga d70a5a43f7 docs: record error envelope extraction 2026-10-07 23:27:21 +10:00
joshsiv-mulga 5f66bd2a36 refactor: extract AWS error envelope rendering to ingress
ingress/aws/envelope owns the EC2, IAM-style and S3 XML error envelopes, the
AWS JSON 1.1 error body and X-Amzn-Errortype value, the JSON-protocol header
detector and the two error content types. Each shape keeps its own builder.

The gateway error writers, ErrorHandler and the legacy per-service envelope
selection stay in gateway and call the new package; gateway/eks renders its
JSON errors through it directly. A 140-case status/header/body golden
comparison across services and error writers was identical before and after.
2026-10-07 23:27:20 +10:00
joshsiv-mulga 88c7397f45 docs: record ingress pipeline deferral 2026-10-07 23:02:45 +10:00
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 e6622c51d2 docs: record ECR control-plane registration 2026-10-07 22:55:20 +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 f1cd7c5fe8 docs: record ingress dispatch registry consumption 2026-10-07 22:35:33 +10:00
joshsiv-mulga 86a2de3ffd refactor: route registered AWS services through the ingress dispatch registry
The gateway now consumes ingress/aws/dispatch. A registered service is
accepted by the auth gate, resolves its own action label, renders errors in
its declared envelope and is dispatched with an authenticated Invocation
(account, region, policy authorisation and a lazy verified actor). Every
other service keeps the existing switch, now named as the legacy path.

The awsgw role wires an empty registry and refuses to start if a registered
name is also served by the legacy table. No service is registered yet, so
behaviour for every existing service is unchanged.
2026-10-07 22:35:21 +10:00
joshsiv-mulga 4ad0b7e8fc docs: record ingress registration phases 0 and 1 2026-10-07 22:09:54 +10:00
joshsiv-mulga 89364c1005 feat: add AWS ingress service registration contract 2026-10-07 22:09:43 +10:00
joshsiv-mulga 7047f6b368 test: characterize ECR control-plane dispatch before registration seam 2026-10-07 22:03:26 +10:00
joshsiv-mulga d3c32d099b docs: correct historical lifecycle references 2026-10-07 21:44:55 +10:00
joshsiv-mulga 70ac74a21c docs: record AWS ingress helper moves and tooling conformance 2026-10-07 18:12:29 +10:00
joshsiv-mulga ba2d59b298 refactor: move SigV4 auth-failure rate limiter to ingress/aws/ratelimit 2026-10-07 18:12:13 +10:00
joshsiv-mulga cd92661768 refactor: move AWS REST-JSON router to ingress/aws/rest 2026-10-07 15:54:32 +10:00
joshsiv-mulga 7303059fc8 docs: record EC2 instance action adapter moves 2026-10-07 14:47:51 +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 d4c68007ef refactor: move EC2 idempotency adapter to domains/ec2/awsapi 2026-10-07 14:47:51 +10:00
joshsiv-mulga b9a5eaf196 refactor: move EC2 resource authorization scopes to domains/ec2/awsapi 2026-10-07 14:47:51 +10:00
joshsiv-mulga cf76c609cf docs: record EC2 storage and tag action adapter moves 2026-10-07 14:36:36 +10:00
joshsiv-mulga 0485c77e6a refactor: move EC2 tags action adapters to domains/ec2/awsapi 2026-10-07 14:36:36 +10:00
joshsiv-mulga 7ee808d2d9 refactor: move EC2 volume action adapters to domains/ec2/awsapi 2026-10-07 14:36:36 +10:00
joshsiv-mulga 8b106e7966 refactor: move EC2 snapshot action adapters to domains/ec2/awsapi 2026-10-07 14:36:36 +10:00
joshsiv-mulga 4b315469fc refactor: move EC2 image action adapters to domains/ec2/awsapi 2026-10-07 14:36:36 +10:00
joshsiv-mulga 8c94a4e613 docs: record EC2 VPC networking action adapter moves 2026-10-07 14:31:27 +10:00
joshsiv-mulga 67992c8f58 refactor: move EC2 routetable action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga 817e19bf2b refactor: move EC2 natgw action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga f506872105 refactor: move EC2 igw action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga f6d8060f25 refactor: move EC2 eip action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga eaa5c971ed refactor: move EC2 eigw action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga 2ee60b20f5 refactor: move EC2 vpc action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga c38bf99e4f refactor: move EC2 zone action adapters to domains/ec2/awsapi 2026-10-07 14:31:20 +10:00
joshsiv-mulga 21bb9c9545 docs: record EC2 standalone action adapter moves 2026-10-07 14:23:27 +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 e630703d75 refactor: move EC2 key action adapters to domains/ec2/awsapi 2026-10-07 14:23:04 +10:00
joshsiv-mulga d500e3802f refactor: move EC2 capacityreservation action adapters to domains/ec2/awsapi 2026-10-07 14:23:04 +10:00
joshsiv-mulga 5032e24a74 refactor: move EC2 account action adapters to domains/ec2/awsapi 2026-10-07 14:23:04 +10:00
joshsiv-mulga 3e3bc5dd0a chore: accept known vulnerabilities with an expiry
The vulnerability scan failed preflight on a containerd advisory that dev
already carries and that is deferred to a separate dependency update. The
gate now passes only reachable findings listed with an expiry date, fails
on any new one or on an expired acceptance, and warns when an acceptance
is no longer needed.
2026-10-07 13:59:06 +10:00
joshsiv-mulga 84293aecd7 docs: record spx command tree move 2026-10-07 13:56:18 +10:00
joshsiv-mulga 05f390e618 refactor: move spx command tree to operator/cli
Moving the command tree out of cmd/ brings it under errcheck and gosec.
Flag and config wiring now fails loudly instead of silently dropping a
binding, listing commands fail when they cannot write their table, and
the formation server's unauthenticated TLS is annotated as a known gap.
2026-10-07 13:55:59 +10:00
joshsiv-mulga 606770ed7f docs: record installer move 2026-10-07 13:14:45 +10:00
joshsiv-mulga 918150758e refactor: move installer packages to operator/installer 2026-10-07 13:14:31 +10:00