From 6ac02a88656facd5f9491c7c17fd90526f2a0948 Mon Sep 17 00:00:00 2001 From: joshsiv-mulga Date: Fri, 2 Oct 2026 09:43:17 +1000 Subject: [PATCH] refactor: move cluster replication policy to state foundation --- cmd/spinifex/cmd/admin.go | 2 +- cmd/spinifex/cmd/admin_kv_replicas_test.go | 2 +- internal/testkit/nats.go | 2 +- spinifex/bootstrap/config/config.go | 2 +- spinifex/daemon/daemon.go | 2 +- spinifex/{ => foundation/state}/clustersize/clustersize.go | 2 +- spinifex/{ => foundation/state}/clustersize/clustersize_test.go | 2 +- spinifex/foundation/state/kvlease/bucket.go | 2 +- spinifex/foundation/state/kvlease/bucket_test.go | 2 +- spinifex/foundation/state/kvstore/wait.go | 2 +- spinifex/foundation/state/kvstore/wait_test.go | 2 +- spinifex/foundation/state/kvutil/kvutil.go | 2 +- spinifex/foundation/state/kvutil/kvutil_test.go | 2 +- spinifex/foundation/state/kvutil/replicas.go | 2 +- spinifex/foundation/state/kvutil/replicas_test.go | 2 +- spinifex/gateway/bedrock/logging.go | 2 +- spinifex/handlers/iam/retry.go | 2 +- spinifex/handlers/iam/retry_test.go | 2 +- spinifex/services/viperblockd/viperblockd_integration_test.go | 2 +- spinifex/services/viperblockd/volume_bucket_replicas_test.go | 2 +- spinifex/services/viperblockd/volume_bucket_startup_test.go | 2 +- tests/e2e/harness/jetstream.go | 2 +- tests/integration/shared_nats.go | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) rename spinifex/{ => foundation/state}/clustersize/clustersize.go (98%) rename spinifex/{ => foundation/state}/clustersize/clustersize_test.go (98%) diff --git a/cmd/spinifex/cmd/admin.go b/cmd/spinifex/cmd/admin.go index 46943a5e2..e415fcd9b 100644 --- a/cmd/spinifex/cmd/admin.go +++ b/cmd/spinifex/cmd/admin.go @@ -31,7 +31,7 @@ import ( "github.com/mulgadc/bluebottle/pkg/safecast" "github.com/mulgadc/spinifex/spinifex/admin" "github.com/mulgadc/spinifex/spinifex/bootstrap/config" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/domains/ec2/ebs/metadata" handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" diff --git a/cmd/spinifex/cmd/admin_kv_replicas_test.go b/cmd/spinifex/cmd/admin_kv_replicas_test.go index 23114e492..499ff5e0d 100644 --- a/cmd/spinifex/cmd/admin_kv_replicas_test.go +++ b/cmd/spinifex/cmd/admin_kv_replicas_test.go @@ -10,7 +10,7 @@ import ( "testing" "github.com/mulgadc/spinifex/internal/testkit" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvutil" "github.com/nats-io/nats.go/jetstream" "github.com/stretchr/testify/assert" diff --git a/internal/testkit/nats.go b/internal/testkit/nats.go index 5d900aeee..5a937f9f2 100644 --- a/internal/testkit/nats.go +++ b/internal/testkit/nats.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/nats-io/nats.go/jetstream" diff --git a/spinifex/bootstrap/config/config.go b/spinifex/bootstrap/config/config.go index 167517acf..485e5689f 100644 --- a/spinifex/bootstrap/config/config.go +++ b/spinifex/bootstrap/config/config.go @@ -9,7 +9,7 @@ import ( "slices" "strings" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/spf13/viper" ) diff --git a/spinifex/daemon/daemon.go b/spinifex/daemon/daemon.go index 2bbc06245..ec8789070 100644 --- a/spinifex/daemon/daemon.go +++ b/spinifex/daemon/daemon.go @@ -38,7 +38,7 @@ import ( "github.com/mulgadc/spinifex/spinifex/admin" "github.com/mulgadc/spinifex/spinifex/bootstrap/config" "github.com/mulgadc/spinifex/spinifex/bootstrap/preflight" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/domains/ec2/instancetypes" handlers_ecr "github.com/mulgadc/spinifex/spinifex/domains/ecr" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" diff --git a/spinifex/clustersize/clustersize.go b/spinifex/foundation/state/clustersize/clustersize.go similarity index 98% rename from spinifex/clustersize/clustersize.go rename to spinifex/foundation/state/clustersize/clustersize.go index 985b0506e..199148a73 100644 --- a/spinifex/clustersize/clustersize.go +++ b/spinifex/foundation/state/clustersize/clustersize.go @@ -1,4 +1,4 @@ -// Package clustersize holds one fact and the one number derived from it: how +// Package clustersize holds one state-tier policy fact and the one number derived from it: how // many nodes this process believes the cluster has, and therefore how many // nodes each of its JetStream streams is replicated across. // diff --git a/spinifex/clustersize/clustersize_test.go b/spinifex/foundation/state/clustersize/clustersize_test.go similarity index 98% rename from spinifex/clustersize/clustersize_test.go rename to spinifex/foundation/state/clustersize/clustersize_test.go index 5fbe3192c..a382dc717 100644 --- a/spinifex/clustersize/clustersize_test.go +++ b/spinifex/foundation/state/clustersize/clustersize_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" ) func TestDeclareAndNodes(t *testing.T) { diff --git a/spinifex/foundation/state/kvlease/bucket.go b/spinifex/foundation/state/kvlease/bucket.go index cae044f9d..84a73b687 100644 --- a/spinifex/foundation/state/kvlease/bucket.go +++ b/spinifex/foundation/state/kvlease/bucket.go @@ -7,7 +7,7 @@ import ( "log/slog" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvutil" "github.com/mulgadc/spinifex/spinifex/foundation/state/migrate" telemetry "github.com/mulgadc/spinifex/spinifex/foundation/telemetry" diff --git a/spinifex/foundation/state/kvlease/bucket_test.go b/spinifex/foundation/state/kvlease/bucket_test.go index 946702ea2..7db30bd61 100644 --- a/spinifex/foundation/state/kvlease/bucket_test.go +++ b/spinifex/foundation/state/kvlease/bucket_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/mulgadc/spinifex/internal/testkit" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvlease" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/spinifex/foundation/state/kvstore/wait.go b/spinifex/foundation/state/kvstore/wait.go index 2c6cb750f..6346a7417 100644 --- a/spinifex/foundation/state/kvstore/wait.go +++ b/spinifex/foundation/state/kvstore/wait.go @@ -6,7 +6,7 @@ import ( "log/slog" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" telemetry "github.com/mulgadc/spinifex/spinifex/foundation/telemetry" ) diff --git a/spinifex/foundation/state/kvstore/wait_test.go b/spinifex/foundation/state/kvstore/wait_test.go index e5ee5a026..9bfca0e4f 100644 --- a/spinifex/foundation/state/kvstore/wait_test.go +++ b/spinifex/foundation/state/kvstore/wait_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/spinifex/foundation/state/kvutil/kvutil.go b/spinifex/foundation/state/kvutil/kvutil.go index c49df8ae9..e47858230 100644 --- a/spinifex/foundation/state/kvutil/kvutil.go +++ b/spinifex/foundation/state/kvutil/kvutil.go @@ -17,7 +17,7 @@ import ( "time" "github.com/mulgadc/bluebottle/pkg/safecast" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats.go" "github.com/nats-io/nats.go/jetstream" ) diff --git a/spinifex/foundation/state/kvutil/kvutil_test.go b/spinifex/foundation/state/kvutil/kvutil_test.go index d79252174..616633bf1 100644 --- a/spinifex/foundation/state/kvutil/kvutil_test.go +++ b/spinifex/foundation/state/kvutil/kvutil_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/mulgadc/spinifex/internal/testkit" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats.go/jetstream" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/spinifex/foundation/state/kvutil/replicas.go b/spinifex/foundation/state/kvutil/replicas.go index d16b96da8..d4f5210d8 100644 --- a/spinifex/foundation/state/kvutil/replicas.go +++ b/spinifex/foundation/state/kvutil/replicas.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats.go/jetstream" ) diff --git a/spinifex/foundation/state/kvutil/replicas_test.go b/spinifex/foundation/state/kvutil/replicas_test.go index 796c1c31a..061d84252 100644 --- a/spinifex/foundation/state/kvutil/replicas_test.go +++ b/spinifex/foundation/state/kvutil/replicas_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/mulgadc/spinifex/internal/testkit" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvutil" "github.com/nats-io/nats.go/jetstream" "github.com/stretchr/testify/assert" diff --git a/spinifex/gateway/bedrock/logging.go b/spinifex/gateway/bedrock/logging.go index 1b30fa0f3..5e6d314be 100644 --- a/spinifex/gateway/bedrock/logging.go +++ b/spinifex/gateway/bedrock/logging.go @@ -15,7 +15,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/bedrock" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/aws/errors" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvstore" "github.com/mulgadc/spinifex/spinifex/providers/objectstore" diff --git a/spinifex/handlers/iam/retry.go b/spinifex/handlers/iam/retry.go index e523603b7..f0f6e3268 100644 --- a/spinifex/handlers/iam/retry.go +++ b/spinifex/handlers/iam/retry.go @@ -6,7 +6,7 @@ import ( "log/slog" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" telemetry "github.com/mulgadc/spinifex/spinifex/foundation/telemetry" "github.com/nats-io/nats.go" diff --git a/spinifex/handlers/iam/retry_test.go b/spinifex/handlers/iam/retry_test.go index 464191d39..718924b57 100644 --- a/spinifex/handlers/iam/retry_test.go +++ b/spinifex/handlers/iam/retry_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/mulgadc/spinifex/internal/testkit" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" "github.com/stretchr/testify/require" ) diff --git a/spinifex/services/viperblockd/viperblockd_integration_test.go b/spinifex/services/viperblockd/viperblockd_integration_test.go index 1db177e0a..731e443f3 100644 --- a/spinifex/services/viperblockd/viperblockd_integration_test.go +++ b/spinifex/services/viperblockd/viperblockd_integration_test.go @@ -18,7 +18,7 @@ import ( "time" viperblocklegacyv1 "github.com/mulgadc/spinifex/contracts/viperblockd/legacy/v1" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats-server/v2/server" natstest "github.com/nats-io/nats-server/v2/test" "github.com/nats-io/nats.go" diff --git a/spinifex/services/viperblockd/volume_bucket_replicas_test.go b/spinifex/services/viperblockd/volume_bucket_replicas_test.go index 5acbb5de7..67f53c510 100644 --- a/spinifex/services/viperblockd/volume_bucket_replicas_test.go +++ b/spinifex/services/viperblockd/volume_bucket_replicas_test.go @@ -6,7 +6,7 @@ package viperblockd import ( "testing" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats.go" "github.com/nats-io/nats.go/jetstream" "github.com/stretchr/testify/assert" diff --git a/spinifex/services/viperblockd/volume_bucket_startup_test.go b/spinifex/services/viperblockd/volume_bucket_startup_test.go index 7f9bc4f52..07aa25d94 100644 --- a/spinifex/services/viperblockd/volume_bucket_startup_test.go +++ b/spinifex/services/viperblockd/volume_bucket_startup_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/nats-io/nats-server/v2/server" natstest "github.com/nats-io/nats-server/v2/test" "github.com/nats-io/nats.go" diff --git a/tests/e2e/harness/jetstream.go b/tests/e2e/harness/jetstream.go index fe9b03172..6b0f4fb24 100644 --- a/tests/e2e/harness/jetstream.go +++ b/tests/e2e/harness/jetstream.go @@ -8,7 +8,7 @@ import ( "strings" "testing" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/spinifex/foundation/state/kvutil" "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" diff --git a/tests/integration/shared_nats.go b/tests/integration/shared_nats.go index 0a3345609..2790a03b8 100644 --- a/tests/integration/shared_nats.go +++ b/tests/integration/shared_nats.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/spinifex/clustersize" + "github.com/mulgadc/spinifex/spinifex/foundation/state/clustersize" "github.com/mulgadc/spinifex/tests/fixtures/scratch" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go"