Commit Graph

474 Commits

Author SHA1 Message Date
joshsiv-mulga 4b55247819 refactor: extract RDS engine catalogue into domains/rds/engine
Move engine identity and validation, the per-engine parameter catalogues,
effective-parameter resolution, db.* instance classes and engine/orderable
selection into an engine package. Behaviour, error codes and ordering are
unchanged.

The package imports no EC2 package: instance-class memory comes from an
immutable Sizing value built from an engine-declared InstanceTypes
interface, backed by the fixed instance-type table in handlers/rds.
Effective parameters leave as an engine-owned Setting, converted to
Parameter in handlers/rds. AWS output building, paging, apply-method
mapping, storage limits and the gateway runnable check stay in the
adapter path.

The RDS agent declares its own EngineCatalog interface and types and
receives an engine-backed implementation from cmd/rds-agent, so agent
code does not import the catalogue. Cross-engine tests use the two real
engines instead of a registered fake.
2026-10-08 17:33:11 +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 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 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 918150758e refactor: move installer packages to operator/installer 2026-10-07 13:14:31 +10:00
joshsiv-mulga 55e858788b refactor: move RDS guest agent to agents/rds/agent 2026-10-07 12:47:05 +10:00
joshsiv-mulga 59decbc25c refactor: move ECS agent implementation to the ECS agent tree
cmd/ecs-agent keeps process lifecycle: signal context, the separate New
and Run calls, both failure log lines, the exit and the ldflags-set
build version, now passed in through Config.AgentVersion.
agents/ecs/agent owns Config, LoadConfig and the agent.
2026-10-07 12:27:11 +10:00
joshsiv-mulga 3c82c69ad7 refactor: move ECS agent runtime and credentials packages to the ECS agent tree 2026-10-07 12:16:10 +10:00
joshsiv-mulga ac069d8f37 refactor: move EKS token webhook to the EKS agent tree
cmd/eks-token-webhook keeps the -addr flag, environment-derived
config, logging setup and exits; agents/eks/tokenwebhook owns Config
and Run. The handlers/eks TokenReview result type stays as recorded
temporary debt.
2026-10-07 11:46:52 +10:00
joshsiv-mulga fba330b86e refactor: move EKS konnectivity cert helper to the EKS agent tree
cmd/eks-konnectivity-cert keeps flag parsing, the log prefix and the
exit; agents/eks/konnectivitycert owns Config and Run. Output, error
text, file modes and exit codes are unchanged.
2026-10-07 11:31:59 +10:00
joshsiv-mulga d064924e69 refactor: move EKS webhook cert helper to the EKS agent tree
cmd/eks-webhook-cert keeps flag parsing, the log prefix and the exit;
agents/eks/webhookcert owns Config and Run. Output, error text, file
modes and exit codes are unchanged.
2026-10-07 11:24:58 +10:00
joshsiv-mulga 8929ee47b6 refactor: move EKS gateway fetch helper to the EKS agent tree
Move the eks-gateway-fetch implementation to agents/eks/gatewayfetch
behind Run(ctx, Config) error, writing its TSV to Config.Out. The binary
keeps flag definitions, environment defaults, parsing, its log prefix and
exit code; each former fatal site returns an error with the same text.
2026-10-07 11:19:08 +10:00
joshsiv-mulga fecf0b28a3 refactor: move EKS gateway publish helper to the EKS agent tree
Move the eks-gateway-publish implementation to agents/eks/gatewaypublish
behind Run(ctx, Config) error. The binary keeps flag definitions,
environment defaults, parsing, its log prefix and exit code; each former
fatal site returns an error with the same text. The retry wait now also
honours context cancellation, which the binary never triggers.
2026-10-07 11:06:35 +10:00
joshsiv-mulga 4501dbf69c refactor: move ECR credential provider to the EKS agent tree
Move the kubelet exec credential provider implementation from
cmd/ecr-credential-provider to agents/eks/credentialprovider, exposing
one Main(in, out) entry point. The binary keeps its name and FIPS boot
import as a thin main. Moving out of cmd/ brings the code under gosec;
the one G101 hit on the kubelet API version constant is annotated.
2026-10-07 10:15:55 +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 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 2b6131e217 refactor: move Hugging Face Hub client to the Ochre domain
gateway/bedrock/hfhub becomes domains/ochre/hfhub. Its only caller is
the spx admin ochre weights pull.
2026-10-06 17:13:09 +10:00
joshsiv-mulga 93f101c0f6 refactor: move Ochre vector store to the Ochre domain
handlers/ochrevector becomes domains/ochre/vector. Callers import it as
ochrevector because vector is a common local name in the gateway.
2026-10-06 17:06:30 +10:00
joshsiv-mulga 2c467988d3 refactor: move Ochre serving lifecycle to the Ochre domain
handlers/bedrock becomes domains/ochre. Ochre is the platform service;
Bedrock names only its AWS API surface. Persisted and observable
identifiers keep their bedrock names.
2026-10-06 16:40:38 +10:00
joshsiv-mulga 454defb005 refactor: move IPsec certificate handling to network host 2026-10-06 15:39:43 +10:00
joshsiv-mulga 001aa2d42a refactor: move tenant CA paths to ACM domain 2026-10-06 15:22:16 +10:00
joshsiv-mulga 8ca3180702 refactor: replace SystemAccountID with GlobalAccountID 2026-10-06 15:01:13 +10:00
joshsiv-mulga 06b1eefd90 refactor: move base zone bootstrap to DNS domain 2026-10-06 14:26:38 +10:00
joshsiv-mulga 99278d5ffc refactor: move DNS control plane to DNS domain 2026-10-06 14:03:01 +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 931d86d5ce refactor: move awsgw role to runtime roles 2026-10-06 09:27:18 +10:00
joshsiv-mulga ad6a158f82 refactor: move northstar role to runtime roles 2026-10-06 09:01:13 +10:00
joshsiv-mulga eab631b420 refactor: move predastore role to runtime roles 2026-10-06 08:57:51 +10:00
joshsiv-mulga 53f13f2137 refactor: move resource id generation to aws foundation 2026-10-06 08:44:28 +10:00
joshsiv-mulga 366e2c2e46 refactor: move image catalogue to operator 2026-10-02 15:55:08 +10:00
joshsiv-mulga 3f6f7a5e53 chore: resolve lint findings from package-boundary moves 2026-10-02 15:25:51 +10:00
joshsiv-mulga 83615f1f47 refactor: move aws xml response helpers 2026-10-02 14:26:42 +10:00
joshsiv-mulga 7e29f26405 refactor: move operator progress helpers 2026-10-02 14:04:26 +10:00
joshsiv-mulga e2ac3dbed2 refactor: move host command execution to runtime 2026-10-02 11:04:30 +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 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
Julian Sommer c782585352 feat(iam): accept NotAction and NotResource on identity policies (#1142) 2026-10-01 10:09:39 +10:00
joshsiv-mulga 08bd335f0a refactor: establish node status contract 2026-10-01 08:22:26 +10:00
joshsiv-mulga 4b35a2a33d refactor: establish node VM inventory contract 2026-09-30 16:27:39 +10:00
Julian Sommer dc636cac63 fix: cut fixed waits from viperblockd and cmd tests 2026-09-30 15:42:48 +10:00
Julian Sommer 51d855aa80 refactor: remove spx service stop/status and narrow service.Service to Start (#1138) 2026-09-30 15:18:49 +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 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
joshsiv-mulga 8c4af3030e refactor: move formation to runtime 2026-09-29 16:28:40 +10:00