From 767ad0bf5c7daa2e89518b63cf103bacd61e5a53 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:29:24 +0000 Subject: [PATCH 01/12] refactor: rename Go module path from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bulk rename github.com/mulgadc/hive → github.com/mulgadc/spinifex across go.mod and all 178 Go files (~411 import occurrences). --- cmd/hive/cmd/admin.go | 12 +++---- cmd/hive/cmd/cluster.go | 2 +- cmd/hive/cmd/get.go | 6 ++-- cmd/hive/cmd/root.go | 2 +- cmd/hive/cmd/service.go | 14 ++++---- cmd/hive/cmd/top.go | 2 +- cmd/hive/cmd/version.go | 2 +- cmd/hive/main.go | 2 +- go.mod | 2 +- hive/daemon/daemon.go | 36 +++++++++---------- hive/daemon/daemon_handlers.go | 8 ++--- hive/daemon/daemon_handlers_console.go | 4 +-- hive/daemon/daemon_handlers_image.go | 8 ++--- hive/daemon/daemon_handlers_instance.go | 10 +++--- hive/daemon/daemon_handlers_test.go | 30 ++++++++-------- hive/daemon/daemon_handlers_volume.go | 10 +++--- hive/daemon/daemon_test.go | 14 ++++---- hive/daemon/device_map.go | 4 +-- hive/daemon/device_map_test.go | 2 +- hive/daemon/health.go | 2 +- hive/daemon/health_test.go | 4 +-- hive/daemon/heartbeat_test.go | 4 +-- hive/daemon/jetstream.go | 2 +- hive/daemon/jetstream_test.go | 2 +- hive/daemon/network_test.go | 2 +- hive/daemon/ownership.go | 4 +-- hive/daemon/resource.go | 2 +- hive/daemon/shutdown.go | 2 +- hive/daemon/state.go | 2 +- hive/daemon/state_test.go | 6 ++-- hive/formation/helpers.go | 2 +- hive/gateway/auth.go | 4 +-- hive/gateway/auth_test.go | 6 ++-- hive/gateway/ec2.go | 28 +++++++-------- .../account/DisableEbsEncryptionByDefault.go | 4 +-- .../ec2/account/DisableSerialConsoleAccess.go | 4 +-- .../account/EnableEbsEncryptionByDefault.go | 4 +-- .../ec2/account/EnableSerialConsoleAccess.go | 4 +-- .../ec2/account/GetEbsEncryptionByDefault.go | 4 +-- .../account/GetSerialConsoleAccessStatus.go | 4 +-- hive/gateway/ec2/account/account_test.go | 2 +- .../eigw/CreateEgressOnlyInternetGateway.go | 4 +-- .../eigw/DeleteEgressOnlyInternetGateway.go | 4 +-- .../DescribeEgressOnlyInternetGateways.go | 4 +-- hive/gateway/ec2/eigw/eigw_test.go | 2 +- hive/gateway/ec2/igw/AttachInternetGateway.go | 4 +-- hive/gateway/ec2/igw/CreateInternetGateway.go | 4 +-- hive/gateway/ec2/igw/DeleteInternetGateway.go | 4 +-- .../ec2/igw/DescribeInternetGateways.go | 4 +-- hive/gateway/ec2/igw/DetachInternetGateway.go | 4 +-- hive/gateway/ec2/igw/igw_test.go | 2 +- hive/gateway/ec2/image/CreateImage.go | 4 +-- hive/gateway/ec2/image/CreateImage_test.go | 2 +- hive/gateway/ec2/image/DescribeImages.go | 4 +-- hive/gateway/ec2/image/DescribeImages_test.go | 2 +- hive/gateway/ec2/image/handler_test.go | 2 +- .../ec2/instance/DescribeInstanceTypes.go | 2 +- .../instance/DescribeInstanceTypes_test.go | 2 +- .../gateway/ec2/instance/DescribeInstances.go | 2 +- .../ec2/instance/DescribeInstances_test.go | 2 +- hive/gateway/ec2/instance/GetConsoleOutput.go | 2 +- .../ec2/instance/ModifyInstanceAttribute.go | 4 +-- .../instance/ModifyInstanceAttribute_test.go | 2 +- hive/gateway/ec2/instance/RebootInstances.go | 6 ++-- .../ec2/instance/RebootInstances_test.go | 6 ++-- hive/gateway/ec2/instance/RunInstances.go | 6 ++-- .../gateway/ec2/instance/RunInstances_test.go | 2 +- hive/gateway/ec2/instance/StartInstances.go | 2 +- hive/gateway/ec2/instance/StopInstances.go | 4 +-- .../ec2/instance/StopInstances_test.go | 2 +- .../ec2/instance/TerminateInstances.go | 4 +-- .../ec2/instance/TerminateInstances_test.go | 2 +- hive/gateway/ec2/key/CreateKeyPair.go | 4 +-- hive/gateway/ec2/key/CreateKeyPair_test.go | 2 +- hive/gateway/ec2/key/DeleteKeyPair.go | 4 +-- hive/gateway/ec2/key/DeleteKeyPair_test.go | 2 +- hive/gateway/ec2/key/DescribeKeyPairs.go | 2 +- hive/gateway/ec2/key/ImportKeyPair.go | 4 +-- hive/gateway/ec2/key/ImportKeyPair_test.go | 2 +- hive/gateway/ec2/key/handler_test.go | 2 +- hive/gateway/ec2/snapshot/CopySnapshot.go | 4 +-- hive/gateway/ec2/snapshot/CreateSnapshot.go | 4 +-- hive/gateway/ec2/snapshot/DeleteSnapshot.go | 4 +-- .../gateway/ec2/snapshot/DescribeSnapshots.go | 4 +-- hive/gateway/ec2/snapshot/Snapshot_test.go | 2 +- hive/gateway/ec2/tags/CreateTags.go | 4 +-- hive/gateway/ec2/tags/CreateTags_test.go | 2 +- hive/gateway/ec2/tags/DeleteTags.go | 4 +-- hive/gateway/ec2/tags/DescribeTags.go | 2 +- hive/gateway/ec2/tags/tags_test.go | 2 +- hive/gateway/ec2/volume/AttachVolume.go | 6 ++-- hive/gateway/ec2/volume/AttachVolume_test.go | 2 +- hive/gateway/ec2/volume/CreateVolume.go | 4 +-- hive/gateway/ec2/volume/CreateVolume_test.go | 2 +- hive/gateway/ec2/volume/DeleteVolume.go | 4 +-- hive/gateway/ec2/volume/DeleteVolume_test.go | 2 +- .../ec2/volume/DescribeVolumeStatus.go | 4 +-- hive/gateway/ec2/volume/DescribeVolumes.go | 4 +-- hive/gateway/ec2/volume/DetachVolume.go | 8 ++--- hive/gateway/ec2/volume/DetachVolume_test.go | 2 +- hive/gateway/ec2/volume/ModifyVolume.go | 4 +-- hive/gateway/ec2/volume/handler_test.go | 2 +- .../gateway/ec2/vpc/CreateNetworkInterface.go | 4 +-- hive/gateway/ec2/vpc/CreateSubnet.go | 4 +-- hive/gateway/ec2/vpc/CreateVpc.go | 4 +-- .../gateway/ec2/vpc/DeleteNetworkInterface.go | 4 +-- hive/gateway/ec2/vpc/DeleteSubnet.go | 4 +-- hive/gateway/ec2/vpc/DeleteVpc.go | 4 +-- .../ec2/vpc/DescribeNetworkInterfaces.go | 2 +- hive/gateway/ec2/vpc/DescribeSubnets.go | 2 +- hive/gateway/ec2/vpc/DescribeVpcs.go | 2 +- hive/gateway/ec2/vpc/vpc_test.go | 2 +- hive/gateway/gateway.go | 12 +++---- hive/gateway/gateway_test.go | 6 ++-- hive/gateway/iam.go | 10 +++--- hive/gateway/iam/handler_test.go | 4 +-- hive/gateway/iam/key.go | 4 +-- hive/gateway/iam/policy.go | 4 +-- hive/gateway/iam/user.go | 4 +-- hive/gateway/iam_request_test.go | 4 +-- hive/gateway/policy/evaluator.go | 2 +- hive/gateway/policy/evaluator_test.go | 2 +- hive/handlers/ec2/account/service_impl.go | 4 +-- .../handlers/ec2/account/service_impl_test.go | 2 +- hive/handlers/ec2/account/service_nats.go | 2 +- hive/handlers/ec2/eigw/service_impl.go | 8 ++--- hive/handlers/ec2/eigw/service_impl_test.go | 4 +-- hive/handlers/ec2/eigw/service_nats.go | 2 +- hive/handlers/ec2/igw/service_impl.go | 10 +++--- hive/handlers/ec2/igw/service_impl_test.go | 4 +-- hive/handlers/ec2/igw/service_nats.go | 2 +- hive/handlers/ec2/igw/service_nats_test.go | 2 +- hive/handlers/ec2/image/service_impl.go | 12 +++---- hive/handlers/ec2/image/service_impl_test.go | 6 ++-- hive/handlers/ec2/image/service_nats.go | 2 +- hive/handlers/ec2/instance/service_impl.go | 12 +++---- .../ec2/instance/service_impl_test.go | 10 +++--- hive/handlers/ec2/instance/service_nats.go | 2 +- .../ec2/instance/service_nats_test.go | 2 +- hive/handlers/ec2/key/service_impl.go | 8 ++--- hive/handlers/ec2/key/service_impl_test.go | 4 +-- hive/handlers/ec2/key/service_nats.go | 2 +- hive/handlers/ec2/snapshot/service_impl.go | 10 +++--- .../ec2/snapshot/service_impl_test.go | 6 ++-- hive/handlers/ec2/snapshot/service_nats.go | 2 +- hive/handlers/ec2/tags/service_impl.go | 6 ++-- hive/handlers/ec2/tags/service_impl_test.go | 6 ++-- hive/handlers/ec2/tags/service_nats.go | 2 +- hive/handlers/ec2/volume/service_impl.go | 10 +++--- hive/handlers/ec2/volume/service_impl_test.go | 8 ++--- hive/handlers/ec2/volume/service_nats.go | 2 +- hive/handlers/ec2/vpc/eni.go | 4 +-- hive/handlers/ec2/vpc/ipam.go | 2 +- hive/handlers/ec2/vpc/service_impl.go | 6 ++-- hive/handlers/ec2/vpc/service_impl_test.go | 2 +- hive/handlers/ec2/vpc/service_nats.go | 2 +- hive/handlers/iam/account_test.go | 2 +- hive/handlers/iam/service_impl.go | 6 ++-- hive/handlers/iam/service_impl_test.go | 6 ++-- hive/service/service.go | 14 ++++---- hive/service/service_test.go | 8 ++--- hive/services/awsgw/awsgw.go | 8 ++--- hive/services/hive/hive.go | 6 ++-- hive/services/hiveui/hiveui.go | 2 +- hive/services/nats/nats.go | 2 +- hive/services/predastore/predastore.go | 2 +- hive/services/viperblockd/viperblockd.go | 6 ++-- .../viperblockd/viperblockd_handlers_test.go | 2 +- .../viperblockd_integration_test.go | 2 +- hive/services/vpcd/integration_test.go | 6 ++-- hive/services/vpcd/mock_ovn.go | 4 +-- hive/services/vpcd/ovn.go | 2 +- hive/services/vpcd/ovn_test.go | 2 +- hive/services/vpcd/topology.go | 4 +-- hive/services/vpcd/topology_test.go | 4 +-- hive/services/vpcd/vpcd.go | 2 +- hive/types/cluster.go | 2 +- hive/utils/utils.go | 4 +-- hive/vm/vm.go | 4 +-- 179 files changed, 409 insertions(+), 409 deletions(-) diff --git a/cmd/hive/cmd/admin.go b/cmd/hive/cmd/admin.go index 12df4d90d..ffe2c3479 100644 --- a/cmd/hive/cmd/admin.go +++ b/cmd/hive/cmd/admin.go @@ -34,12 +34,12 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/admin" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/formation" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/admin" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/formation" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/mulgadc/viperblock/viperblock/v_utils" diff --git a/cmd/hive/cmd/cluster.go b/cmd/hive/cmd/cluster.go index 4084dc35b..089a38009 100644 --- a/cmd/hive/cmd/cluster.go +++ b/cmd/hive/cmd/cluster.go @@ -7,7 +7,7 @@ import ( "strings" "time" - "github.com/mulgadc/hive/hive/daemon" + "github.com/mulgadc/spinifex/hive/daemon" "github.com/nats-io/nats.go" "github.com/spf13/cobra" ) diff --git a/cmd/hive/cmd/get.go b/cmd/hive/cmd/get.go index d5bb47268..ba9c78b7a 100644 --- a/cmd/hive/cmd/get.go +++ b/cmd/hive/cmd/get.go @@ -24,9 +24,9 @@ import ( "strings" "time" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" "github.com/pterm/pterm" "github.com/spf13/cobra" diff --git a/cmd/hive/cmd/root.go b/cmd/hive/cmd/root.go index ffc0b9e06..4841cefe2 100644 --- a/cmd/hive/cmd/root.go +++ b/cmd/hive/cmd/root.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/mulgadc/hive/hive/config" + "github.com/mulgadc/spinifex/hive/config" "github.com/spf13/cobra" "github.com/spf13/viper" ) diff --git a/cmd/hive/cmd/service.go b/cmd/hive/cmd/service.go index 514c510c4..28ce9a6b2 100644 --- a/cmd/hive/cmd/service.go +++ b/cmd/hive/cmd/service.go @@ -21,13 +21,13 @@ import ( "os" "strings" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/service" - "github.com/mulgadc/hive/hive/services/hiveui" - "github.com/mulgadc/hive/hive/services/nats" - "github.com/mulgadc/hive/hive/services/predastore" - "github.com/mulgadc/hive/hive/services/viperblockd" - "github.com/mulgadc/hive/hive/services/vpcd" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/service" + "github.com/mulgadc/spinifex/hive/services/hiveui" + "github.com/mulgadc/spinifex/hive/services/nats" + "github.com/mulgadc/spinifex/hive/services/predastore" + "github.com/mulgadc/spinifex/hive/services/viperblockd" + "github.com/mulgadc/spinifex/hive/services/vpcd" "github.com/mulgadc/predastore/s3" "github.com/spf13/cobra" "github.com/spf13/viper" diff --git a/cmd/hive/cmd/top.go b/cmd/hive/cmd/top.go index a0cf3e008..d33198d19 100644 --- a/cmd/hive/cmd/top.go +++ b/cmd/hive/cmd/top.go @@ -22,7 +22,7 @@ import ( "sort" "time" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" "github.com/pterm/pterm" "github.com/spf13/cobra" ) diff --git a/cmd/hive/cmd/version.go b/cmd/hive/cmd/version.go index 4fac30962..12436fdef 100644 --- a/cmd/hive/cmd/version.go +++ b/cmd/hive/cmd/version.go @@ -8,7 +8,7 @@ import ( ) // Version variables set via ldflags at build time. -// Example: go build -ldflags "-X github.com/mulgadc/hive/cmd/hive/cmd.Version=v1.0.0" +// Example: go build -ldflags "-X github.com/mulgadc/spinifex/cmd/hive/cmd.Version=v1.0.0" var ( Version = "dev" Commit = "unknown" diff --git a/cmd/hive/main.go b/cmd/hive/main.go index 241ba357d..b66f3b000 100644 --- a/cmd/hive/main.go +++ b/cmd/hive/main.go @@ -15,7 +15,7 @@ limitations under the License. */ package main -import "github.com/mulgadc/hive/cmd/hive/cmd" +import "github.com/mulgadc/spinifex/cmd/hive/cmd" func main() { cmd.Execute() diff --git a/go.mod b/go.mod index 984620ba0..de822fdf1 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/mulgadc/hive +module github.com/mulgadc/spinifex go 1.26.1 diff --git a/hive/daemon/daemon.go b/hive/daemon/daemon.go index 2bc3fb0e5..3d8fb12b9 100644 --- a/hive/daemon/daemon.go +++ b/hive/daemon/daemon.go @@ -28,24 +28,24 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/go-chi/chi/v5" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" - handlers_ec2_eigw "github.com/mulgadc/hive/hive/handlers/ec2/eigw" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" - handlers_ec2_image "github.com/mulgadc/hive/hive/handlers/ec2/image" - handlers_ec2_instance "github.com/mulgadc/hive/hive/handlers/ec2/instance" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" - handlers_ec2_tags "github.com/mulgadc/hive/hive/handlers/ec2/tags" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/instancetypes" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" + handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/instancetypes" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats.go" "github.com/pelletier/go-toml/v2" diff --git a/hive/daemon/daemon_handlers.go b/hive/daemon/daemon_handlers.go index f9cd10281..418a83849 100644 --- a/hive/daemon/daemon_handlers.go +++ b/hive/daemon/daemon_handlers.go @@ -7,10 +7,10 @@ import ( "net" "time" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_console.go b/hive/daemon/daemon_handlers_console.go index a6e4d1d03..9807ed7f4 100644 --- a/hive/daemon/daemon_handlers_console.go +++ b/hive/daemon/daemon_handlers_console.go @@ -7,8 +7,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_image.go b/hive/daemon/daemon_handlers_image.go index baf76b4d4..f6d65b9cb 100644 --- a/hive/daemon/daemon_handlers_image.go +++ b/hive/daemon/daemon_handlers_image.go @@ -4,10 +4,10 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/hive/hive/handlers/ec2/image" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_instance.go b/hive/daemon/daemon_handlers_instance.go index e0f47e904..2684b2ef2 100644 --- a/hive/daemon/daemon_handlers_instance.go +++ b/hive/daemon/daemon_handlers_instance.go @@ -10,11 +10,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_test.go b/hive/daemon/daemon_handlers_test.go index 383294212..2df759caf 100644 --- a/hive/daemon/daemon_handlers_test.go +++ b/hive/daemon/daemon_handlers_test.go @@ -13,21 +13,21 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" - handlers_ec2_eigw "github.com/mulgadc/hive/hive/handlers/ec2/eigw" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" - handlers_ec2_image "github.com/mulgadc/hive/hive/handlers/ec2/image" - handlers_ec2_instance "github.com/mulgadc/hive/hive/handlers/ec2/instance" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" - handlers_ec2_tags "github.com/mulgadc/hive/hive/handlers/ec2/tags" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" + handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/vm" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/daemon/daemon_handlers_volume.go b/hive/daemon/daemon_handlers_volume.go index a760076d1..1508a2b27 100644 --- a/hive/daemon/daemon_handlers_volume.go +++ b/hive/daemon/daemon_handlers_volume.go @@ -7,11 +7,11 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_test.go b/hive/daemon/daemon_test.go index 7c3707cf6..faeacf12c 100644 --- a/hive/daemon/daemon_test.go +++ b/hive/daemon/daemon_test.go @@ -15,13 +15,13 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_instance "github.com/mulgadc/hive/hive/handlers/ec2/instance" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" "github.com/pelletier/go-toml/v2" "github.com/stretchr/testify/assert" diff --git a/hive/daemon/device_map.go b/hive/daemon/device_map.go index ccc0a7b23..2e99ad75a 100644 --- a/hive/daemon/device_map.go +++ b/hive/daemon/device_map.go @@ -10,8 +10,8 @@ import ( "strings" "time" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/vm" ) // pciAddrRegexp extracts the device index from a boot-time QDev path. diff --git a/hive/daemon/device_map_test.go b/hive/daemon/device_map_test.go index 0fe640858..ac0f73886 100644 --- a/hive/daemon/device_map_test.go +++ b/hive/daemon/device_map_test.go @@ -3,7 +3,7 @@ package daemon import ( "testing" - "github.com/mulgadc/hive/hive/qmp" + "github.com/mulgadc/spinifex/hive/qmp" "github.com/stretchr/testify/assert" ) diff --git a/hive/daemon/health.go b/hive/daemon/health.go index c80993736..b4a36ac5f 100644 --- a/hive/daemon/health.go +++ b/hive/daemon/health.go @@ -10,7 +10,7 @@ import ( "syscall" "time" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/vm" ) const ( diff --git a/hive/daemon/health_test.go b/hive/daemon/health_test.go index 03c82ba9c..0352ce815 100644 --- a/hive/daemon/health_test.go +++ b/hive/daemon/health_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/heartbeat_test.go b/hive/daemon/heartbeat_test.go index a1c0c8c68..2ac2a1702 100644 --- a/hive/daemon/heartbeat_test.go +++ b/hive/daemon/heartbeat_test.go @@ -3,8 +3,8 @@ package daemon import ( "testing" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/jetstream.go b/hive/daemon/jetstream.go index bd778110b..9c5640201 100644 --- a/hive/daemon/jetstream.go +++ b/hive/daemon/jetstream.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/jetstream_test.go b/hive/daemon/jetstream_test.go index 1cf36bd9c..90503651f 100644 --- a/hive/daemon/jetstream_test.go +++ b/hive/daemon/jetstream_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/network_test.go b/hive/daemon/network_test.go index 28a276cf8..0af7699f9 100644 --- a/hive/daemon/network_test.go +++ b/hive/daemon/network_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/vm" ) func TestTapDeviceName(t *testing.T) { diff --git a/hive/daemon/ownership.go b/hive/daemon/ownership.go index 910f821fc..576024e67 100644 --- a/hive/daemon/ownership.go +++ b/hive/daemon/ownership.go @@ -3,8 +3,8 @@ package daemon import ( "log/slog" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/resource.go b/hive/daemon/resource.go index 11d999e17..77ae5dd37 100644 --- a/hive/daemon/resource.go +++ b/hive/daemon/resource.go @@ -4,7 +4,7 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" ) // errInsufficientCapacity is returned by allocateForLaunch when MinCount diff --git a/hive/daemon/shutdown.go b/hive/daemon/shutdown.go index d890630c2..55a2a2341 100644 --- a/hive/daemon/shutdown.go +++ b/hive/daemon/shutdown.go @@ -9,7 +9,7 @@ import ( "path/filepath" "time" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/state.go b/hive/daemon/state.go index 2f06bc777..4e74173d3 100644 --- a/hive/daemon/state.go +++ b/hive/daemon/state.go @@ -4,7 +4,7 @@ import ( "fmt" "log/slog" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/vm" ) // TransitionState validates and applies a state transition on the given instance. diff --git a/hive/daemon/state_test.go b/hive/daemon/state_test.go index 7508ac283..44303130c 100644 --- a/hive/daemon/state_test.go +++ b/hive/daemon/state_test.go @@ -8,9 +8,9 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/vm" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/formation/helpers.go b/hive/formation/helpers.go index 7be64b566..91f638cbb 100644 --- a/hive/formation/helpers.go +++ b/hive/formation/helpers.go @@ -4,7 +4,7 @@ import ( "slices" "sort" - "github.com/mulgadc/hive/hive/admin" + "github.com/mulgadc/spinifex/hive/admin" ) // hasService reports whether the node's service list includes name. diff --git a/hive/gateway/auth.go b/hive/gateway/auth.go index 107486930..4e04b4e05 100644 --- a/hive/gateway/auth.go +++ b/hive/gateway/auth.go @@ -13,8 +13,8 @@ import ( "time" "github.com/google/uuid" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" "github.com/mulgadc/predastore/auth" ) diff --git a/hive/gateway/auth_test.go b/hive/gateway/auth_test.go index 949debc2f..1f215f8e4 100644 --- a/hive/gateway/auth_test.go +++ b/hive/gateway/auth_test.go @@ -12,9 +12,9 @@ import ( "github.com/aws/aws-sdk-go/service/iam" "github.com/go-chi/chi/v5" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/predastore/auth" ) diff --git a/hive/gateway/ec2.go b/hive/gateway/ec2.go index e942c7d3c..6b7da362a 100644 --- a/hive/gateway/ec2.go +++ b/hive/gateway/ec2.go @@ -10,20 +10,20 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awsec2query" - "github.com/mulgadc/hive/hive/awserrors" - gateway_ec2_account "github.com/mulgadc/hive/hive/gateway/ec2/account" - gateway_ec2_eigw "github.com/mulgadc/hive/hive/gateway/ec2/eigw" - gateway_ec2_igw "github.com/mulgadc/hive/hive/gateway/ec2/igw" - gateway_ec2_image "github.com/mulgadc/hive/hive/gateway/ec2/image" - gateway_ec2_instance "github.com/mulgadc/hive/hive/gateway/ec2/instance" - gateway_ec2_key "github.com/mulgadc/hive/hive/gateway/ec2/key" - gateway_ec2_snapshot "github.com/mulgadc/hive/hive/gateway/ec2/snapshot" - gateway_ec2_tags "github.com/mulgadc/hive/hive/gateway/ec2/tags" - gateway_ec2_volume "github.com/mulgadc/hive/hive/gateway/ec2/volume" - gateway_ec2_vpc "github.com/mulgadc/hive/hive/gateway/ec2/vpc" - gateway_ec2_zone "github.com/mulgadc/hive/hive/gateway/ec2/zone" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awsec2query" + "github.com/mulgadc/spinifex/hive/awserrors" + gateway_ec2_account "github.com/mulgadc/spinifex/hive/gateway/ec2/account" + gateway_ec2_eigw "github.com/mulgadc/spinifex/hive/gateway/ec2/eigw" + gateway_ec2_igw "github.com/mulgadc/spinifex/hive/gateway/ec2/igw" + gateway_ec2_image "github.com/mulgadc/spinifex/hive/gateway/ec2/image" + gateway_ec2_instance "github.com/mulgadc/spinifex/hive/gateway/ec2/instance" + gateway_ec2_key "github.com/mulgadc/spinifex/hive/gateway/ec2/key" + gateway_ec2_snapshot "github.com/mulgadc/spinifex/hive/gateway/ec2/snapshot" + gateway_ec2_tags "github.com/mulgadc/spinifex/hive/gateway/ec2/tags" + gateway_ec2_volume "github.com/mulgadc/spinifex/hive/gateway/ec2/volume" + gateway_ec2_vpc "github.com/mulgadc/spinifex/hive/gateway/ec2/vpc" + gateway_ec2_zone "github.com/mulgadc/spinifex/hive/gateway/ec2/zone" + "github.com/mulgadc/spinifex/hive/utils" ) // EC2Handler processes parsed query args and returns XML response bytes. diff --git a/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go b/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go index 760377a65..7d85da2fb 100644 --- a/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go +++ b/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/DisableSerialConsoleAccess.go b/hive/gateway/ec2/account/DisableSerialConsoleAccess.go index 10cd0c23f..df4e20337 100644 --- a/hive/gateway/ec2/account/DisableSerialConsoleAccess.go +++ b/hive/gateway/ec2/account/DisableSerialConsoleAccess.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go b/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go index f09100cab..bbb1b7f27 100644 --- a/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go +++ b/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/EnableSerialConsoleAccess.go b/hive/gateway/ec2/account/EnableSerialConsoleAccess.go index e59bd70c0..d42f611f4 100644 --- a/hive/gateway/ec2/account/EnableSerialConsoleAccess.go +++ b/hive/gateway/ec2/account/EnableSerialConsoleAccess.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go b/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go index 82b458345..98e4474a8 100644 --- a/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go +++ b/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go b/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go index 02f0e50f6..9ebd79f1b 100644 --- a/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go +++ b/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/hive/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/account_test.go b/hive/gateway/ec2/account/account_test.go index 1d2e230be..41e5438d8 100644 --- a/hive/gateway/ec2/account/account_test.go +++ b/hive/gateway/ec2/account/account_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go b/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go index 8c781f4f2..47fc60624 100644 --- a/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go +++ b/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/hive/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go b/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go index f3f8a0f84..1224c9ab3 100644 --- a/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go +++ b/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/hive/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go b/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go index cb49c5e00..5ec3310e9 100644 --- a/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go +++ b/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/hive/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/eigw_test.go b/hive/gateway/ec2/eigw/eigw_test.go index b067d8e64..67d2f344c 100644 --- a/hive/gateway/ec2/eigw/eigw_test.go +++ b/hive/gateway/ec2/eigw/eigw_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/igw/AttachInternetGateway.go b/hive/gateway/ec2/igw/AttachInternetGateway.go index 8a67f25be..84b93ac35 100644 --- a/hive/gateway/ec2/igw/AttachInternetGateway.go +++ b/hive/gateway/ec2/igw/AttachInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/CreateInternetGateway.go b/hive/gateway/ec2/igw/CreateInternetGateway.go index 06e25db8a..19971043c 100644 --- a/hive/gateway/ec2/igw/CreateInternetGateway.go +++ b/hive/gateway/ec2/igw/CreateInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DeleteInternetGateway.go b/hive/gateway/ec2/igw/DeleteInternetGateway.go index fed2cf37c..ebc6e61a0 100644 --- a/hive/gateway/ec2/igw/DeleteInternetGateway.go +++ b/hive/gateway/ec2/igw/DeleteInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DescribeInternetGateways.go b/hive/gateway/ec2/igw/DescribeInternetGateways.go index 3f8faeaed..1d5460ea0 100644 --- a/hive/gateway/ec2/igw/DescribeInternetGateways.go +++ b/hive/gateway/ec2/igw/DescribeInternetGateways.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DetachInternetGateway.go b/hive/gateway/ec2/igw/DetachInternetGateway.go index 8e478e4df..2a6523714 100644 --- a/hive/gateway/ec2/igw/DetachInternetGateway.go +++ b/hive/gateway/ec2/igw/DetachInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/igw_test.go b/hive/gateway/ec2/igw/igw_test.go index 62b3f32c2..cc946c3c4 100644 --- a/hive/gateway/ec2/igw/igw_test.go +++ b/hive/gateway/ec2/igw/igw_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/CreateImage.go b/hive/gateway/ec2/image/CreateImage.go index f515378ff..32c9228fe 100644 --- a/hive/gateway/ec2/image/CreateImage.go +++ b/hive/gateway/ec2/image/CreateImage.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/hive/hive/handlers/ec2/image" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/image/CreateImage_test.go b/hive/gateway/ec2/image/CreateImage_test.go index e2d419e2e..0da330928 100644 --- a/hive/gateway/ec2/image/CreateImage_test.go +++ b/hive/gateway/ec2/image/CreateImage_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/DescribeImages.go b/hive/gateway/ec2/image/DescribeImages.go index 4c4183fac..3c8f40c3d 100644 --- a/hive/gateway/ec2/image/DescribeImages.go +++ b/hive/gateway/ec2/image/DescribeImages.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/hive/hive/handlers/ec2/image" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/image/DescribeImages_test.go b/hive/gateway/ec2/image/DescribeImages_test.go index 4a30cf180..6d3065ab7 100644 --- a/hive/gateway/ec2/image/DescribeImages_test.go +++ b/hive/gateway/ec2/image/DescribeImages_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/handler_test.go b/hive/gateway/ec2/image/handler_test.go index 544cf6cb8..6894a08c8 100644 --- a/hive/gateway/ec2/image/handler_test.go +++ b/hive/gateway/ec2/image/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/instance/DescribeInstanceTypes.go b/hive/gateway/ec2/instance/DescribeInstanceTypes.go index a45596235..bb1501263 100644 --- a/hive/gateway/ec2/instance/DescribeInstanceTypes.go +++ b/hive/gateway/ec2/instance/DescribeInstanceTypes.go @@ -7,7 +7,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go b/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go index b8aa3b661..3ec883d34 100644 --- a/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go +++ b/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/DescribeInstances.go b/hive/gateway/ec2/instance/DescribeInstances.go index dc1ecefa0..9e55933de 100644 --- a/hive/gateway/ec2/instance/DescribeInstances.go +++ b/hive/gateway/ec2/instance/DescribeInstances.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/DescribeInstances_test.go b/hive/gateway/ec2/instance/DescribeInstances_test.go index 2b30d14ee..0f52a8b39 100644 --- a/hive/gateway/ec2/instance/DescribeInstances_test.go +++ b/hive/gateway/ec2/instance/DescribeInstances_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/GetConsoleOutput.go b/hive/gateway/ec2/instance/GetConsoleOutput.go index 760aca558..b995c1b3b 100644 --- a/hive/gateway/ec2/instance/GetConsoleOutput.go +++ b/hive/gateway/ec2/instance/GetConsoleOutput.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/ModifyInstanceAttribute.go b/hive/gateway/ec2/instance/ModifyInstanceAttribute.go index d4431b138..1a88ef233 100644 --- a/hive/gateway/ec2/instance/ModifyInstanceAttribute.go +++ b/hive/gateway/ec2/instance/ModifyInstanceAttribute.go @@ -9,8 +9,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go b/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go index 8ed1044fc..c6798d022 100644 --- a/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go +++ b/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/RebootInstances.go b/hive/gateway/ec2/instance/RebootInstances.go index 5d3e8ecee..8f484f2f7 100644 --- a/hive/gateway/ec2/instance/RebootInstances.go +++ b/hive/gateway/ec2/instance/RebootInstances.go @@ -8,9 +8,9 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/RebootInstances_test.go b/hive/gateway/ec2/instance/RebootInstances_test.go index e3e9c60aa..aeffa2de3 100644 --- a/hive/gateway/ec2/instance/RebootInstances_test.go +++ b/hive/gateway/ec2/instance/RebootInstances_test.go @@ -6,9 +6,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/RunInstances.go b/hive/gateway/ec2/instance/RunInstances.go index 91004c395..c055d85a0 100644 --- a/hive/gateway/ec2/instance/RunInstances.go +++ b/hive/gateway/ec2/instance/RunInstances.go @@ -6,10 +6,10 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" - handlers_ec2_instance "github.com/mulgadc/hive/hive/handlers/ec2/instance" + handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/RunInstances_test.go b/hive/gateway/ec2/instance/RunInstances_test.go index 59ee20e18..2a496e95d 100644 --- a/hive/gateway/ec2/instance/RunInstances_test.go +++ b/hive/gateway/ec2/instance/RunInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/instance/StartInstances.go b/hive/gateway/ec2/instance/StartInstances.go index be0143815..576cce978 100644 --- a/hive/gateway/ec2/instance/StartInstances.go +++ b/hive/gateway/ec2/instance/StartInstances.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/StopInstances.go b/hive/gateway/ec2/instance/StopInstances.go index 75468d416..e7cf0e6e8 100644 --- a/hive/gateway/ec2/instance/StopInstances.go +++ b/hive/gateway/ec2/instance/StopInstances.go @@ -8,8 +8,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/StopInstances_test.go b/hive/gateway/ec2/instance/StopInstances_test.go index 2410c8d51..10c5388d5 100644 --- a/hive/gateway/ec2/instance/StopInstances_test.go +++ b/hive/gateway/ec2/instance/StopInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/TerminateInstances.go b/hive/gateway/ec2/instance/TerminateInstances.go index 5c100cdb0..958dac787 100644 --- a/hive/gateway/ec2/instance/TerminateInstances.go +++ b/hive/gateway/ec2/instance/TerminateInstances.go @@ -8,8 +8,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/TerminateInstances_test.go b/hive/gateway/ec2/instance/TerminateInstances_test.go index dc60cc71d..c1a88fa5e 100644 --- a/hive/gateway/ec2/instance/TerminateInstances_test.go +++ b/hive/gateway/ec2/instance/TerminateInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/key/CreateKeyPair.go b/hive/gateway/ec2/key/CreateKeyPair.go index 630d07aa7..a79ebd5c3 100644 --- a/hive/gateway/ec2/key/CreateKeyPair.go +++ b/hive/gateway/ec2/key/CreateKeyPair.go @@ -5,8 +5,8 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/CreateKeyPair_test.go b/hive/gateway/ec2/key/CreateKeyPair_test.go index aed3f7219..50e29e770 100644 --- a/hive/gateway/ec2/key/CreateKeyPair_test.go +++ b/hive/gateway/ec2/key/CreateKeyPair_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/DeleteKeyPair.go b/hive/gateway/ec2/key/DeleteKeyPair.go index 6e9e7228a..1f1699899 100644 --- a/hive/gateway/ec2/key/DeleteKeyPair.go +++ b/hive/gateway/ec2/key/DeleteKeyPair.go @@ -5,8 +5,8 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/DeleteKeyPair_test.go b/hive/gateway/ec2/key/DeleteKeyPair_test.go index b51ffdfdd..215373f90 100644 --- a/hive/gateway/ec2/key/DeleteKeyPair_test.go +++ b/hive/gateway/ec2/key/DeleteKeyPair_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/DescribeKeyPairs.go b/hive/gateway/ec2/key/DescribeKeyPairs.go index 6390b5c2c..6fdd9d711 100644 --- a/hive/gateway/ec2/key/DescribeKeyPairs.go +++ b/hive/gateway/ec2/key/DescribeKeyPairs.go @@ -2,7 +2,7 @@ package gateway_ec2_key import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/ImportKeyPair.go b/hive/gateway/ec2/key/ImportKeyPair.go index 030120aa0..0a3f7119c 100644 --- a/hive/gateway/ec2/key/ImportKeyPair.go +++ b/hive/gateway/ec2/key/ImportKeyPair.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/hive/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/ImportKeyPair_test.go b/hive/gateway/ec2/key/ImportKeyPair_test.go index b172d9466..14b20583f 100644 --- a/hive/gateway/ec2/key/ImportKeyPair_test.go +++ b/hive/gateway/ec2/key/ImportKeyPair_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/handler_test.go b/hive/gateway/ec2/key/handler_test.go index 18d78638a..f44b07e6e 100644 --- a/hive/gateway/ec2/key/handler_test.go +++ b/hive/gateway/ec2/key/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/snapshot/CopySnapshot.go b/hive/gateway/ec2/snapshot/CopySnapshot.go index 84eecf09b..bfe33f374 100644 --- a/hive/gateway/ec2/snapshot/CopySnapshot.go +++ b/hive/gateway/ec2/snapshot/CopySnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/CreateSnapshot.go b/hive/gateway/ec2/snapshot/CreateSnapshot.go index dae299324..e463b9406 100644 --- a/hive/gateway/ec2/snapshot/CreateSnapshot.go +++ b/hive/gateway/ec2/snapshot/CreateSnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/DeleteSnapshot.go b/hive/gateway/ec2/snapshot/DeleteSnapshot.go index 5c2c812ba..3da965c7d 100644 --- a/hive/gateway/ec2/snapshot/DeleteSnapshot.go +++ b/hive/gateway/ec2/snapshot/DeleteSnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/DescribeSnapshots.go b/hive/gateway/ec2/snapshot/DescribeSnapshots.go index 5ce9a7824..6f7e1b871 100644 --- a/hive/gateway/ec2/snapshot/DescribeSnapshots.go +++ b/hive/gateway/ec2/snapshot/DescribeSnapshots.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/Snapshot_test.go b/hive/gateway/ec2/snapshot/Snapshot_test.go index 8bfa181f3..e211f4a23 100644 --- a/hive/gateway/ec2/snapshot/Snapshot_test.go +++ b/hive/gateway/ec2/snapshot/Snapshot_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/tags/CreateTags.go b/hive/gateway/ec2/tags/CreateTags.go index e0fe05580..6cea2cbdf 100644 --- a/hive/gateway/ec2/tags/CreateTags.go +++ b/hive/gateway/ec2/tags/CreateTags.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_tags "github.com/mulgadc/hive/hive/handlers/ec2/tags" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/CreateTags_test.go b/hive/gateway/ec2/tags/CreateTags_test.go index f671fe69b..e13bb37ac 100644 --- a/hive/gateway/ec2/tags/CreateTags_test.go +++ b/hive/gateway/ec2/tags/CreateTags_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/tags/DeleteTags.go b/hive/gateway/ec2/tags/DeleteTags.go index ddad38bfb..956d365f5 100644 --- a/hive/gateway/ec2/tags/DeleteTags.go +++ b/hive/gateway/ec2/tags/DeleteTags.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_tags "github.com/mulgadc/hive/hive/handlers/ec2/tags" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/DescribeTags.go b/hive/gateway/ec2/tags/DescribeTags.go index 6f2b017f6..446a2809d 100644 --- a/hive/gateway/ec2/tags/DescribeTags.go +++ b/hive/gateway/ec2/tags/DescribeTags.go @@ -2,7 +2,7 @@ package gateway_ec2_tags import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_tags "github.com/mulgadc/hive/hive/handlers/ec2/tags" + handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/tags_test.go b/hive/gateway/ec2/tags/tags_test.go index 8f1a52b7f..0e2f29b71 100644 --- a/hive/gateway/ec2/tags/tags_test.go +++ b/hive/gateway/ec2/tags/tags_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/AttachVolume.go b/hive/gateway/ec2/volume/AttachVolume.go index 805768939..08f351bc2 100644 --- a/hive/gateway/ec2/volume/AttachVolume.go +++ b/hive/gateway/ec2/volume/AttachVolume.go @@ -9,9 +9,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/AttachVolume_test.go b/hive/gateway/ec2/volume/AttachVolume_test.go index 9a6b471f6..ce7bbe982 100644 --- a/hive/gateway/ec2/volume/AttachVolume_test.go +++ b/hive/gateway/ec2/volume/AttachVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/CreateVolume.go b/hive/gateway/ec2/volume/CreateVolume.go index c16968fe7..1a7d599ef 100644 --- a/hive/gateway/ec2/volume/CreateVolume.go +++ b/hive/gateway/ec2/volume/CreateVolume.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/CreateVolume_test.go b/hive/gateway/ec2/volume/CreateVolume_test.go index 5d3bd35c7..1449e7b53 100644 --- a/hive/gateway/ec2/volume/CreateVolume_test.go +++ b/hive/gateway/ec2/volume/CreateVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/DeleteVolume.go b/hive/gateway/ec2/volume/DeleteVolume.go index f2ed0f7ed..d6edf238c 100644 --- a/hive/gateway/ec2/volume/DeleteVolume.go +++ b/hive/gateway/ec2/volume/DeleteVolume.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DeleteVolume_test.go b/hive/gateway/ec2/volume/DeleteVolume_test.go index 8d7102c79..f27b81c05 100644 --- a/hive/gateway/ec2/volume/DeleteVolume_test.go +++ b/hive/gateway/ec2/volume/DeleteVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/DescribeVolumeStatus.go b/hive/gateway/ec2/volume/DescribeVolumeStatus.go index d8c66d42b..39d8fdaa3 100644 --- a/hive/gateway/ec2/volume/DescribeVolumeStatus.go +++ b/hive/gateway/ec2/volume/DescribeVolumeStatus.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DescribeVolumes.go b/hive/gateway/ec2/volume/DescribeVolumes.go index ac99af06c..8dcc22277 100644 --- a/hive/gateway/ec2/volume/DescribeVolumes.go +++ b/hive/gateway/ec2/volume/DescribeVolumes.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DetachVolume.go b/hive/gateway/ec2/volume/DetachVolume.go index ea44df36d..31880bdd6 100644 --- a/hive/gateway/ec2/volume/DetachVolume.go +++ b/hive/gateway/ec2/volume/DetachVolume.go @@ -8,10 +8,10 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DetachVolume_test.go b/hive/gateway/ec2/volume/DetachVolume_test.go index 6e5abe1ea..91ac74e94 100644 --- a/hive/gateway/ec2/volume/DetachVolume_test.go +++ b/hive/gateway/ec2/volume/DetachVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/ModifyVolume.go b/hive/gateway/ec2/volume/ModifyVolume.go index f3d4f2abc..70403ff67 100644 --- a/hive/gateway/ec2/volume/ModifyVolume.go +++ b/hive/gateway/ec2/volume/ModifyVolume.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/hive/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/handler_test.go b/hive/gateway/ec2/volume/handler_test.go index 8995a77e3..6e1c56a57 100644 --- a/hive/gateway/ec2/volume/handler_test.go +++ b/hive/gateway/ec2/volume/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/vpc/CreateNetworkInterface.go b/hive/gateway/ec2/vpc/CreateNetworkInterface.go index 27fd07258..9c58c454d 100644 --- a/hive/gateway/ec2/vpc/CreateNetworkInterface.go +++ b/hive/gateway/ec2/vpc/CreateNetworkInterface.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/CreateSubnet.go b/hive/gateway/ec2/vpc/CreateSubnet.go index 28626c165..9998bf868 100644 --- a/hive/gateway/ec2/vpc/CreateSubnet.go +++ b/hive/gateway/ec2/vpc/CreateSubnet.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/CreateVpc.go b/hive/gateway/ec2/vpc/CreateVpc.go index 1ebb12ec6..49f23988d 100644 --- a/hive/gateway/ec2/vpc/CreateVpc.go +++ b/hive/gateway/ec2/vpc/CreateVpc.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteNetworkInterface.go b/hive/gateway/ec2/vpc/DeleteNetworkInterface.go index a0b4d6b8b..3232a1ea3 100644 --- a/hive/gateway/ec2/vpc/DeleteNetworkInterface.go +++ b/hive/gateway/ec2/vpc/DeleteNetworkInterface.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteSubnet.go b/hive/gateway/ec2/vpc/DeleteSubnet.go index 9438bd3f8..267c8ccec 100644 --- a/hive/gateway/ec2/vpc/DeleteSubnet.go +++ b/hive/gateway/ec2/vpc/DeleteSubnet.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteVpc.go b/hive/gateway/ec2/vpc/DeleteVpc.go index 0d8c04560..6e73d631a 100644 --- a/hive/gateway/ec2/vpc/DeleteVpc.go +++ b/hive/gateway/ec2/vpc/DeleteVpc.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go b/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go index 3d1cfbf11..90ed9f068 100644 --- a/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go +++ b/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeSubnets.go b/hive/gateway/ec2/vpc/DescribeSubnets.go index 2a9b52a27..558d04ef3 100644 --- a/hive/gateway/ec2/vpc/DescribeSubnets.go +++ b/hive/gateway/ec2/vpc/DescribeSubnets.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeVpcs.go b/hive/gateway/ec2/vpc/DescribeVpcs.go index 27b41c74c..dfcfe2447 100644 --- a/hive/gateway/ec2/vpc/DescribeVpcs.go +++ b/hive/gateway/ec2/vpc/DescribeVpcs.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/vpc_test.go b/hive/gateway/ec2/vpc/vpc_test.go index c17d2e692..d809c7c64 100644 --- a/hive/gateway/ec2/vpc/vpc_test.go +++ b/hive/gateway/ec2/vpc/vpc_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" + "github.com/mulgadc/spinifex/hive/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/gateway.go b/hive/gateway/gateway.go index 74b01232e..8914188bf 100644 --- a/hive/gateway/gateway.go +++ b/hive/gateway/gateway.go @@ -15,12 +15,12 @@ import ( "github.com/go-chi/chi/v5" "github.com/google/uuid" - "github.com/mulgadc/hive/hive/awsec2query" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/gateway/policy" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awsec2query" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/gateway/policy" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/gateway_test.go b/hive/gateway/gateway_test.go index 06905118d..4a5bf29b7 100644 --- a/hive/gateway/gateway_test.go +++ b/hive/gateway/gateway_test.go @@ -13,9 +13,9 @@ import ( "testing" "time" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/types" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/gateway/iam.go b/hive/gateway/iam.go index e18803510..130ed90c5 100644 --- a/hive/gateway/iam.go +++ b/hive/gateway/iam.go @@ -7,11 +7,11 @@ import ( "net/http" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awsec2query" - "github.com/mulgadc/hive/hive/awserrors" - gateway_iam "github.com/mulgadc/hive/hive/gateway/iam" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awsec2query" + "github.com/mulgadc/spinifex/hive/awserrors" + gateway_iam "github.com/mulgadc/spinifex/hive/gateway/iam" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/utils" ) // IAMHandler processes parsed query args and returns XML response bytes. diff --git a/hive/gateway/iam/handler_test.go b/hive/gateway/iam/handler_test.go index bc0d44a69..bf93106ca 100644 --- a/hive/gateway/iam/handler_test.go +++ b/hive/gateway/iam/handler_test.go @@ -3,8 +3,8 @@ package gateway_iam import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/hive/gateway/iam/key.go b/hive/gateway/iam/key.go index 3bb5af066..ca3817d43 100644 --- a/hive/gateway/iam/key.go +++ b/hive/gateway/iam/key.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" ) func CreateAccessKey(accountID string, input *iam.CreateAccessKeyInput, svc handlers_iam.IAMService) (*iam.CreateAccessKeyOutput, error) { diff --git a/hive/gateway/iam/policy.go b/hive/gateway/iam/policy.go index e7e515ca9..11ff30bbe 100644 --- a/hive/gateway/iam/policy.go +++ b/hive/gateway/iam/policy.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" ) func CreatePolicy(accountID string, input *iam.CreatePolicyInput, svc handlers_iam.IAMService) (*iam.CreatePolicyOutput, error) { diff --git a/hive/gateway/iam/user.go b/hive/gateway/iam/user.go index 694dae9cc..f219f6159 100644 --- a/hive/gateway/iam/user.go +++ b/hive/gateway/iam/user.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" ) func CreateUser(accountID string, input *iam.CreateUserInput, svc handlers_iam.IAMService) (*iam.CreateUserOutput, error) { diff --git a/hive/gateway/iam_request_test.go b/hive/gateway/iam_request_test.go index d1480c38c..3b224a4ba 100644 --- a/hive/gateway/iam_request_test.go +++ b/hive/gateway/iam_request_test.go @@ -11,8 +11,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/awserrors" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/policy/evaluator.go b/hive/gateway/policy/evaluator.go index 0b846aa30..3d20a1078 100644 --- a/hive/gateway/policy/evaluator.go +++ b/hive/gateway/policy/evaluator.go @@ -5,7 +5,7 @@ import ( "log/slog" "strings" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" ) // Decision represents the outcome of a policy evaluation. diff --git a/hive/gateway/policy/evaluator_test.go b/hive/gateway/policy/evaluator_test.go index cb990a2ab..0f86a4a22 100644 --- a/hive/gateway/policy/evaluator_test.go +++ b/hive/gateway/policy/evaluator_test.go @@ -3,7 +3,7 @@ package policy import ( "testing" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" ) // helper to build a single-statement policy document. diff --git a/hive/handlers/ec2/account/service_impl.go b/hive/handlers/ec2/account/service_impl.go index 0b45d18c1..f6f37e7da 100644 --- a/hive/handlers/ec2/account/service_impl.go +++ b/hive/handlers/ec2/account/service_impl.go @@ -8,8 +8,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/account/service_impl_test.go b/hive/handlers/ec2/account/service_impl_test.go index 1e4253bc5..04d1be9f0 100644 --- a/hive/handlers/ec2/account/service_impl_test.go +++ b/hive/handlers/ec2/account/service_impl_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/account/service_nats.go b/hive/handlers/ec2/account/service_nats.go index 082502467..588a8777e 100644 --- a/hive/handlers/ec2/account/service_nats.go +++ b/hive/handlers/ec2/account/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/eigw/service_impl.go b/hive/handlers/ec2/eigw/service_impl.go index d0a2c58d4..afca414b3 100644 --- a/hive/handlers/ec2/eigw/service_impl.go +++ b/hive/handlers/ec2/eigw/service_impl.go @@ -10,10 +10,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/eigw/service_impl_test.go b/hive/handlers/ec2/eigw/service_impl_test.go index 91a419d6f..7fc1a4332 100644 --- a/hive/handlers/ec2/eigw/service_impl_test.go +++ b/hive/handlers/ec2/eigw/service_impl_test.go @@ -6,8 +6,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/utils" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/eigw/service_nats.go b/hive/handlers/ec2/eigw/service_nats.go index d9020d712..7f4716010 100644 --- a/hive/handlers/ec2/eigw/service_nats.go +++ b/hive/handlers/ec2/eigw/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service_impl.go b/hive/handlers/ec2/igw/service_impl.go index a3fb5e756..72272300e 100644 --- a/hive/handlers/ec2/igw/service_impl.go +++ b/hive/handlers/ec2/igw/service_impl.go @@ -10,11 +10,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service_impl_test.go b/hive/handlers/ec2/igw/service_impl_test.go index 0213cc592..4500b6c3a 100644 --- a/hive/handlers/ec2/igw/service_impl_test.go +++ b/hive/handlers/ec2/igw/service_impl_test.go @@ -6,8 +6,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/utils" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/igw/service_nats.go b/hive/handlers/ec2/igw/service_nats.go index a9b738f8c..80a46bcd4 100644 --- a/hive/handlers/ec2/igw/service_nats.go +++ b/hive/handlers/ec2/igw/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service_nats_test.go b/hive/handlers/ec2/igw/service_nats_test.go index d607e3666..4152ef5e2 100644 --- a/hive/handlers/ec2/igw/service_nats_test.go +++ b/hive/handlers/ec2/igw/service_nats_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/handlers/ec2/image/service_impl.go b/hive/handlers/ec2/image/service_impl.go index 1541121ab..63f280954 100644 --- a/hive/handlers/ec2/image/service_impl.go +++ b/hive/handlers/ec2/image/service_impl.go @@ -13,12 +13,12 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/viperblock/viperblock" vbs3 "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/image/service_impl_test.go b/hive/handlers/ec2/image/service_impl_test.go index e37fc7c71..b61678a73 100644 --- a/hive/handlers/ec2/image/service_impl_test.go +++ b/hive/handlers/ec2/image/service_impl_test.go @@ -8,9 +8,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/hive/hive/handlers/ec2/snapshot" - "github.com/mulgadc/hive/hive/objectstore" + "github.com/mulgadc/spinifex/hive/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/hive/objectstore" "github.com/mulgadc/viperblock/viperblock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/handlers/ec2/image/service_nats.go b/hive/handlers/ec2/image/service_nats.go index b274fe3e3..1f01e3831 100644 --- a/hive/handlers/ec2/image/service_nats.go +++ b/hive/handlers/ec2/image/service_nats.go @@ -5,7 +5,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/instance/service_impl.go b/hive/handlers/ec2/instance/service_impl.go index c12e56ac1..830446a28 100644 --- a/hive/handlers/ec2/instance/service_impl.go +++ b/hive/handlers/ec2/instance/service_impl.go @@ -15,12 +15,12 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" "github.com/kdomanski/iso9660" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - hivetypes "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + hivetypes "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/mulgadc/viperblock/types" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" diff --git a/hive/handlers/ec2/instance/service_impl_test.go b/hive/handlers/ec2/instance/service_impl_test.go index 1c306c802..5817d9b12 100644 --- a/hive/handlers/ec2/instance/service_impl_test.go +++ b/hive/handlers/ec2/instance/service_impl_test.go @@ -9,11 +9,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/utils" - "github.com/mulgadc/hive/hive/vm" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/hive/vm" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/instance/service_nats.go b/hive/handlers/ec2/instance/service_nats.go index 374d065ad..c1b10d2ce 100644 --- a/hive/handlers/ec2/instance/service_nats.go +++ b/hive/handlers/ec2/instance/service_nats.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/instance/service_nats_test.go b/hive/handlers/ec2/instance/service_nats_test.go index 06ef364f1..63d9e7b63 100644 --- a/hive/handlers/ec2/instance/service_nats_test.go +++ b/hive/handlers/ec2/instance/service_nats_test.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/key/service_impl.go b/hive/handlers/ec2/key/service_impl.go index 4d4533cbe..8dc339fdb 100644 --- a/hive/handlers/ec2/key/service_impl.go +++ b/hive/handlers/ec2/key/service_impl.go @@ -19,10 +19,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/utils" ) // Ensure KeyServiceImpl implements KeyService diff --git a/hive/handlers/ec2/key/service_impl_test.go b/hive/handlers/ec2/key/service_impl_test.go index 70fd244a7..8fd111627 100644 --- a/hive/handlers/ec2/key/service_impl_test.go +++ b/hive/handlers/ec2/key/service_impl_test.go @@ -9,8 +9,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/objectstore" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/objectstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/key/service_nats.go b/hive/handlers/ec2/key/service_nats.go index bdb2e113d..385829c44 100644 --- a/hive/handlers/ec2/key/service_nats.go +++ b/hive/handlers/ec2/key/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/snapshot/service_impl.go b/hive/handlers/ec2/snapshot/service_impl.go index feda81750..33a17c727 100644 --- a/hive/handlers/ec2/snapshot/service_impl.go +++ b/hive/handlers/ec2/snapshot/service_impl.go @@ -14,11 +14,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/snapshot/service_impl_test.go b/hive/handlers/ec2/snapshot/service_impl_test.go index 43ca059ea..65825ec22 100644 --- a/hive/handlers/ec2/snapshot/service_impl_test.go +++ b/hive/handlers/ec2/snapshot/service_impl_test.go @@ -9,9 +9,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/snapshot/service_nats.go b/hive/handlers/ec2/snapshot/service_nats.go index ce4fa5916..86e412a90 100644 --- a/hive/handlers/ec2/snapshot/service_nats.go +++ b/hive/handlers/ec2/snapshot/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/tags/service_impl.go b/hive/handlers/ec2/tags/service_impl.go index a5510af5b..d56219ea4 100644 --- a/hive/handlers/ec2/tags/service_impl.go +++ b/hive/handlers/ec2/tags/service_impl.go @@ -11,9 +11,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" ) // Ensure TagsServiceImpl implements TagsService diff --git a/hive/handlers/ec2/tags/service_impl_test.go b/hive/handlers/ec2/tags/service_impl_test.go index 32c33c198..bdcf24d3e 100644 --- a/hive/handlers/ec2/tags/service_impl_test.go +++ b/hive/handlers/ec2/tags/service_impl_test.go @@ -6,9 +6,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/tags/service_nats.go b/hive/handlers/ec2/tags/service_nats.go index 04c897c67..512398396 100644 --- a/hive/handlers/ec2/tags/service_nats.go +++ b/hive/handlers/ec2/tags/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/volume/service_impl.go b/hive/handlers/ec2/volume/service_impl.go index b7fc53c95..11a0b88d7 100644 --- a/hive/handlers/ec2/volume/service_impl.go +++ b/hive/handlers/ec2/volume/service_impl.go @@ -14,11 +14,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/viperblock/viperblock" s3backend "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/volume/service_impl_test.go b/hive/handlers/ec2/volume/service_impl_test.go index 02f5babc1..5d44d4110 100644 --- a/hive/handlers/ec2/volume/service_impl_test.go +++ b/hive/handlers/ec2/volume/service_impl_test.go @@ -10,10 +10,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/objectstore" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/hive/types" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/volume/service_nats.go b/hive/handlers/ec2/volume/service_nats.go index dc10b9d93..ae896243d 100644 --- a/hive/handlers/ec2/volume/service_nats.go +++ b/hive/handlers/ec2/volume/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/eni.go b/hive/handlers/ec2/vpc/eni.go index 1361917f0..c1357845e 100644 --- a/hive/handlers/ec2/vpc/eni.go +++ b/hive/handlers/ec2/vpc/eni.go @@ -10,8 +10,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/ipam.go b/hive/handlers/ec2/vpc/ipam.go index b9a072352..28fd6729b 100644 --- a/hive/handlers/ec2/vpc/ipam.go +++ b/hive/handlers/ec2/vpc/ipam.go @@ -8,7 +8,7 @@ import ( "math/big" "net" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/service_impl.go b/hive/handlers/ec2/vpc/service_impl.go index d1dfecfaa..d19f3a3d0 100644 --- a/hive/handlers/ec2/vpc/service_impl.go +++ b/hive/handlers/ec2/vpc/service_impl.go @@ -11,9 +11,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/service_impl_test.go b/hive/handlers/ec2/vpc/service_impl_test.go index 23b914d14..69e94ec89 100644 --- a/hive/handlers/ec2/vpc/service_impl_test.go +++ b/hive/handlers/ec2/vpc/service_impl_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/config" + "github.com/mulgadc/spinifex/hive/config" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/vpc/service_nats.go b/hive/handlers/ec2/vpc/service_nats.go index 0313d17f2..d5da39701 100644 --- a/hive/handlers/ec2/vpc/service_nats.go +++ b/hive/handlers/ec2/vpc/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/iam/account_test.go b/hive/handlers/iam/account_test.go index a5183a3b7..096f23716 100644 --- a/hive/handlers/iam/account_test.go +++ b/hive/handlers/iam/account_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/iam/service_impl.go b/hive/handlers/iam/service_impl.go index 0ea2232da..161e07563 100644 --- a/hive/handlers/iam/service_impl.go +++ b/hive/handlers/iam/service_impl.go @@ -14,9 +14,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/admin" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/admin" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/iam/service_impl_test.go b/hive/handlers/iam/service_impl_test.go index b09c666c3..e9a1bb023 100644 --- a/hive/handlers/iam/service_impl_test.go +++ b/hive/handlers/iam/service_impl_test.go @@ -10,9 +10,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/hive/hive/admin" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/admin" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/service/service.go b/hive/service/service.go index a73a34079..549b9f857 100644 --- a/hive/service/service.go +++ b/hive/service/service.go @@ -3,13 +3,13 @@ package service import ( "fmt" - "github.com/mulgadc/hive/hive/services/awsgw" - "github.com/mulgadc/hive/hive/services/hive" - "github.com/mulgadc/hive/hive/services/hiveui" - "github.com/mulgadc/hive/hive/services/nats" - "github.com/mulgadc/hive/hive/services/predastore" - "github.com/mulgadc/hive/hive/services/viperblockd" - "github.com/mulgadc/hive/hive/services/vpcd" + "github.com/mulgadc/spinifex/hive/services/awsgw" + "github.com/mulgadc/spinifex/hive/services/hive" + "github.com/mulgadc/spinifex/hive/services/hiveui" + "github.com/mulgadc/spinifex/hive/services/nats" + "github.com/mulgadc/spinifex/hive/services/predastore" + "github.com/mulgadc/spinifex/hive/services/viperblockd" + "github.com/mulgadc/spinifex/hive/services/vpcd" ) type Service interface { diff --git a/hive/service/service_test.go b/hive/service/service_test.go index 4aeded258..938ce348d 100644 --- a/hive/service/service_test.go +++ b/hive/service/service_test.go @@ -3,10 +3,10 @@ package service import ( "testing" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/services/nats" - "github.com/mulgadc/hive/hive/services/predastore" - "github.com/mulgadc/hive/hive/services/viperblockd" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/services/nats" + "github.com/mulgadc/spinifex/hive/services/predastore" + "github.com/mulgadc/spinifex/hive/services/viperblockd" "github.com/stretchr/testify/assert" ) diff --git a/hive/services/awsgw/awsgw.go b/hive/services/awsgw/awsgw.go index 8494cb04f..1d6961cce 100644 --- a/hive/services/awsgw/awsgw.go +++ b/hive/services/awsgw/awsgw.go @@ -10,10 +10,10 @@ import ( "strings" "time" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/gateway" - handlers_iam "github.com/mulgadc/hive/hive/handlers/iam" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/gateway" + handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/services/hive/hive.go b/hive/services/hive/hive.go index b9cc2f208..e0fa87cd0 100644 --- a/hive/services/hive/hive.go +++ b/hive/services/hive/hive.go @@ -5,9 +5,9 @@ import ( "log/slog" "os" - "github.com/mulgadc/hive/hive/config" - "github.com/mulgadc/hive/hive/daemon" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/hive/daemon" + "github.com/mulgadc/spinifex/hive/utils" ) var serviceName = "hive" diff --git a/hive/services/hiveui/hiveui.go b/hive/services/hiveui/hiveui.go index fb75e6f30..b607599e5 100644 --- a/hive/services/hiveui/hiveui.go +++ b/hive/services/hiveui/hiveui.go @@ -21,7 +21,7 @@ import ( "syscall" "time" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" ) var serviceName = "hive-ui" diff --git a/hive/services/nats/nats.go b/hive/services/nats/nats.go index 333a37afa..828b1c6e4 100644 --- a/hive/services/nats/nats.go +++ b/hive/services/nats/nats.go @@ -5,7 +5,7 @@ import ( "log/slog" "os" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" ) diff --git a/hive/services/predastore/predastore.go b/hive/services/predastore/predastore.go index a3325c486..a86cf88c5 100644 --- a/hive/services/predastore/predastore.go +++ b/hive/services/predastore/predastore.go @@ -9,7 +9,7 @@ import ( "syscall" "time" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/predastore/s3" // Import backends to trigger their init() registration diff --git a/hive/services/viperblockd/viperblockd.go b/hive/services/viperblockd/viperblockd.go index aee848c85..aa318c9b2 100644 --- a/hive/services/viperblockd/viperblockd.go +++ b/hive/services/viperblockd/viperblockd.go @@ -12,9 +12,9 @@ import ( "syscall" "time" - "github.com/mulgadc/hive/hive/nbd" - "github.com/mulgadc/hive/hive/types" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/nbd" + "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/hive/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" diff --git a/hive/services/viperblockd/viperblockd_handlers_test.go b/hive/services/viperblockd/viperblockd_handlers_test.go index 296f2585d..4e604287c 100644 --- a/hive/services/viperblockd/viperblockd_handlers_test.go +++ b/hive/services/viperblockd/viperblockd_handlers_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/file" "github.com/nats-io/nats.go" diff --git a/hive/services/viperblockd/viperblockd_integration_test.go b/hive/services/viperblockd/viperblockd_integration_test.go index ec10e27cf..80b6510b2 100644 --- a/hive/services/viperblockd/viperblockd_integration_test.go +++ b/hive/services/viperblockd/viperblockd_integration_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/types" "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/hive/services/vpcd/integration_test.go b/hive/services/vpcd/integration_test.go index 7d1b391d2..dde77e6fc 100644 --- a/hive/services/vpcd/integration_test.go +++ b/hive/services/vpcd/integration_test.go @@ -8,9 +8,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_igw "github.com/mulgadc/hive/hive/handlers/ec2/igw" - handlers_ec2_vpc "github.com/mulgadc/hive/hive/handlers/ec2/vpc" - "github.com/mulgadc/hive/hive/utils" + handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/hive/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/mock_ovn.go b/hive/services/vpcd/mock_ovn.go index 814dae681..29a720751 100644 --- a/hive/services/vpcd/mock_ovn.go +++ b/hive/services/vpcd/mock_ovn.go @@ -5,8 +5,8 @@ import ( "fmt" "sync" - "github.com/mulgadc/hive/hive/services/vpcd/nbdb" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/hive/utils" ) // MockOVNClient implements OVNClient with in-memory storage for testing. diff --git a/hive/services/vpcd/ovn.go b/hive/services/vpcd/ovn.go index 619ae7f14..6136deebd 100644 --- a/hive/services/vpcd/ovn.go +++ b/hive/services/vpcd/ovn.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - "github.com/mulgadc/hive/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" "github.com/ovn-kubernetes/libovsdb/client" "github.com/ovn-kubernetes/libovsdb/model" "github.com/ovn-kubernetes/libovsdb/ovsdb" diff --git a/hive/services/vpcd/ovn_test.go b/hive/services/vpcd/ovn_test.go index 9dd4a9085..096a1d64b 100644 --- a/hive/services/vpcd/ovn_test.go +++ b/hive/services/vpcd/ovn_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/mulgadc/hive/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" ) func TestMockOVNClient_Connect(t *testing.T) { diff --git a/hive/services/vpcd/topology.go b/hive/services/vpcd/topology.go index b8354354c..e479372b2 100644 --- a/hive/services/vpcd/topology.go +++ b/hive/services/vpcd/topology.go @@ -7,8 +7,8 @@ import ( "log/slog" "net" - "github.com/mulgadc/hive/hive/services/vpcd/nbdb" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/hive/types" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/topology_test.go b/hive/services/vpcd/topology_test.go index 95e7d6eb9..657d21b41 100644 --- a/hive/services/vpcd/topology_test.go +++ b/hive/services/vpcd/topology_test.go @@ -5,8 +5,8 @@ import ( "encoding/json" "testing" - "github.com/mulgadc/hive/hive/services/vpcd/nbdb" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/hive/types" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/vpcd.go b/hive/services/vpcd/vpcd.go index 1f272039a..50c410579 100644 --- a/hive/services/vpcd/vpcd.go +++ b/hive/services/vpcd/vpcd.go @@ -10,7 +10,7 @@ import ( "path/filepath" "syscall" - "github.com/mulgadc/hive/hive/utils" + "github.com/mulgadc/spinifex/hive/utils" ) // sudoCommand wraps exec.Command with sudo when running as non-root. diff --git a/hive/types/cluster.go b/hive/types/cluster.go index eea279f11..10c44699f 100644 --- a/hive/types/cluster.go +++ b/hive/types/cluster.go @@ -1,6 +1,6 @@ package types -import "github.com/mulgadc/hive/hive/config" +import "github.com/mulgadc/spinifex/hive/config" // Cluster manager API types diff --git a/hive/utils/utils.go b/hive/utils/utils.go index c21d1ba07..bf948a6be 100644 --- a/hive/utils/utils.go +++ b/hive/utils/utils.go @@ -24,8 +24,8 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/hive/hive/awserrors" - "github.com/mulgadc/hive/hive/config" + "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/hive/config" "github.com/pterm/pterm" ) diff --git a/hive/vm/vm.go b/hive/vm/vm.go index 1207a03ea..628ef62bc 100644 --- a/hive/vm/vm.go +++ b/hive/vm/vm.go @@ -11,8 +11,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/hive/hive/qmp" - "github.com/mulgadc/hive/hive/types" + "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/hive/types" ) // InstanceHealthState tracks crash detection and auto-restart metadata for a VM. From 06804f5775c188b63ac0b01c0c08e03f79bc6b0a Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:37:30 +0000 Subject: [PATCH 02/12] =?UTF-8?q?refactor:=20rename=20directory=20structur?= =?UTF-8?q?e=20hive=20=E2=86=92=20spinifex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - git mv hive/ → spinifex/ - git mv cmd/hive/ → cmd/spinifex/ - git mv services/hive/ → services/spinifex/ - git mv services/hiveui/ → services/spinifexui/ - Update package declarations and all internal import paths - Update service.go switch cases for new service names --- cmd/{hive => spinifex}/LICENSE | 0 cmd/{hive => spinifex}/cmd/admin.go | 12 +++--- cmd/{hive => spinifex}/cmd/cluster.go | 2 +- cmd/{hive => spinifex}/cmd/get.go | 6 +-- cmd/{hive => spinifex}/cmd/paths.go | 0 cmd/{hive => spinifex}/cmd/paths_test.go | 0 cmd/{hive => spinifex}/cmd/root.go | 2 +- cmd/{hive => spinifex}/cmd/service.go | 14 +++---- .../cmd/templates/awsgw.toml | 0 .../cmd/templates/hive.toml | 0 .../cmd/templates/nats.conf | 0 .../cmd/templates/predastore-multinode.toml | 0 .../cmd/templates/predastore.toml | 0 cmd/{hive => spinifex}/cmd/top.go | 2 +- cmd/{hive => spinifex}/cmd/version.go | 2 +- cmd/{hive => spinifex}/cmd/version_test.go | 0 cmd/{hive => spinifex}/main.go | 2 +- {hive => spinifex}/admin/admin.go | 0 {hive => spinifex}/admin/admin_test.go | 0 {hive => spinifex}/awsec2query/parser.go | 0 {hive => spinifex}/awsec2query/parser_test.go | 0 {hive => spinifex}/awserrors/awserrors.go | 0 .../awserrors/awserrors_test.go | 0 {hive => spinifex}/config/config.go | 0 {hive => spinifex}/config/config_test.go | 0 {hive => spinifex}/daemon/daemon.go | 36 +++++++++--------- {hive => spinifex}/daemon/daemon_handlers.go | 8 ++-- .../daemon/daemon_handlers_account.go | 0 .../daemon/daemon_handlers_console.go | 4 +- .../daemon/daemon_handlers_igw.go | 0 .../daemon/daemon_handlers_image.go | 8 ++-- .../daemon/daemon_handlers_instance.go | 10 ++--- .../daemon/daemon_handlers_key.go | 0 .../daemon/daemon_handlers_snapshot.go | 0 .../daemon/daemon_handlers_tag.go | 0 .../daemon/daemon_handlers_test.go | 30 +++++++-------- .../daemon/daemon_handlers_volume.go | 10 ++--- .../daemon/daemon_handlers_vpc.go | 0 {hive => spinifex}/daemon/daemon_test.go | 14 +++---- {hive => spinifex}/daemon/device_map.go | 4 +- {hive => spinifex}/daemon/device_map_test.go | 2 +- {hive => spinifex}/daemon/health.go | 2 +- {hive => spinifex}/daemon/health_test.go | 4 +- {hive => spinifex}/daemon/heartbeat.go | 0 {hive => spinifex}/daemon/heartbeat_test.go | 4 +- {hive => spinifex}/daemon/jetstream.go | 2 +- {hive => spinifex}/daemon/jetstream_test.go | 2 +- {hive => spinifex}/daemon/main_test.go | 0 {hive => spinifex}/daemon/network.go | 0 {hive => spinifex}/daemon/network_test.go | 2 +- {hive => spinifex}/daemon/ownership.go | 4 +- {hive => spinifex}/daemon/resource.go | 2 +- {hive => spinifex}/daemon/resource_test.go | 0 {hive => spinifex}/daemon/shutdown.go | 2 +- {hive => spinifex}/daemon/shutdown_test.go | 0 {hive => spinifex}/daemon/state.go | 2 +- {hive => spinifex}/daemon/state_test.go | 6 +-- {hive => spinifex}/formation/formation.go | 0 .../formation/formation_test.go | 0 {hive => spinifex}/formation/helpers.go | 2 +- {hive => spinifex}/formation/helpers_test.go | 0 {hive => spinifex}/gateway/account.go | 0 {hive => spinifex}/gateway/auth.go | 4 +- {hive => spinifex}/gateway/auth_test.go | 6 +-- {hive => spinifex}/gateway/ec2.go | 28 +++++++------- .../ec2/account/DescribeAccountAttributes.go | 0 .../account/DisableEbsEncryptionByDefault.go | 4 +- .../ec2/account/DisableSerialConsoleAccess.go | 4 +- .../account/EnableEbsEncryptionByDefault.go | 4 +- .../ec2/account/EnableSerialConsoleAccess.go | 4 +- .../ec2/account/GetEbsEncryptionByDefault.go | 4 +- .../account/GetSerialConsoleAccessStatus.go | 4 +- .../gateway/ec2/account/account_test.go | 2 +- .../eigw/CreateEgressOnlyInternetGateway.go | 4 +- .../eigw/DeleteEgressOnlyInternetGateway.go | 4 +- .../DescribeEgressOnlyInternetGateways.go | 4 +- .../gateway/ec2/eigw/eigw_test.go | 2 +- .../gateway/ec2/igw/AttachInternetGateway.go | 4 +- .../gateway/ec2/igw/CreateInternetGateway.go | 4 +- .../gateway/ec2/igw/DeleteInternetGateway.go | 4 +- .../ec2/igw/DescribeInternetGateways.go | 4 +- .../gateway/ec2/igw/DetachInternetGateway.go | 4 +- .../gateway/ec2/igw/igw_test.go | 2 +- .../gateway/ec2/image/CreateImage.go | 4 +- .../gateway/ec2/image/CreateImage_test.go | 2 +- .../gateway/ec2/image/DescribeImages.go | 4 +- .../gateway/ec2/image/DescribeImages_test.go | 2 +- .../gateway/ec2/image/handler_test.go | 2 +- .../ec2/instance/DescribeInstanceTypes.go | 2 +- .../instance/DescribeInstanceTypes_test.go | 2 +- .../gateway/ec2/instance/DescribeInstances.go | 2 +- .../ec2/instance/DescribeInstances_test.go | 2 +- .../gateway/ec2/instance/GetConsoleOutput.go | 2 +- .../ec2/instance/ModifyInstanceAttribute.go | 4 +- .../instance/ModifyInstanceAttribute_test.go | 2 +- .../gateway/ec2/instance/RebootInstances.go | 6 +-- .../ec2/instance/RebootInstances_test.go | 6 +-- .../gateway/ec2/instance/RunInstances.go | 6 +-- .../gateway/ec2/instance/RunInstances_test.go | 2 +- .../gateway/ec2/instance/StartInstances.go | 2 +- .../ec2/instance/StartInstances_test.go | 0 .../gateway/ec2/instance/StopInstances.go | 4 +- .../ec2/instance/StopInstances_test.go | 2 +- .../ec2/instance/TerminateInstances.go | 4 +- .../ec2/instance/TerminateInstances_test.go | 2 +- .../gateway/ec2/instance/helpers_test.go | 0 .../gateway/ec2/instance/state.go | 0 .../gateway/ec2/instance/state_test.go | 0 .../gateway/ec2/key/CreateKeyPair.go | 4 +- .../gateway/ec2/key/CreateKeyPair_test.go | 2 +- .../gateway/ec2/key/DeleteKeyPair.go | 4 +- .../gateway/ec2/key/DeleteKeyPair_test.go | 2 +- .../gateway/ec2/key/DescribeKeyPairs.go | 2 +- .../gateway/ec2/key/ImportKeyPair.go | 4 +- .../gateway/ec2/key/ImportKeyPair_test.go | 2 +- .../gateway/ec2/key/handler_test.go | 2 +- .../gateway/ec2/snapshot/CopySnapshot.go | 4 +- .../gateway/ec2/snapshot/CreateSnapshot.go | 4 +- .../gateway/ec2/snapshot/DeleteSnapshot.go | 4 +- .../gateway/ec2/snapshot/DescribeSnapshots.go | 4 +- .../gateway/ec2/snapshot/Snapshot_test.go | 2 +- .../gateway/ec2/tags/CreateTags.go | 4 +- .../gateway/ec2/tags/CreateTags_test.go | 2 +- .../gateway/ec2/tags/DeleteTags.go | 4 +- .../gateway/ec2/tags/DescribeTags.go | 2 +- .../gateway/ec2/tags/tags_test.go | 2 +- .../gateway/ec2/volume/AttachVolume.go | 6 +-- .../gateway/ec2/volume/AttachVolume_test.go | 2 +- .../gateway/ec2/volume/CreateVolume.go | 4 +- .../gateway/ec2/volume/CreateVolume_test.go | 2 +- .../gateway/ec2/volume/DeleteVolume.go | 4 +- .../gateway/ec2/volume/DeleteVolume_test.go | 2 +- .../ec2/volume/DescribeVolumeStatus.go | 4 +- .../ec2/volume/DescribeVolumeStatus_test.go | 0 .../gateway/ec2/volume/DescribeVolumes.go | 4 +- .../ec2/volume/DescribeVolumes_test.go | 0 .../gateway/ec2/volume/DetachVolume.go | 8 ++-- .../gateway/ec2/volume/DetachVolume_test.go | 2 +- .../gateway/ec2/volume/ModifyVolume.go | 4 +- .../gateway/ec2/volume/ModifyVolume_test.go | 0 .../gateway/ec2/volume/handler_test.go | 2 +- .../gateway/ec2/vpc/CreateNetworkInterface.go | 4 +- .../gateway/ec2/vpc/CreateSubnet.go | 4 +- .../gateway/ec2/vpc/CreateVpc.go | 4 +- .../gateway/ec2/vpc/DeleteNetworkInterface.go | 4 +- .../gateway/ec2/vpc/DeleteSubnet.go | 4 +- .../gateway/ec2/vpc/DeleteVpc.go | 4 +- .../ec2/vpc/DescribeNetworkInterfaces.go | 2 +- .../gateway/ec2/vpc/DescribeSubnets.go | 2 +- .../gateway/ec2/vpc/DescribeVpcs.go | 2 +- .../gateway/ec2/vpc/vpc_test.go | 2 +- .../gateway/ec2/zone/AvailabilityZone.go | 0 .../gateway/ec2/zone/zone_test.go | 0 {hive => spinifex}/gateway/errors-client.txt | 0 {hive => spinifex}/gateway/errors-common.txt | 0 {hive => spinifex}/gateway/errors-server.txt | 0 {hive => spinifex}/gateway/gateway.go | 12 +++--- {hive => spinifex}/gateway/gateway_test.go | 6 +-- {hive => spinifex}/gateway/iam.go | 10 ++--- .../gateway/iam/handler_test.go | 4 +- {hive => spinifex}/gateway/iam/key.go | 4 +- {hive => spinifex}/gateway/iam/policy.go | 4 +- {hive => spinifex}/gateway/iam/user.go | 4 +- .../gateway/iam_request_test.go | 4 +- {hive => spinifex}/gateway/policy/actions.go | 0 .../gateway/policy/evaluator.go | 2 +- .../gateway/policy/evaluator_test.go | 2 +- .../handlers/NATS_HANDLER_NAMING.md | 0 .../handlers/ec2/account/service.go | 0 .../handlers/ec2/account/service_impl.go | 4 +- .../handlers/ec2/account/service_impl_test.go | 2 +- .../handlers/ec2/account/service_nats.go | 2 +- .../handlers/ec2/eigw/service.go | 0 .../handlers/ec2/eigw/service_impl.go | 8 ++-- .../handlers/ec2/eigw/service_impl_test.go | 4 +- .../handlers/ec2/eigw/service_nats.go | 2 +- .../handlers/ec2/igw/service.go | 0 .../handlers/ec2/igw/service_impl.go | 10 ++--- .../handlers/ec2/igw/service_impl_test.go | 4 +- .../handlers/ec2/igw/service_nats.go | 2 +- .../handlers/ec2/igw/service_nats_test.go | 2 +- .../handlers/ec2/image/service.go | 0 .../handlers/ec2/image/service_impl.go | 12 +++--- .../handlers/ec2/image/service_impl_test.go | 6 +-- .../handlers/ec2/image/service_nats.go | 2 +- .../handlers/ec2/instance/service.go | 0 .../handlers/ec2/instance/service_impl.go | 12 +++--- .../ec2/instance/service_impl_test.go | 10 ++--- .../handlers/ec2/instance/service_mock.go | 0 .../handlers/ec2/instance/service_nats.go | 2 +- .../ec2/instance/service_nats_test.go | 2 +- .../handlers/ec2/key/service.go | 0 .../handlers/ec2/key/service_impl.go | 8 ++-- .../handlers/ec2/key/service_impl_test.go | 4 +- .../handlers/ec2/key/service_mock.go | 0 .../handlers/ec2/key/service_nats.go | 2 +- .../handlers/ec2/snapshot/service.go | 0 .../handlers/ec2/snapshot/service_impl.go | 10 ++--- .../ec2/snapshot/service_impl_test.go | 6 +-- .../handlers/ec2/snapshot/service_nats.go | 2 +- .../handlers/ec2/tags/service.go | 0 .../handlers/ec2/tags/service_impl.go | 6 +-- .../handlers/ec2/tags/service_impl_test.go | 6 +-- .../handlers/ec2/tags/service_nats.go | 2 +- .../handlers/ec2/volume/service.go | 0 .../handlers/ec2/volume/service_impl.go | 10 ++--- .../handlers/ec2/volume/service_impl_test.go | 8 ++-- .../handlers/ec2/volume/service_nats.go | 2 +- {hive => spinifex}/handlers/ec2/vpc/eni.go | 4 +- .../handlers/ec2/vpc/eni_test.go | 0 {hive => spinifex}/handlers/ec2/vpc/ipam.go | 2 +- .../handlers/ec2/vpc/ipam_test.go | 0 .../handlers/ec2/vpc/service.go | 0 .../handlers/ec2/vpc/service_impl.go | 6 +-- .../handlers/ec2/vpc/service_impl_test.go | 2 +- .../handlers/ec2/vpc/service_nats.go | 2 +- .../handlers/ec2/vpc/service_nats_test.go | 0 .../handlers/iam/account_test.go | 2 +- {hive => spinifex}/handlers/iam/crypto.go | 0 .../handlers/iam/crypto_test.go | 0 {hive => spinifex}/handlers/iam/service.go | 0 .../handlers/iam/service_impl.go | 6 +-- .../handlers/iam/service_impl_test.go | 6 +-- {hive => spinifex}/handlers/iam/types.go | 0 {hive => spinifex}/handlers/iam/types_test.go | 0 .../instancetypes/definitions.go | 0 {hive => spinifex}/instancetypes/detect.go | 0 .../instancetypes/detect_test.go | 0 {hive => spinifex}/instancetypes/generate.go | 0 .../instancetypes/generate_test.go | 0 {hive => spinifex}/nbd/nbd.go | 0 {hive => spinifex}/nbd/nbd_test.go | 0 {hive => spinifex}/objectstore/objectstore.go | 0 .../objectstore/objectstore_test.go | 0 {hive => spinifex}/qmp/qmp.go | 0 {hive => spinifex}/service/service.go | 22 +++++------ {hive => spinifex}/service/service_test.go | 8 ++-- {hive => spinifex}/services/awsgw/awsgw.go | 8 ++-- {hive => spinifex}/services/nats/nats.go | 2 +- .../services/predastore/predastore.go | 2 +- .../predastore/predastore_integration_test.go | 0 .../services/predastore/predastore_test.go | 0 .../services/spinifex/spinifex.go | 8 ++-- .../services/spinifexui}/README.md | 0 .../services/spinifexui}/frontend/.gitignore | 0 .../services/spinifexui}/frontend/.npmrc | 0 .../services/spinifexui}/frontend/.nvmrc | 0 .../spinifexui}/frontend/.oxfmtrc.jsonc | 0 .../spinifexui}/frontend/.oxlintrc.json | 0 .../spinifexui}/frontend/components.json | 0 .../dist/assets/DescribeInstancesCommand.js | 0 .../dist/assets/QueryClientProvider.js | 0 .../spinifexui}/frontend/dist/assets/_.js | 0 .../spinifexui}/frontend/dist/assets/_auth.js | 0 .../frontend/dist/assets/_bucket.js | 0 .../spinifexui}/frontend/dist/assets/_id.js | 0 .../spinifexui}/frontend/dist/assets/_id2.js | 0 .../spinifexui}/frontend/dist/assets/_id3.js | 0 .../spinifexui}/frontend/dist/assets/_id4.js | 0 .../spinifexui}/frontend/dist/assets/_id5.js | 0 .../spinifexui}/frontend/dist/assets/_id6.js | 0 .../spinifexui}/frontend/dist/assets/_id7.js | 0 .../spinifexui}/frontend/dist/assets/_id8.js | 0 .../frontend/dist/assets/_policyArn.js | 0 .../frontend/dist/assets/_userName.js | 0 .../frontend/dist/assets/alert-dialog.js | 0 .../frontend/dist/assets/ami-details.js | 0 .../frontend/dist/assets/awsClient.js | 0 .../frontend/dist/assets/back-link.js | 0 .../frontend/dist/assets/button.js | 0 .../spinifexui}/frontend/dist/assets/check.js | 0 .../frontend/dist/assets/compiler-runtime.js | 0 .../frontend/dist/assets/create-bucket.js | 0 .../frontend/dist/assets/create-key-pair.js | 0 .../frontend/dist/assets/create-policy.js | 0 .../frontend/dist/assets/create-snapshot.js | 0 .../frontend/dist/assets/create-subnet.js | 0 .../frontend/dist/assets/create-user.js | 0 .../frontend/dist/assets/create-volume.js | 0 .../frontend/dist/assets/create-vpc.js | 0 .../dist/assets/createBaseUIEventDetails.js | 0 .../frontend/dist/assets/createLucideIcon.js | 0 .../dist/assets/delete-confirmation-dialog.js | 0 .../frontend/dist/assets/describe-images.js | 0 .../dist/assets/describe-instances.js | 0 .../dist/assets/describe-key-pairs.js | 0 .../dist/assets/describe-snapshots.js | 0 .../frontend/dist/assets/describe-subnets.js | 0 .../frontend/dist/assets/describe-volumes.js | 0 .../frontend/dist/assets/describe-vpcs.js | 0 .../frontend/dist/assets/detail-row.js | 0 .../frontend/dist/assets/download.js | 0 .../spinifexui}/frontend/dist/assets/ec2.js | 0 .../spinifexui}/frontend/dist/assets/ec22.js | 0 .../spinifexui}/frontend/dist/assets/ec23.js | 0 .../frontend/dist/assets/error-banner.js | 0 .../frontend/dist/assets/event-streams.js | 0 .../spinifexui}/frontend/dist/assets/field.js | 0 .../frontend/dist/assets/form-actions.js | 0 .../assets/geist-cyrillic-wght-normal.woff2 | Bin .../assets/geist-latin-ext-wght-normal.woff2 | Bin .../dist/assets/geist-latin-wght-normal.woff2 | Bin .../spinifexui}/frontend/dist/assets/iam.js | 0 .../spinifexui}/frontend/dist/assets/iam2.js | 0 .../spinifexui}/frontend/dist/assets/iam3.js | 0 .../frontend/dist/assets/import-key-pair.js | 0 .../frontend/dist/assets/index.css | 0 .../spinifexui}/frontend/dist/assets/index.js | 0 .../jetbrains-mono-cyrillic-wght-normal.woff2 | Bin .../jetbrains-mono-greek-wght-normal.woff2 | Bin ...jetbrains-mono-latin-ext-wght-normal.woff2 | Bin .../jetbrains-mono-latin-wght-normal.woff2 | Bin ...etbrains-mono-vietnamese-wght-normal.woff2 | Bin .../dist/assets/lazyRouteComponent.js | 0 .../spinifexui}/frontend/dist/assets/link.js | 0 .../frontend/dist/assets/list-card.js | 0 .../frontend/dist/assets/list-policies.js | 0 .../frontend/dist/assets/list-users.js | 0 .../spinifexui}/frontend/dist/assets/login.js | 0 .../spinifexui}/frontend/dist/assets/ls.js | 0 .../frontend/dist/assets/matchContext.js | 0 .../frontend/dist/assets/page-heading.js | 0 .../frontend/dist/assets/queryOptions.js | 0 .../spinifexui}/frontend/dist/assets/route.js | 0 .../frontend/dist/assets/route2.js | 0 .../frontend/dist/assets/run-instances.js | 0 .../spinifexui}/frontend/dist/assets/s3.js | 0 .../spinifexui}/frontend/dist/assets/s32.js | 0 .../frontend/dist/assets/select.js | 0 .../frontend/dist/assets/separator.js | 0 .../frontend/dist/assets/state-badge.js | 0 .../frontend/dist/assets/textarea.js | 0 .../frontend/dist/assets/toUtf8.browser.js | 0 .../frontend/dist/assets/trash-2.js | 0 .../frontend/dist/assets/upload-button.js | 0 .../dist/assets/use-copy-to-clipboard.js | 0 .../frontend/dist/assets/useNavigate.js | 0 .../dist/assets/useOpenInteractionType.js | 0 .../frontend/dist/assets/useRouter.js | 0 .../frontend/dist/assets/useRouterState.js | 0 .../frontend/dist/assets/useSuspenseQuery.js | 0 .../spinifexui}/frontend/dist/assets/utils.js | 0 .../spinifexui}/frontend/dist/assets/zod.js | 0 .../spinifexui}/frontend/dist/favicon.ico | Bin .../spinifexui}/frontend/dist/index.html | 0 .../spinifexui}/frontend/dist/mulga-logo.svg | 0 .../spinifexui}/frontend/dist/robots.txt | 0 .../services/spinifexui}/frontend/index.html | 0 .../spinifexui}/frontend/package.json | 0 .../spinifexui}/frontend/pnpm-lock.yaml | 0 .../spinifexui}/frontend/public/favicon.ico | Bin .../frontend/public/mulga-logo.svg | 0 .../spinifexui}/frontend/public/robots.txt | 0 .../frontend/src/components/back-link.tsx | 0 .../components/delete-confirmation-dialog.tsx | 0 .../src/components/detail-card.test.tsx | 0 .../frontend/src/components/detail-card.tsx | 0 .../src/components/detail-row.test.tsx | 0 .../frontend/src/components/detail-row.tsx | 0 .../src/components/error-banner.test.tsx | 0 .../frontend/src/components/error-banner.tsx | 0 .../src/components/form-actions.test.tsx | 0 .../frontend/src/components/form-actions.tsx | 0 .../frontend/src/components/header.tsx | 0 .../frontend/src/components/list-card.tsx | 0 .../frontend/src/components/not-found.tsx | 0 .../src/components/page-heading.test.tsx | 0 .../frontend/src/components/page-heading.tsx | 0 .../src/components/state-badge.test.tsx | 0 .../frontend/src/components/state-badge.tsx | 0 .../src/components/theme-provider.test.tsx | 0 .../src/components/theme-provider.tsx | 0 .../src/components/theme-switch.test.tsx | 0 .../frontend/src/components/theme-switch.tsx | 0 .../src/components/ui/alert-dialog.tsx | 0 .../frontend/src/components/ui/avatar.tsx | 0 .../frontend/src/components/ui/badge.tsx | 0 .../frontend/src/components/ui/button.tsx | 0 .../frontend/src/components/ui/card.tsx | 0 .../src/components/ui/collapsible.tsx | 0 .../frontend/src/components/ui/combobox.tsx | 0 .../src/components/ui/dropdown-menu.tsx | 0 .../frontend/src/components/ui/field.tsx | 0 .../src/components/ui/input-group.tsx | 0 .../frontend/src/components/ui/input.tsx | 0 .../frontend/src/components/ui/label.tsx | 0 .../frontend/src/components/ui/select.tsx | 0 .../frontend/src/components/ui/separator.tsx | 0 .../frontend/src/components/ui/sheet.tsx | 0 .../frontend/src/components/ui/sidebar.tsx | 0 .../frontend/src/components/ui/skeleton.tsx | 0 .../frontend/src/components/ui/textarea.tsx | 0 .../frontend/src/components/ui/tooltip.tsx | 0 .../src/hooks/use-copy-to-clipboard.test.tsx | 0 .../src/hooks/use-copy-to-clipboard.tsx | 0 .../src/hooks/use-initial-sidebar.tsx | 0 .../frontend/src/hooks/use-mobile.test.tsx | 0 .../frontend/src/hooks/use-mobile.tsx | 0 .../frontend/src/layouts/error-boundary.tsx | 0 .../frontend/src/layouts/sidebar-layout.tsx | 0 .../spinifexui}/frontend/src/lib/auth.test.ts | 0 .../spinifexui}/frontend/src/lib/auth.ts | 0 .../spinifexui}/frontend/src/lib/awsClient.ts | 0 .../frontend/src/lib/utils.test.ts | 0 .../spinifexui}/frontend/src/lib/utils.ts | 0 .../spinifexui}/frontend/src/main.tsx | 0 .../frontend/src/mutations/ec2.test.tsx | 0 .../spinifexui}/frontend/src/mutations/ec2.ts | 0 .../frontend/src/mutations/iam.test.tsx | 0 .../spinifexui}/frontend/src/mutations/iam.ts | 0 .../frontend/src/mutations/s3.test.tsx | 0 .../spinifexui}/frontend/src/mutations/s3.ts | 0 .../frontend/src/queries/ec2.test.ts | 0 .../spinifexui}/frontend/src/queries/ec2.ts | 0 .../frontend/src/queries/iam.test.ts | 0 .../spinifexui}/frontend/src/queries/iam.ts | 0 .../frontend/src/queries/s3.test.ts | 0 .../spinifexui}/frontend/src/queries/s3.ts | 0 .../spinifexui}/frontend/src/routeTree.gen.ts | 0 .../frontend/src/routes/__root.tsx | 0 .../ec2/(images)/describe-images/$id.tsx | 0 .../ec2/(images)/describe-images/index.tsx | 0 .../(instances)/describe-instances/$id.tsx | 0 .../(instances)/describe-instances/index.tsx | 0 .../_auth/ec2/(instances)/run-instances.tsx | 0 .../_auth/ec2/(key)/create-key-pair.tsx | 0 .../ec2/(key)/describe-key-pairs/$id.tsx | 0 .../ec2/(key)/describe-key-pairs/index.tsx | 0 .../_auth/ec2/(key)/import-key-pair.tsx | 0 .../_auth/ec2/(snapshots)/create-snapshot.tsx | 0 .../(snapshots)/describe-snapshots/$id.tsx | 0 .../(snapshots)/describe-snapshots/index.tsx | 0 .../_auth/ec2/(subnet)/create-subnet.tsx | 0 .../ec2/(subnet)/describe-subnets/$id.tsx | 0 .../ec2/(subnet)/describe-subnets/index.tsx | 0 .../_auth/ec2/(volumes)/create-volume.tsx | 0 .../ec2/(volumes)/describe-volumes/$id.tsx | 0 .../ec2/(volumes)/describe-volumes/index.tsx | 0 .../_auth/ec2/(volumes)/modify-volume/$id.tsx | 0 .../src/routes/_auth/ec2/(vpc)/create-vpc.tsx | 0 .../_auth/ec2/(vpc)/describe-vpcs/$id.tsx | 0 .../_auth/ec2/(vpc)/describe-vpcs/index.tsx | 0 .../_auth/ec2/-components/ami-details.tsx | 0 .../ec2/-components/create-image-dialog.tsx | 0 .../ec2/-components/instance-actions.test.tsx | 0 .../ec2/-components/instance-actions.tsx | 0 .../ec2/-components/private-key-modal.tsx | 0 .../_auth/iam/(policies)/create-policy.tsx | 0 .../(policies)/list-policies/$policyArn.tsx | 0 .../iam/(policies)/list-policies/index.tsx | 0 .../routes/_auth/iam/(users)/create-user.tsx | 0 .../iam/(users)/list-users/$userName.tsx | 0 .../_auth/iam/(users)/list-users/index.tsx | 0 .../iam/-components/access-key-modal.tsx | 0 .../policy-document-viewer.test.tsx | 0 .../-components/policy-document-viewer.tsx | 0 .../frontend/src/routes/_auth/index.tsx | 0 .../frontend/src/routes/_auth/route.tsx | 0 .../_auth/s3/(buckets)/create-bucket.tsx | 0 .../_auth/s3/-components/folder-list-item.tsx | 0 .../_auth/s3/-components/object-list-item.tsx | 0 .../_auth/s3/-components/upload-button.tsx | 0 .../src/routes/_auth/s3/ls/$bucket/$.tsx | 0 .../src/routes/_auth/s3/ls/$bucket/index.tsx | 0 .../src/routes/_auth/s3/ls/$bucket/route.tsx | 0 .../frontend/src/routes/_auth/s3/ls/index.tsx | 0 .../spinifexui}/frontend/src/routes/login.tsx | 0 .../spinifexui}/frontend/src/styles.css | 0 .../spinifexui}/frontend/src/test/setup.ts | 0 .../spinifexui}/frontend/src/test/utils.tsx | 0 .../frontend/src/types/ec2.test.ts | 0 .../spinifexui}/frontend/src/types/ec2.ts | 0 .../frontend/src/types/iam.test.ts | 0 .../spinifexui}/frontend/src/types/iam.ts | 0 .../spinifexui}/frontend/src/types/s3.test.ts | 0 .../spinifexui}/frontend/src/types/s3.ts | 0 .../spinifexui}/frontend/tsconfig.json | 0 .../spinifexui}/frontend/vite.config.ts | 0 .../services/spinifexui/spinifexui.go | 4 +- .../services/spinifexui/spinifexui_test.go | 2 +- .../services/viperblockd/viperblockd.go | 6 +-- .../viperblockd/viperblockd_handlers_test.go | 2 +- .../viperblockd_integration_test.go | 2 +- .../services/viperblockd/viperblockd_test.go | 0 .../services/vpcd/integration_test.go | 6 +-- {hive => spinifex}/services/vpcd/mock_ovn.go | 4 +- .../services/vpcd/nbdb/model.go | 0 .../services/vpcd/nbdb/model_test.go | 0 {hive => spinifex}/services/vpcd/ovn.go | 2 +- {hive => spinifex}/services/vpcd/ovn_test.go | 2 +- {hive => spinifex}/services/vpcd/topology.go | 4 +- .../services/vpcd/topology_test.go | 4 +- {hive => spinifex}/services/vpcd/vpcd.go | 2 +- {hive => spinifex}/services/vpcd/vpcd_test.go | 0 {hive => spinifex}/types/cluster.go | 2 +- {hive => spinifex}/types/ebs.go | 0 {hive => spinifex}/types/ec2.go | 0 {hive => spinifex}/types/node.go | 0 {hive => spinifex}/types/types.go | 0 {hive => spinifex}/utils/account.go | 0 {hive => spinifex}/utils/account_test.go | 0 {hive => spinifex}/utils/conversion.go | 0 {hive => spinifex}/utils/conversion_test.go | 0 {hive => spinifex}/utils/images.go | 0 {hive => spinifex}/utils/nats.go | 0 {hive => spinifex}/utils/nats_test.go | 0 {hive => spinifex}/utils/nbd.go | 0 {hive => spinifex}/utils/pidfile.go | 0 {hive => spinifex}/utils/process.go | 0 {hive => spinifex}/utils/utils.go | 4 +- {hive => spinifex}/utils/utils_test.go | 0 .../utils/utils_validation_test.go | 0 {hive => spinifex}/vm/state.go | 0 {hive => spinifex}/vm/state_test.go | 0 {hive => spinifex}/vm/vm.go | 4 +- {hive => spinifex}/vm/vm_test.go | 0 516 files changed, 415 insertions(+), 415 deletions(-) rename cmd/{hive => spinifex}/LICENSE (100%) rename cmd/{hive => spinifex}/cmd/admin.go (99%) rename cmd/{hive => spinifex}/cmd/cluster.go (99%) rename cmd/{hive => spinifex}/cmd/get.go (98%) rename cmd/{hive => spinifex}/cmd/paths.go (100%) rename cmd/{hive => spinifex}/cmd/paths_test.go (100%) rename cmd/{hive => spinifex}/cmd/root.go (99%) rename cmd/{hive => spinifex}/cmd/service.go (98%) rename cmd/{hive => spinifex}/cmd/templates/awsgw.toml (100%) rename cmd/{hive => spinifex}/cmd/templates/hive.toml (100%) rename cmd/{hive => spinifex}/cmd/templates/nats.conf (100%) rename cmd/{hive => spinifex}/cmd/templates/predastore-multinode.toml (100%) rename cmd/{hive => spinifex}/cmd/templates/predastore.toml (100%) rename cmd/{hive => spinifex}/cmd/top.go (98%) rename cmd/{hive => spinifex}/cmd/version.go (94%) rename cmd/{hive => spinifex}/cmd/version_test.go (100%) rename cmd/{hive => spinifex}/main.go (91%) rename {hive => spinifex}/admin/admin.go (100%) rename {hive => spinifex}/admin/admin_test.go (100%) rename {hive => spinifex}/awsec2query/parser.go (100%) rename {hive => spinifex}/awsec2query/parser_test.go (100%) rename {hive => spinifex}/awserrors/awserrors.go (100%) rename {hive => spinifex}/awserrors/awserrors_test.go (100%) rename {hive => spinifex}/config/config.go (100%) rename {hive => spinifex}/config/config_test.go (100%) rename {hive => spinifex}/daemon/daemon.go (98%) rename {hive => spinifex}/daemon/daemon_handlers.go (97%) rename {hive => spinifex}/daemon/daemon_handlers_account.go (100%) rename {hive => spinifex}/daemon/daemon_handlers_console.go (95%) rename {hive => spinifex}/daemon/daemon_handlers_igw.go (100%) rename {hive => spinifex}/daemon/daemon_handlers_image.go (92%) rename {hive => spinifex}/daemon/daemon_handlers_instance.go (99%) rename {hive => spinifex}/daemon/daemon_handlers_key.go (100%) rename {hive => spinifex}/daemon/daemon_handlers_snapshot.go (100%) rename {hive => spinifex}/daemon/daemon_handlers_tag.go (100%) rename {hive => spinifex}/daemon/daemon_handlers_test.go (99%) rename {hive => spinifex}/daemon/daemon_handlers_volume.go (98%) rename {hive => spinifex}/daemon/daemon_handlers_vpc.go (100%) rename {hive => spinifex}/daemon/daemon_test.go (99%) rename {hive => spinifex}/daemon/device_map.go (98%) rename {hive => spinifex}/daemon/device_map_test.go (99%) rename {hive => spinifex}/daemon/health.go (99%) rename {hive => spinifex}/daemon/health_test.go (99%) rename {hive => spinifex}/daemon/heartbeat.go (100%) rename {hive => spinifex}/daemon/heartbeat_test.go (97%) rename {hive => spinifex}/daemon/jetstream.go (99%) rename {hive => spinifex}/daemon/jetstream_test.go (99%) rename {hive => spinifex}/daemon/main_test.go (100%) rename {hive => spinifex}/daemon/network.go (100%) rename {hive => spinifex}/daemon/network_test.go (99%) rename {hive => spinifex}/daemon/ownership.go (93%) rename {hive => spinifex}/daemon/resource.go (97%) rename {hive => spinifex}/daemon/resource_test.go (100%) rename {hive => spinifex}/daemon/shutdown.go (99%) rename {hive => spinifex}/daemon/shutdown_test.go (100%) rename {hive => spinifex}/daemon/state.go (96%) rename {hive => spinifex}/daemon/state_test.go (99%) rename {hive => spinifex}/formation/formation.go (100%) rename {hive => spinifex}/formation/formation_test.go (100%) rename {hive => spinifex}/formation/helpers.go (97%) rename {hive => spinifex}/formation/helpers_test.go (100%) rename {hive => spinifex}/gateway/account.go (100%) rename {hive => spinifex}/gateway/auth.go (98%) rename {hive => spinifex}/gateway/auth_test.go (99%) rename {hive => spinifex}/gateway/ec2.go (93%) rename {hive => spinifex}/gateway/ec2/account/DescribeAccountAttributes.go (100%) rename {hive => spinifex}/gateway/ec2/account/DisableEbsEncryptionByDefault.go (86%) rename {hive => spinifex}/gateway/ec2/account/DisableSerialConsoleAccess.go (86%) rename {hive => spinifex}/gateway/ec2/account/EnableEbsEncryptionByDefault.go (86%) rename {hive => spinifex}/gateway/ec2/account/EnableSerialConsoleAccess.go (86%) rename {hive => spinifex}/gateway/ec2/account/GetEbsEncryptionByDefault.go (86%) rename {hive => spinifex}/gateway/ec2/account/GetSerialConsoleAccessStatus.go (86%) rename {hive => spinifex}/gateway/ec2/account/account_test.go (99%) rename {hive => spinifex}/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go (89%) rename {hive => spinifex}/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go (90%) rename {hive => spinifex}/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go (89%) rename {hive => spinifex}/gateway/ec2/eigw/eigw_test.go (98%) rename {hive => spinifex}/gateway/ec2/igw/AttachInternetGateway.go (87%) rename {hive => spinifex}/gateway/ec2/igw/CreateInternetGateway.go (84%) rename {hive => spinifex}/gateway/ec2/igw/DeleteInternetGateway.go (86%) rename {hive => spinifex}/gateway/ec2/igw/DescribeInternetGateways.go (84%) rename {hive => spinifex}/gateway/ec2/igw/DetachInternetGateway.go (87%) rename {hive => spinifex}/gateway/ec2/igw/igw_test.go (98%) rename {hive => spinifex}/gateway/ec2/image/CreateImage.go (90%) rename {hive => spinifex}/gateway/ec2/image/CreateImage_test.go (97%) rename {hive => spinifex}/gateway/ec2/image/DescribeImages.go (88%) rename {hive => spinifex}/gateway/ec2/image/DescribeImages_test.go (97%) rename {hive => spinifex}/gateway/ec2/image/handler_test.go (96%) rename {hive => spinifex}/gateway/ec2/instance/DescribeInstanceTypes.go (98%) rename {hive => spinifex}/gateway/ec2/instance/DescribeInstanceTypes_test.go (99%) rename {hive => spinifex}/gateway/ec2/instance/DescribeInstances.go (99%) rename {hive => spinifex}/gateway/ec2/instance/DescribeInstances_test.go (99%) rename {hive => spinifex}/gateway/ec2/instance/GetConsoleOutput.go (97%) rename {hive => spinifex}/gateway/ec2/instance/ModifyInstanceAttribute.go (96%) rename {hive => spinifex}/gateway/ec2/instance/ModifyInstanceAttribute_test.go (98%) rename {hive => spinifex}/gateway/ec2/instance/RebootInstances.go (94%) rename {hive => spinifex}/gateway/ec2/instance/RebootInstances_test.go (95%) rename {hive => spinifex}/gateway/ec2/instance/RunInstances.go (94%) rename {hive => spinifex}/gateway/ec2/instance/RunInstances_test.go (99%) rename {hive => spinifex}/gateway/ec2/instance/StartInstances.go (98%) rename {hive => spinifex}/gateway/ec2/instance/StartInstances_test.go (100%) rename {hive => spinifex}/gateway/ec2/instance/StopInstances.go (96%) rename {hive => spinifex}/gateway/ec2/instance/StopInstances_test.go (98%) rename {hive => spinifex}/gateway/ec2/instance/TerminateInstances.go (98%) rename {hive => spinifex}/gateway/ec2/instance/TerminateInstances_test.go (99%) rename {hive => spinifex}/gateway/ec2/instance/helpers_test.go (100%) rename {hive => spinifex}/gateway/ec2/instance/state.go (100%) rename {hive => spinifex}/gateway/ec2/instance/state_test.go (100%) rename {hive => spinifex}/gateway/ec2/key/CreateKeyPair.go (88%) rename {hive => spinifex}/gateway/ec2/key/CreateKeyPair_test.go (96%) rename {hive => spinifex}/gateway/ec2/key/DeleteKeyPair.go (89%) rename {hive => spinifex}/gateway/ec2/key/DeleteKeyPair_test.go (96%) rename {hive => spinifex}/gateway/ec2/key/DescribeKeyPairs.go (89%) rename {hive => spinifex}/gateway/ec2/key/ImportKeyPair.go (88%) rename {hive => spinifex}/gateway/ec2/key/ImportKeyPair_test.go (96%) rename {hive => spinifex}/gateway/ec2/key/handler_test.go (97%) rename {hive => spinifex}/gateway/ec2/snapshot/CopySnapshot.go (90%) rename {hive => spinifex}/gateway/ec2/snapshot/CreateSnapshot.go (88%) rename {hive => spinifex}/gateway/ec2/snapshot/DeleteSnapshot.go (89%) rename {hive => spinifex}/gateway/ec2/snapshot/DescribeSnapshots.go (88%) rename {hive => spinifex}/gateway/ec2/snapshot/Snapshot_test.go (99%) rename {hive => spinifex}/gateway/ec2/tags/CreateTags.go (90%) rename {hive => spinifex}/gateway/ec2/tags/CreateTags_test.go (98%) rename {hive => spinifex}/gateway/ec2/tags/DeleteTags.go (87%) rename {hive => spinifex}/gateway/ec2/tags/DescribeTags.go (87%) rename {hive => spinifex}/gateway/ec2/tags/tags_test.go (97%) rename {hive => spinifex}/gateway/ec2/volume/AttachVolume.go (96%) rename {hive => spinifex}/gateway/ec2/volume/AttachVolume_test.go (97%) rename {hive => spinifex}/gateway/ec2/volume/CreateVolume.go (90%) rename {hive => spinifex}/gateway/ec2/volume/CreateVolume_test.go (98%) rename {hive => spinifex}/gateway/ec2/volume/DeleteVolume.go (88%) rename {hive => spinifex}/gateway/ec2/volume/DeleteVolume_test.go (97%) rename {hive => spinifex}/gateway/ec2/volume/DescribeVolumeStatus.go (89%) rename {hive => spinifex}/gateway/ec2/volume/DescribeVolumeStatus_test.go (100%) rename {hive => spinifex}/gateway/ec2/volume/DescribeVolumes.go (90%) rename {hive => spinifex}/gateway/ec2/volume/DescribeVolumes_test.go (100%) rename {hive => spinifex}/gateway/ec2/volume/DetachVolume.go (93%) rename {hive => spinifex}/gateway/ec2/volume/DetachVolume_test.go (97%) rename {hive => spinifex}/gateway/ec2/volume/ModifyVolume.go (89%) rename {hive => spinifex}/gateway/ec2/volume/ModifyVolume_test.go (100%) rename {hive => spinifex}/gateway/ec2/volume/handler_test.go (98%) rename {hive => spinifex}/gateway/ec2/vpc/CreateNetworkInterface.go (86%) rename {hive => spinifex}/gateway/ec2/vpc/CreateSubnet.go (86%) rename {hive => spinifex}/gateway/ec2/vpc/CreateVpc.go (84%) rename {hive => spinifex}/gateway/ec2/vpc/DeleteNetworkInterface.go (86%) rename {hive => spinifex}/gateway/ec2/vpc/DeleteSubnet.go (85%) rename {hive => spinifex}/gateway/ec2/vpc/DeleteVpc.go (84%) rename {hive => spinifex}/gateway/ec2/vpc/DescribeNetworkInterfaces.go (88%) rename {hive => spinifex}/gateway/ec2/vpc/DescribeSubnets.go (87%) rename {hive => spinifex}/gateway/ec2/vpc/DescribeVpcs.go (86%) rename {hive => spinifex}/gateway/ec2/vpc/vpc_test.go (99%) rename {hive => spinifex}/gateway/ec2/zone/AvailabilityZone.go (100%) rename {hive => spinifex}/gateway/ec2/zone/zone_test.go (100%) rename {hive => spinifex}/gateway/errors-client.txt (100%) rename {hive => spinifex}/gateway/errors-common.txt (100%) rename {hive => spinifex}/gateway/errors-server.txt (100%) rename {hive => spinifex}/gateway/gateway.go (97%) rename {hive => spinifex}/gateway/gateway_test.go (99%) rename {hive => spinifex}/gateway/iam.go (95%) rename {hive => spinifex}/gateway/iam/handler_test.go (99%) rename {hive => spinifex}/gateway/iam/key.go (92%) rename {hive => spinifex}/gateway/iam/policy.go (96%) rename {hive => spinifex}/gateway/iam/user.go (90%) rename {hive => spinifex}/gateway/iam_request_test.go (98%) rename {hive => spinifex}/gateway/policy/actions.go (100%) rename {hive => spinifex}/gateway/policy/evaluator.go (97%) rename {hive => spinifex}/gateway/policy/evaluator_test.go (99%) rename {hive => spinifex}/handlers/NATS_HANDLER_NAMING.md (100%) rename {hive => spinifex}/handlers/ec2/account/service.go (100%) rename {hive => spinifex}/handlers/ec2/account/service_impl.go (98%) rename {hive => spinifex}/handlers/ec2/account/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/account/service_nats.go (98%) rename {hive => spinifex}/handlers/ec2/eigw/service.go (100%) rename {hive => spinifex}/handlers/ec2/eigw/service_impl.go (97%) rename {hive => spinifex}/handlers/ec2/eigw/service_impl_test.go (98%) rename {hive => spinifex}/handlers/ec2/eigw/service_nats.go (97%) rename {hive => spinifex}/handlers/ec2/igw/service.go (100%) rename {hive => spinifex}/handlers/ec2/igw/service_impl.go (97%) rename {hive => spinifex}/handlers/ec2/igw/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/igw/service_nats.go (97%) rename {hive => spinifex}/handlers/ec2/igw/service_nats_test.go (98%) rename {hive => spinifex}/handlers/ec2/image/service.go (100%) rename {hive => spinifex}/handlers/ec2/image/service_impl.go (98%) rename {hive => spinifex}/handlers/ec2/image/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/image/service_nats.go (98%) rename {hive => spinifex}/handlers/ec2/instance/service.go (100%) rename {hive => spinifex}/handlers/ec2/instance/service_impl.go (98%) rename {hive => spinifex}/handlers/ec2/instance/service_impl_test.go (98%) rename {hive => spinifex}/handlers/ec2/instance/service_mock.go (100%) rename {hive => spinifex}/handlers/ec2/instance/service_nats.go (94%) rename {hive => spinifex}/handlers/ec2/instance/service_nats_test.go (99%) rename {hive => spinifex}/handlers/ec2/key/service.go (100%) rename {hive => spinifex}/handlers/ec2/key/service_impl.go (99%) rename {hive => spinifex}/handlers/ec2/key/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/key/service_mock.go (100%) rename {hive => spinifex}/handlers/ec2/key/service_nats.go (96%) rename {hive => spinifex}/handlers/ec2/snapshot/service.go (100%) rename {hive => spinifex}/handlers/ec2/snapshot/service_impl.go (98%) rename {hive => spinifex}/handlers/ec2/snapshot/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/snapshot/service_nats.go (96%) rename {hive => spinifex}/handlers/ec2/tags/service.go (100%) rename {hive => spinifex}/handlers/ec2/tags/service_impl.go (98%) rename {hive => spinifex}/handlers/ec2/tags/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/tags/service_nats.go (95%) rename {hive => spinifex}/handlers/ec2/volume/service.go (100%) rename {hive => spinifex}/handlers/ec2/volume/service_impl.go (99%) rename {hive => spinifex}/handlers/ec2/volume/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/volume/service_nats.go (97%) rename {hive => spinifex}/handlers/ec2/vpc/eni.go (99%) rename {hive => spinifex}/handlers/ec2/vpc/eni_test.go (100%) rename {hive => spinifex}/handlers/ec2/vpc/ipam.go (99%) rename {hive => spinifex}/handlers/ec2/vpc/ipam_test.go (100%) rename {hive => spinifex}/handlers/ec2/vpc/service.go (100%) rename {hive => spinifex}/handlers/ec2/vpc/service_impl.go (99%) rename {hive => spinifex}/handlers/ec2/vpc/service_impl_test.go (99%) rename {hive => spinifex}/handlers/ec2/vpc/service_nats.go (98%) rename {hive => spinifex}/handlers/ec2/vpc/service_nats_test.go (100%) rename {hive => spinifex}/handlers/iam/account_test.go (99%) rename {hive => spinifex}/handlers/iam/crypto.go (100%) rename {hive => spinifex}/handlers/iam/crypto_test.go (100%) rename {hive => spinifex}/handlers/iam/service.go (100%) rename {hive => spinifex}/handlers/iam/service_impl.go (99%) rename {hive => spinifex}/handlers/iam/service_impl_test.go (99%) rename {hive => spinifex}/handlers/iam/types.go (100%) rename {hive => spinifex}/handlers/iam/types_test.go (100%) rename {hive => spinifex}/instancetypes/definitions.go (100%) rename {hive => spinifex}/instancetypes/detect.go (100%) rename {hive => spinifex}/instancetypes/detect_test.go (100%) rename {hive => spinifex}/instancetypes/generate.go (100%) rename {hive => spinifex}/instancetypes/generate_test.go (100%) rename {hive => spinifex}/nbd/nbd.go (100%) rename {hive => spinifex}/nbd/nbd_test.go (100%) rename {hive => spinifex}/objectstore/objectstore.go (100%) rename {hive => spinifex}/objectstore/objectstore_test.go (100%) rename {hive => spinifex}/qmp/qmp.go (100%) rename {hive => spinifex}/service/service.go (51%) rename {hive => spinifex}/service/service_test.go (80%) rename {hive => spinifex}/services/awsgw/awsgw.go (96%) rename {hive => spinifex}/services/nats/nats.go (98%) rename {hive => spinifex}/services/predastore/predastore.go (98%) rename {hive => spinifex}/services/predastore/predastore_integration_test.go (100%) rename {hive => spinifex}/services/predastore/predastore_test.go (100%) rename hive/services/hive/hive.go => spinifex/services/spinifex/spinifex.go (89%) rename {hive/services/hiveui => spinifex/services/spinifexui}/README.md (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/.gitignore (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/.npmrc (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/.nvmrc (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/.oxfmtrc.jsonc (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/.oxlintrc.json (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/components.json (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/DescribeInstancesCommand.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/QueryClientProvider.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_auth.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_bucket.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id2.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id3.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id4.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id5.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id6.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id7.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_id8.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_policyArn.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/_userName.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/alert-dialog.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/ami-details.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/awsClient.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/back-link.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/button.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/check.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/compiler-runtime.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-bucket.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-key-pair.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-policy.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-snapshot.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-subnet.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-user.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-volume.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/create-vpc.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/createBaseUIEventDetails.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/createLucideIcon.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/delete-confirmation-dialog.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-images.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-instances.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-key-pairs.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-snapshots.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-subnets.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-volumes.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/describe-vpcs.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/detail-row.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/download.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/ec2.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/ec22.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/ec23.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/error-banner.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/event-streams.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/field.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/form-actions.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/geist-cyrillic-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/geist-latin-ext-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/geist-latin-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/iam.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/iam2.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/iam3.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/import-key-pair.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/index.css (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/index.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/jetbrains-mono-cyrillic-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/jetbrains-mono-greek-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/jetbrains-mono-latin-ext-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/jetbrains-mono-latin-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/jetbrains-mono-vietnamese-wght-normal.woff2 (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/lazyRouteComponent.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/link.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/list-card.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/list-policies.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/list-users.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/login.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/ls.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/matchContext.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/page-heading.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/queryOptions.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/route.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/route2.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/run-instances.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/s3.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/s32.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/select.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/separator.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/state-badge.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/textarea.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/toUtf8.browser.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/trash-2.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/upload-button.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/use-copy-to-clipboard.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/useNavigate.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/useOpenInteractionType.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/useRouter.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/useRouterState.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/useSuspenseQuery.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/utils.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/assets/zod.js (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/favicon.ico (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/index.html (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/mulga-logo.svg (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/dist/robots.txt (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/index.html (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/package.json (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/pnpm-lock.yaml (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/public/favicon.ico (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/public/mulga-logo.svg (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/public/robots.txt (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/back-link.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/delete-confirmation-dialog.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/detail-card.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/detail-card.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/detail-row.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/detail-row.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/error-banner.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/error-banner.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/form-actions.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/form-actions.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/header.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/list-card.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/not-found.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/page-heading.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/page-heading.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/state-badge.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/state-badge.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/theme-provider.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/theme-provider.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/theme-switch.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/theme-switch.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/alert-dialog.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/avatar.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/badge.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/button.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/card.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/collapsible.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/combobox.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/dropdown-menu.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/field.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/input-group.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/input.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/label.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/select.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/separator.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/sheet.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/sidebar.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/skeleton.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/textarea.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/components/ui/tooltip.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/hooks/use-copy-to-clipboard.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/hooks/use-copy-to-clipboard.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/hooks/use-initial-sidebar.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/hooks/use-mobile.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/hooks/use-mobile.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/layouts/error-boundary.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/layouts/sidebar-layout.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/lib/auth.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/lib/auth.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/lib/awsClient.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/lib/utils.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/lib/utils.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/main.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/ec2.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/ec2.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/iam.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/iam.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/s3.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/mutations/s3.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/ec2.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/ec2.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/iam.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/iam.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/s3.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/queries/s3.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routeTree.gen.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/__root.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(instances)/describe-instances/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(instances)/describe-instances/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(key)/import-key-pair.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(volumes)/modify-volume/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/$id.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/-components/ami-details.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/-components/create-image-dialog.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/-components/instance-actions.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/-components/instance-actions.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/ec2/-components/private-key-modal.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(policies)/create-policy.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(policies)/list-policies/$policyArn.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(policies)/list-policies/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(users)/create-user.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(users)/list-users/$userName.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/(users)/list-users/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/-components/access-key-modal.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/-components/policy-document-viewer.test.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/iam/-components/policy-document-viewer.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/route.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/-components/folder-list-item.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/-components/object-list-item.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/-components/upload-button.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/ls/$bucket/$.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/ls/$bucket/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/ls/$bucket/route.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/_auth/s3/ls/index.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/routes/login.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/styles.css (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/test/setup.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/test/utils.tsx (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/ec2.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/ec2.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/iam.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/iam.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/s3.test.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/src/types/s3.ts (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/tsconfig.json (100%) rename {hive/services/hiveui => spinifex/services/spinifexui}/frontend/vite.config.ts (100%) rename hive/services/hiveui/hiveui.go => spinifex/services/spinifexui/spinifexui.go (99%) rename hive/services/hiveui/hiveui_test.go => spinifex/services/spinifexui/spinifexui_test.go (99%) rename {hive => spinifex}/services/viperblockd/viperblockd.go (99%) rename {hive => spinifex}/services/viperblockd/viperblockd_handlers_test.go (99%) rename {hive => spinifex}/services/viperblockd/viperblockd_integration_test.go (99%) rename {hive => spinifex}/services/viperblockd/viperblockd_test.go (100%) rename {hive => spinifex}/services/vpcd/integration_test.go (98%) rename {hive => spinifex}/services/vpcd/mock_ovn.go (99%) rename {hive => spinifex}/services/vpcd/nbdb/model.go (100%) rename {hive => spinifex}/services/vpcd/nbdb/model_test.go (100%) rename {hive => spinifex}/services/vpcd/ovn.go (99%) rename {hive => spinifex}/services/vpcd/ovn_test.go (99%) rename {hive => spinifex}/services/vpcd/topology.go (99%) rename {hive => spinifex}/services/vpcd/topology_test.go (99%) rename {hive => spinifex}/services/vpcd/vpcd.go (99%) rename {hive => spinifex}/services/vpcd/vpcd_test.go (100%) rename {hive => spinifex}/types/cluster.go (97%) rename {hive => spinifex}/types/ebs.go (100%) rename {hive => spinifex}/types/ec2.go (100%) rename {hive => spinifex}/types/node.go (100%) rename {hive => spinifex}/types/types.go (100%) rename {hive => spinifex}/utils/account.go (100%) rename {hive => spinifex}/utils/account_test.go (100%) rename {hive => spinifex}/utils/conversion.go (100%) rename {hive => spinifex}/utils/conversion_test.go (100%) rename {hive => spinifex}/utils/images.go (100%) rename {hive => spinifex}/utils/nats.go (100%) rename {hive => spinifex}/utils/nats_test.go (100%) rename {hive => spinifex}/utils/nbd.go (100%) rename {hive => spinifex}/utils/pidfile.go (100%) rename {hive => spinifex}/utils/process.go (100%) rename {hive => spinifex}/utils/utils.go (98%) rename {hive => spinifex}/utils/utils_test.go (100%) rename {hive => spinifex}/utils/utils_validation_test.go (100%) rename {hive => spinifex}/vm/state.go (100%) rename {hive => spinifex}/vm/state_test.go (100%) rename {hive => spinifex}/vm/vm.go (98%) rename {hive => spinifex}/vm/vm_test.go (100%) diff --git a/cmd/hive/LICENSE b/cmd/spinifex/LICENSE similarity index 100% rename from cmd/hive/LICENSE rename to cmd/spinifex/LICENSE diff --git a/cmd/hive/cmd/admin.go b/cmd/spinifex/cmd/admin.go similarity index 99% rename from cmd/hive/cmd/admin.go rename to cmd/spinifex/cmd/admin.go index ffe2c3479..03072ccbb 100644 --- a/cmd/hive/cmd/admin.go +++ b/cmd/spinifex/cmd/admin.go @@ -34,12 +34,12 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/admin" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/formation" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/admin" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/formation" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/mulgadc/viperblock/viperblock/v_utils" diff --git a/cmd/hive/cmd/cluster.go b/cmd/spinifex/cmd/cluster.go similarity index 99% rename from cmd/hive/cmd/cluster.go rename to cmd/spinifex/cmd/cluster.go index 089a38009..9495dba93 100644 --- a/cmd/hive/cmd/cluster.go +++ b/cmd/spinifex/cmd/cluster.go @@ -7,7 +7,7 @@ import ( "strings" "time" - "github.com/mulgadc/spinifex/hive/daemon" + "github.com/mulgadc/spinifex/spinifex/daemon" "github.com/nats-io/nats.go" "github.com/spf13/cobra" ) diff --git a/cmd/hive/cmd/get.go b/cmd/spinifex/cmd/get.go similarity index 98% rename from cmd/hive/cmd/get.go rename to cmd/spinifex/cmd/get.go index ba9c78b7a..4fdaa0572 100644 --- a/cmd/hive/cmd/get.go +++ b/cmd/spinifex/cmd/get.go @@ -24,9 +24,9 @@ import ( "strings" "time" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" "github.com/pterm/pterm" "github.com/spf13/cobra" diff --git a/cmd/hive/cmd/paths.go b/cmd/spinifex/cmd/paths.go similarity index 100% rename from cmd/hive/cmd/paths.go rename to cmd/spinifex/cmd/paths.go diff --git a/cmd/hive/cmd/paths_test.go b/cmd/spinifex/cmd/paths_test.go similarity index 100% rename from cmd/hive/cmd/paths_test.go rename to cmd/spinifex/cmd/paths_test.go diff --git a/cmd/hive/cmd/root.go b/cmd/spinifex/cmd/root.go similarity index 99% rename from cmd/hive/cmd/root.go rename to cmd/spinifex/cmd/root.go index 4841cefe2..fbc56a1c2 100644 --- a/cmd/hive/cmd/root.go +++ b/cmd/spinifex/cmd/root.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/spinifex/config" "github.com/spf13/cobra" "github.com/spf13/viper" ) diff --git a/cmd/hive/cmd/service.go b/cmd/spinifex/cmd/service.go similarity index 98% rename from cmd/hive/cmd/service.go rename to cmd/spinifex/cmd/service.go index 28ce9a6b2..034c53022 100644 --- a/cmd/hive/cmd/service.go +++ b/cmd/spinifex/cmd/service.go @@ -21,13 +21,13 @@ import ( "os" "strings" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/service" - "github.com/mulgadc/spinifex/hive/services/hiveui" - "github.com/mulgadc/spinifex/hive/services/nats" - "github.com/mulgadc/spinifex/hive/services/predastore" - "github.com/mulgadc/spinifex/hive/services/viperblockd" - "github.com/mulgadc/spinifex/hive/services/vpcd" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/service" + "github.com/mulgadc/spinifex/spinifex/services/spinifexui" + "github.com/mulgadc/spinifex/spinifex/services/nats" + "github.com/mulgadc/spinifex/spinifex/services/predastore" + "github.com/mulgadc/spinifex/spinifex/services/viperblockd" + "github.com/mulgadc/spinifex/spinifex/services/vpcd" "github.com/mulgadc/predastore/s3" "github.com/spf13/cobra" "github.com/spf13/viper" diff --git a/cmd/hive/cmd/templates/awsgw.toml b/cmd/spinifex/cmd/templates/awsgw.toml similarity index 100% rename from cmd/hive/cmd/templates/awsgw.toml rename to cmd/spinifex/cmd/templates/awsgw.toml diff --git a/cmd/hive/cmd/templates/hive.toml b/cmd/spinifex/cmd/templates/hive.toml similarity index 100% rename from cmd/hive/cmd/templates/hive.toml rename to cmd/spinifex/cmd/templates/hive.toml diff --git a/cmd/hive/cmd/templates/nats.conf b/cmd/spinifex/cmd/templates/nats.conf similarity index 100% rename from cmd/hive/cmd/templates/nats.conf rename to cmd/spinifex/cmd/templates/nats.conf diff --git a/cmd/hive/cmd/templates/predastore-multinode.toml b/cmd/spinifex/cmd/templates/predastore-multinode.toml similarity index 100% rename from cmd/hive/cmd/templates/predastore-multinode.toml rename to cmd/spinifex/cmd/templates/predastore-multinode.toml diff --git a/cmd/hive/cmd/templates/predastore.toml b/cmd/spinifex/cmd/templates/predastore.toml similarity index 100% rename from cmd/hive/cmd/templates/predastore.toml rename to cmd/spinifex/cmd/templates/predastore.toml diff --git a/cmd/hive/cmd/top.go b/cmd/spinifex/cmd/top.go similarity index 98% rename from cmd/hive/cmd/top.go rename to cmd/spinifex/cmd/top.go index d33198d19..a52c26476 100644 --- a/cmd/hive/cmd/top.go +++ b/cmd/spinifex/cmd/top.go @@ -22,7 +22,7 @@ import ( "sort" "time" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/pterm/pterm" "github.com/spf13/cobra" ) diff --git a/cmd/hive/cmd/version.go b/cmd/spinifex/cmd/version.go similarity index 94% rename from cmd/hive/cmd/version.go rename to cmd/spinifex/cmd/version.go index 12436fdef..6de2ee478 100644 --- a/cmd/hive/cmd/version.go +++ b/cmd/spinifex/cmd/version.go @@ -8,7 +8,7 @@ import ( ) // Version variables set via ldflags at build time. -// Example: go build -ldflags "-X github.com/mulgadc/spinifex/cmd/hive/cmd.Version=v1.0.0" +// Example: go build -ldflags "-X github.com/mulgadc/spinifex/cmd/spinifex/cmd.Version=v1.0.0" var ( Version = "dev" Commit = "unknown" diff --git a/cmd/hive/cmd/version_test.go b/cmd/spinifex/cmd/version_test.go similarity index 100% rename from cmd/hive/cmd/version_test.go rename to cmd/spinifex/cmd/version_test.go diff --git a/cmd/hive/main.go b/cmd/spinifex/main.go similarity index 91% rename from cmd/hive/main.go rename to cmd/spinifex/main.go index b66f3b000..5f5b6af55 100644 --- a/cmd/hive/main.go +++ b/cmd/spinifex/main.go @@ -15,7 +15,7 @@ limitations under the License. */ package main -import "github.com/mulgadc/spinifex/cmd/hive/cmd" +import "github.com/mulgadc/spinifex/cmd/spinifex/cmd" func main() { cmd.Execute() diff --git a/hive/admin/admin.go b/spinifex/admin/admin.go similarity index 100% rename from hive/admin/admin.go rename to spinifex/admin/admin.go diff --git a/hive/admin/admin_test.go b/spinifex/admin/admin_test.go similarity index 100% rename from hive/admin/admin_test.go rename to spinifex/admin/admin_test.go diff --git a/hive/awsec2query/parser.go b/spinifex/awsec2query/parser.go similarity index 100% rename from hive/awsec2query/parser.go rename to spinifex/awsec2query/parser.go diff --git a/hive/awsec2query/parser_test.go b/spinifex/awsec2query/parser_test.go similarity index 100% rename from hive/awsec2query/parser_test.go rename to spinifex/awsec2query/parser_test.go diff --git a/hive/awserrors/awserrors.go b/spinifex/awserrors/awserrors.go similarity index 100% rename from hive/awserrors/awserrors.go rename to spinifex/awserrors/awserrors.go diff --git a/hive/awserrors/awserrors_test.go b/spinifex/awserrors/awserrors_test.go similarity index 100% rename from hive/awserrors/awserrors_test.go rename to spinifex/awserrors/awserrors_test.go diff --git a/hive/config/config.go b/spinifex/config/config.go similarity index 100% rename from hive/config/config.go rename to spinifex/config/config.go diff --git a/hive/config/config_test.go b/spinifex/config/config_test.go similarity index 100% rename from hive/config/config_test.go rename to spinifex/config/config_test.go diff --git a/hive/daemon/daemon.go b/spinifex/daemon/daemon.go similarity index 98% rename from hive/daemon/daemon.go rename to spinifex/daemon/daemon.go index 3d8fb12b9..8d563d464 100644 --- a/hive/daemon/daemon.go +++ b/spinifex/daemon/daemon.go @@ -28,24 +28,24 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/go-chi/chi/v5" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" - handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" - handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" - handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" - handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/instancetypes" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" + handlers_ec2_eigw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/eigw" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" + handlers_ec2_image "github.com/mulgadc/spinifex/spinifex/handlers/ec2/image" + handlers_ec2_instance "github.com/mulgadc/spinifex/spinifex/handlers/ec2/instance" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" + handlers_ec2_tags "github.com/mulgadc/spinifex/spinifex/handlers/ec2/tags" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/instancetypes" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats.go" "github.com/pelletier/go-toml/v2" diff --git a/hive/daemon/daemon_handlers.go b/spinifex/daemon/daemon_handlers.go similarity index 97% rename from hive/daemon/daemon_handlers.go rename to spinifex/daemon/daemon_handlers.go index 418a83849..c8d9bb762 100644 --- a/hive/daemon/daemon_handlers.go +++ b/spinifex/daemon/daemon_handlers.go @@ -7,10 +7,10 @@ import ( "net" "time" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_account.go b/spinifex/daemon/daemon_handlers_account.go similarity index 100% rename from hive/daemon/daemon_handlers_account.go rename to spinifex/daemon/daemon_handlers_account.go diff --git a/hive/daemon/daemon_handlers_console.go b/spinifex/daemon/daemon_handlers_console.go similarity index 95% rename from hive/daemon/daemon_handlers_console.go rename to spinifex/daemon/daemon_handlers_console.go index 9807ed7f4..d3f5ef645 100644 --- a/hive/daemon/daemon_handlers_console.go +++ b/spinifex/daemon/daemon_handlers_console.go @@ -7,8 +7,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_igw.go b/spinifex/daemon/daemon_handlers_igw.go similarity index 100% rename from hive/daemon/daemon_handlers_igw.go rename to spinifex/daemon/daemon_handlers_igw.go diff --git a/hive/daemon/daemon_handlers_image.go b/spinifex/daemon/daemon_handlers_image.go similarity index 92% rename from hive/daemon/daemon_handlers_image.go rename to spinifex/daemon/daemon_handlers_image.go index f6d65b9cb..e2797257c 100644 --- a/hive/daemon/daemon_handlers_image.go +++ b/spinifex/daemon/daemon_handlers_image.go @@ -4,10 +4,10 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/spinifex/handlers/ec2/image" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_instance.go b/spinifex/daemon/daemon_handlers_instance.go similarity index 99% rename from hive/daemon/daemon_handlers_instance.go rename to spinifex/daemon/daemon_handlers_instance.go index 2684b2ef2..c4aeb850b 100644 --- a/hive/daemon/daemon_handlers_instance.go +++ b/spinifex/daemon/daemon_handlers_instance.go @@ -10,11 +10,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_key.go b/spinifex/daemon/daemon_handlers_key.go similarity index 100% rename from hive/daemon/daemon_handlers_key.go rename to spinifex/daemon/daemon_handlers_key.go diff --git a/hive/daemon/daemon_handlers_snapshot.go b/spinifex/daemon/daemon_handlers_snapshot.go similarity index 100% rename from hive/daemon/daemon_handlers_snapshot.go rename to spinifex/daemon/daemon_handlers_snapshot.go diff --git a/hive/daemon/daemon_handlers_tag.go b/spinifex/daemon/daemon_handlers_tag.go similarity index 100% rename from hive/daemon/daemon_handlers_tag.go rename to spinifex/daemon/daemon_handlers_tag.go diff --git a/hive/daemon/daemon_handlers_test.go b/spinifex/daemon/daemon_handlers_test.go similarity index 99% rename from hive/daemon/daemon_handlers_test.go rename to spinifex/daemon/daemon_handlers_test.go index 2df759caf..3601ab5f2 100644 --- a/hive/daemon/daemon_handlers_test.go +++ b/spinifex/daemon/daemon_handlers_test.go @@ -13,21 +13,21 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" - handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" - handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" - handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" - handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" + handlers_ec2_eigw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/eigw" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" + handlers_ec2_image "github.com/mulgadc/spinifex/spinifex/handlers/ec2/image" + handlers_ec2_instance "github.com/mulgadc/spinifex/spinifex/handlers/ec2/instance" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" + handlers_ec2_tags "github.com/mulgadc/spinifex/spinifex/handlers/ec2/tags" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/daemon/daemon_handlers_volume.go b/spinifex/daemon/daemon_handlers_volume.go similarity index 98% rename from hive/daemon/daemon_handlers_volume.go rename to spinifex/daemon/daemon_handlers_volume.go index 1508a2b27..9b0dbfc08 100644 --- a/hive/daemon/daemon_handlers_volume.go +++ b/spinifex/daemon/daemon_handlers_volume.go @@ -7,11 +7,11 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/daemon_handlers_vpc.go b/spinifex/daemon/daemon_handlers_vpc.go similarity index 100% rename from hive/daemon/daemon_handlers_vpc.go rename to spinifex/daemon/daemon_handlers_vpc.go diff --git a/hive/daemon/daemon_test.go b/spinifex/daemon/daemon_test.go similarity index 99% rename from hive/daemon/daemon_test.go rename to spinifex/daemon/daemon_test.go index faeacf12c..43d37e81b 100644 --- a/hive/daemon/daemon_test.go +++ b/spinifex/daemon/daemon_test.go @@ -15,13 +15,13 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_instance "github.com/mulgadc/spinifex/spinifex/handlers/ec2/instance" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" "github.com/pelletier/go-toml/v2" "github.com/stretchr/testify/assert" diff --git a/hive/daemon/device_map.go b/spinifex/daemon/device_map.go similarity index 98% rename from hive/daemon/device_map.go rename to spinifex/daemon/device_map.go index 2e99ad75a..b5e4d8b40 100644 --- a/hive/daemon/device_map.go +++ b/spinifex/daemon/device_map.go @@ -10,8 +10,8 @@ import ( "strings" "time" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/vm" ) // pciAddrRegexp extracts the device index from a boot-time QDev path. diff --git a/hive/daemon/device_map_test.go b/spinifex/daemon/device_map_test.go similarity index 99% rename from hive/daemon/device_map_test.go rename to spinifex/daemon/device_map_test.go index ac0f73886..a64a4b60d 100644 --- a/hive/daemon/device_map_test.go +++ b/spinifex/daemon/device_map_test.go @@ -3,7 +3,7 @@ package daemon import ( "testing" - "github.com/mulgadc/spinifex/hive/qmp" + "github.com/mulgadc/spinifex/spinifex/qmp" "github.com/stretchr/testify/assert" ) diff --git a/hive/daemon/health.go b/spinifex/daemon/health.go similarity index 99% rename from hive/daemon/health.go rename to spinifex/daemon/health.go index b4a36ac5f..0b3d781ed 100644 --- a/hive/daemon/health.go +++ b/spinifex/daemon/health.go @@ -10,7 +10,7 @@ import ( "syscall" "time" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/vm" ) const ( diff --git a/hive/daemon/health_test.go b/spinifex/daemon/health_test.go similarity index 99% rename from hive/daemon/health_test.go rename to spinifex/daemon/health_test.go index 0352ce815..f3582686a 100644 --- a/hive/daemon/health_test.go +++ b/spinifex/daemon/health_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/heartbeat.go b/spinifex/daemon/heartbeat.go similarity index 100% rename from hive/daemon/heartbeat.go rename to spinifex/daemon/heartbeat.go diff --git a/hive/daemon/heartbeat_test.go b/spinifex/daemon/heartbeat_test.go similarity index 97% rename from hive/daemon/heartbeat_test.go rename to spinifex/daemon/heartbeat_test.go index 2ac2a1702..6d23aa59a 100644 --- a/hive/daemon/heartbeat_test.go +++ b/spinifex/daemon/heartbeat_test.go @@ -3,8 +3,8 @@ package daemon import ( "testing" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/jetstream.go b/spinifex/daemon/jetstream.go similarity index 99% rename from hive/daemon/jetstream.go rename to spinifex/daemon/jetstream.go index 9c5640201..dc8e5b3d8 100644 --- a/hive/daemon/jetstream.go +++ b/spinifex/daemon/jetstream.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/jetstream_test.go b/spinifex/daemon/jetstream_test.go similarity index 99% rename from hive/daemon/jetstream_test.go rename to spinifex/daemon/jetstream_test.go index 90503651f..4c35c405b 100644 --- a/hive/daemon/jetstream_test.go +++ b/spinifex/daemon/jetstream_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/daemon/main_test.go b/spinifex/daemon/main_test.go similarity index 100% rename from hive/daemon/main_test.go rename to spinifex/daemon/main_test.go diff --git a/hive/daemon/network.go b/spinifex/daemon/network.go similarity index 100% rename from hive/daemon/network.go rename to spinifex/daemon/network.go diff --git a/hive/daemon/network_test.go b/spinifex/daemon/network_test.go similarity index 99% rename from hive/daemon/network_test.go rename to spinifex/daemon/network_test.go index 0af7699f9..1990a1e28 100644 --- a/hive/daemon/network_test.go +++ b/spinifex/daemon/network_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/vm" ) func TestTapDeviceName(t *testing.T) { diff --git a/hive/daemon/ownership.go b/spinifex/daemon/ownership.go similarity index 93% rename from hive/daemon/ownership.go rename to spinifex/daemon/ownership.go index 576024e67..2c4a74772 100644 --- a/hive/daemon/ownership.go +++ b/spinifex/daemon/ownership.go @@ -3,8 +3,8 @@ package daemon import ( "log/slog" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/resource.go b/spinifex/daemon/resource.go similarity index 97% rename from hive/daemon/resource.go rename to spinifex/daemon/resource.go index 77ae5dd37..30807c6fb 100644 --- a/hive/daemon/resource.go +++ b/spinifex/daemon/resource.go @@ -4,7 +4,7 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" ) // errInsufficientCapacity is returned by allocateForLaunch when MinCount diff --git a/hive/daemon/resource_test.go b/spinifex/daemon/resource_test.go similarity index 100% rename from hive/daemon/resource_test.go rename to spinifex/daemon/resource_test.go diff --git a/hive/daemon/shutdown.go b/spinifex/daemon/shutdown.go similarity index 99% rename from hive/daemon/shutdown.go rename to spinifex/daemon/shutdown.go index 55a2a2341..6e41094a2 100644 --- a/hive/daemon/shutdown.go +++ b/spinifex/daemon/shutdown.go @@ -9,7 +9,7 @@ import ( "path/filepath" "time" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/daemon/shutdown_test.go b/spinifex/daemon/shutdown_test.go similarity index 100% rename from hive/daemon/shutdown_test.go rename to spinifex/daemon/shutdown_test.go diff --git a/hive/daemon/state.go b/spinifex/daemon/state.go similarity index 96% rename from hive/daemon/state.go rename to spinifex/daemon/state.go index 4e74173d3..15175624d 100644 --- a/hive/daemon/state.go +++ b/spinifex/daemon/state.go @@ -4,7 +4,7 @@ import ( "fmt" "log/slog" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/vm" ) // TransitionState validates and applies a state transition on the given instance. diff --git a/hive/daemon/state_test.go b/spinifex/daemon/state_test.go similarity index 99% rename from hive/daemon/state_test.go rename to spinifex/daemon/state_test.go index 44303130c..86ed0eca0 100644 --- a/hive/daemon/state_test.go +++ b/spinifex/daemon/state_test.go @@ -8,9 +8,9 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/formation/formation.go b/spinifex/formation/formation.go similarity index 100% rename from hive/formation/formation.go rename to spinifex/formation/formation.go diff --git a/hive/formation/formation_test.go b/spinifex/formation/formation_test.go similarity index 100% rename from hive/formation/formation_test.go rename to spinifex/formation/formation_test.go diff --git a/hive/formation/helpers.go b/spinifex/formation/helpers.go similarity index 97% rename from hive/formation/helpers.go rename to spinifex/formation/helpers.go index 91f638cbb..9e0b48507 100644 --- a/hive/formation/helpers.go +++ b/spinifex/formation/helpers.go @@ -4,7 +4,7 @@ import ( "slices" "sort" - "github.com/mulgadc/spinifex/hive/admin" + "github.com/mulgadc/spinifex/spinifex/admin" ) // hasService reports whether the node's service list includes name. diff --git a/hive/formation/helpers_test.go b/spinifex/formation/helpers_test.go similarity index 100% rename from hive/formation/helpers_test.go rename to spinifex/formation/helpers_test.go diff --git a/hive/gateway/account.go b/spinifex/gateway/account.go similarity index 100% rename from hive/gateway/account.go rename to spinifex/gateway/account.go diff --git a/hive/gateway/auth.go b/spinifex/gateway/auth.go similarity index 98% rename from hive/gateway/auth.go rename to spinifex/gateway/auth.go index 4e04b4e05..8ec52064b 100644 --- a/hive/gateway/auth.go +++ b/spinifex/gateway/auth.go @@ -13,8 +13,8 @@ import ( "time" "github.com/google/uuid" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" "github.com/mulgadc/predastore/auth" ) diff --git a/hive/gateway/auth_test.go b/spinifex/gateway/auth_test.go similarity index 99% rename from hive/gateway/auth_test.go rename to spinifex/gateway/auth_test.go index 1f215f8e4..a14cbfe82 100644 --- a/hive/gateway/auth_test.go +++ b/spinifex/gateway/auth_test.go @@ -12,9 +12,9 @@ import ( "github.com/aws/aws-sdk-go/service/iam" "github.com/go-chi/chi/v5" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/predastore/auth" ) diff --git a/hive/gateway/ec2.go b/spinifex/gateway/ec2.go similarity index 93% rename from hive/gateway/ec2.go rename to spinifex/gateway/ec2.go index 6b7da362a..372460b2a 100644 --- a/hive/gateway/ec2.go +++ b/spinifex/gateway/ec2.go @@ -10,20 +10,20 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awsec2query" - "github.com/mulgadc/spinifex/hive/awserrors" - gateway_ec2_account "github.com/mulgadc/spinifex/hive/gateway/ec2/account" - gateway_ec2_eigw "github.com/mulgadc/spinifex/hive/gateway/ec2/eigw" - gateway_ec2_igw "github.com/mulgadc/spinifex/hive/gateway/ec2/igw" - gateway_ec2_image "github.com/mulgadc/spinifex/hive/gateway/ec2/image" - gateway_ec2_instance "github.com/mulgadc/spinifex/hive/gateway/ec2/instance" - gateway_ec2_key "github.com/mulgadc/spinifex/hive/gateway/ec2/key" - gateway_ec2_snapshot "github.com/mulgadc/spinifex/hive/gateway/ec2/snapshot" - gateway_ec2_tags "github.com/mulgadc/spinifex/hive/gateway/ec2/tags" - gateway_ec2_volume "github.com/mulgadc/spinifex/hive/gateway/ec2/volume" - gateway_ec2_vpc "github.com/mulgadc/spinifex/hive/gateway/ec2/vpc" - gateway_ec2_zone "github.com/mulgadc/spinifex/hive/gateway/ec2/zone" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awsec2query" + "github.com/mulgadc/spinifex/spinifex/awserrors" + gateway_ec2_account "github.com/mulgadc/spinifex/spinifex/gateway/ec2/account" + gateway_ec2_eigw "github.com/mulgadc/spinifex/spinifex/gateway/ec2/eigw" + gateway_ec2_igw "github.com/mulgadc/spinifex/spinifex/gateway/ec2/igw" + gateway_ec2_image "github.com/mulgadc/spinifex/spinifex/gateway/ec2/image" + gateway_ec2_instance "github.com/mulgadc/spinifex/spinifex/gateway/ec2/instance" + gateway_ec2_key "github.com/mulgadc/spinifex/spinifex/gateway/ec2/key" + gateway_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/gateway/ec2/snapshot" + gateway_ec2_tags "github.com/mulgadc/spinifex/spinifex/gateway/ec2/tags" + gateway_ec2_volume "github.com/mulgadc/spinifex/spinifex/gateway/ec2/volume" + gateway_ec2_vpc "github.com/mulgadc/spinifex/spinifex/gateway/ec2/vpc" + gateway_ec2_zone "github.com/mulgadc/spinifex/spinifex/gateway/ec2/zone" + "github.com/mulgadc/spinifex/spinifex/utils" ) // EC2Handler processes parsed query args and returns XML response bytes. diff --git a/hive/gateway/ec2/account/DescribeAccountAttributes.go b/spinifex/gateway/ec2/account/DescribeAccountAttributes.go similarity index 100% rename from hive/gateway/ec2/account/DescribeAccountAttributes.go rename to spinifex/gateway/ec2/account/DescribeAccountAttributes.go diff --git a/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go b/spinifex/gateway/ec2/account/DisableEbsEncryptionByDefault.go similarity index 86% rename from hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go rename to spinifex/gateway/ec2/account/DisableEbsEncryptionByDefault.go index 7d85da2fb..809be0c93 100644 --- a/hive/gateway/ec2/account/DisableEbsEncryptionByDefault.go +++ b/spinifex/gateway/ec2/account/DisableEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/DisableSerialConsoleAccess.go b/spinifex/gateway/ec2/account/DisableSerialConsoleAccess.go similarity index 86% rename from hive/gateway/ec2/account/DisableSerialConsoleAccess.go rename to spinifex/gateway/ec2/account/DisableSerialConsoleAccess.go index df4e20337..b4a310f91 100644 --- a/hive/gateway/ec2/account/DisableSerialConsoleAccess.go +++ b/spinifex/gateway/ec2/account/DisableSerialConsoleAccess.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go b/spinifex/gateway/ec2/account/EnableEbsEncryptionByDefault.go similarity index 86% rename from hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go rename to spinifex/gateway/ec2/account/EnableEbsEncryptionByDefault.go index bbb1b7f27..1ad932f7e 100644 --- a/hive/gateway/ec2/account/EnableEbsEncryptionByDefault.go +++ b/spinifex/gateway/ec2/account/EnableEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/EnableSerialConsoleAccess.go b/spinifex/gateway/ec2/account/EnableSerialConsoleAccess.go similarity index 86% rename from hive/gateway/ec2/account/EnableSerialConsoleAccess.go rename to spinifex/gateway/ec2/account/EnableSerialConsoleAccess.go index d42f611f4..ff8041aae 100644 --- a/hive/gateway/ec2/account/EnableSerialConsoleAccess.go +++ b/spinifex/gateway/ec2/account/EnableSerialConsoleAccess.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go b/spinifex/gateway/ec2/account/GetEbsEncryptionByDefault.go similarity index 86% rename from hive/gateway/ec2/account/GetEbsEncryptionByDefault.go rename to spinifex/gateway/ec2/account/GetEbsEncryptionByDefault.go index 98e4474a8..5717e923f 100644 --- a/hive/gateway/ec2/account/GetEbsEncryptionByDefault.go +++ b/spinifex/gateway/ec2/account/GetEbsEncryptionByDefault.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go b/spinifex/gateway/ec2/account/GetSerialConsoleAccessStatus.go similarity index 86% rename from hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go rename to spinifex/gateway/ec2/account/GetSerialConsoleAccessStatus.go index 9ebd79f1b..553cc8655 100644 --- a/hive/gateway/ec2/account/GetSerialConsoleAccessStatus.go +++ b/spinifex/gateway/ec2/account/GetSerialConsoleAccessStatus.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_account "github.com/mulgadc/spinifex/hive/handlers/ec2/account" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_account "github.com/mulgadc/spinifex/spinifex/handlers/ec2/account" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/account/account_test.go b/spinifex/gateway/ec2/account/account_test.go similarity index 99% rename from hive/gateway/ec2/account/account_test.go rename to spinifex/gateway/ec2/account/account_test.go index 41e5438d8..fb67c8b43 100644 --- a/hive/gateway/ec2/account/account_test.go +++ b/spinifex/gateway/ec2/account/account_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go b/spinifex/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go similarity index 89% rename from hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go rename to spinifex/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go index 47fc60624..068a50fad 100644 --- a/hive/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go +++ b/spinifex/gateway/ec2/eigw/CreateEgressOnlyInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go b/spinifex/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go similarity index 90% rename from hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go rename to spinifex/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go index 1224c9ab3..ec589ae02 100644 --- a/hive/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go +++ b/spinifex/gateway/ec2/eigw/DeleteEgressOnlyInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go b/spinifex/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go similarity index 89% rename from hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go rename to spinifex/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go index 5ec3310e9..ef3a83909 100644 --- a/hive/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go +++ b/spinifex/gateway/ec2/eigw/DescribeEgressOnlyInternetGateways.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_eigw "github.com/mulgadc/spinifex/hive/handlers/ec2/eigw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_eigw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/eigw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/eigw/eigw_test.go b/spinifex/gateway/ec2/eigw/eigw_test.go similarity index 98% rename from hive/gateway/ec2/eigw/eigw_test.go rename to spinifex/gateway/ec2/eigw/eigw_test.go index 67d2f344c..f6065107e 100644 --- a/hive/gateway/ec2/eigw/eigw_test.go +++ b/spinifex/gateway/ec2/eigw/eigw_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/igw/AttachInternetGateway.go b/spinifex/gateway/ec2/igw/AttachInternetGateway.go similarity index 87% rename from hive/gateway/ec2/igw/AttachInternetGateway.go rename to spinifex/gateway/ec2/igw/AttachInternetGateway.go index 84b93ac35..1bf21179b 100644 --- a/hive/gateway/ec2/igw/AttachInternetGateway.go +++ b/spinifex/gateway/ec2/igw/AttachInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/CreateInternetGateway.go b/spinifex/gateway/ec2/igw/CreateInternetGateway.go similarity index 84% rename from hive/gateway/ec2/igw/CreateInternetGateway.go rename to spinifex/gateway/ec2/igw/CreateInternetGateway.go index 19971043c..f3aa8e71f 100644 --- a/hive/gateway/ec2/igw/CreateInternetGateway.go +++ b/spinifex/gateway/ec2/igw/CreateInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DeleteInternetGateway.go b/spinifex/gateway/ec2/igw/DeleteInternetGateway.go similarity index 86% rename from hive/gateway/ec2/igw/DeleteInternetGateway.go rename to spinifex/gateway/ec2/igw/DeleteInternetGateway.go index ebc6e61a0..721defa43 100644 --- a/hive/gateway/ec2/igw/DeleteInternetGateway.go +++ b/spinifex/gateway/ec2/igw/DeleteInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DescribeInternetGateways.go b/spinifex/gateway/ec2/igw/DescribeInternetGateways.go similarity index 84% rename from hive/gateway/ec2/igw/DescribeInternetGateways.go rename to spinifex/gateway/ec2/igw/DescribeInternetGateways.go index 1d5460ea0..ceafe3a1e 100644 --- a/hive/gateway/ec2/igw/DescribeInternetGateways.go +++ b/spinifex/gateway/ec2/igw/DescribeInternetGateways.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/DetachInternetGateway.go b/spinifex/gateway/ec2/igw/DetachInternetGateway.go similarity index 87% rename from hive/gateway/ec2/igw/DetachInternetGateway.go rename to spinifex/gateway/ec2/igw/DetachInternetGateway.go index 2a6523714..5e97dab82 100644 --- a/hive/gateway/ec2/igw/DetachInternetGateway.go +++ b/spinifex/gateway/ec2/igw/DetachInternetGateway.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/igw/igw_test.go b/spinifex/gateway/ec2/igw/igw_test.go similarity index 98% rename from hive/gateway/ec2/igw/igw_test.go rename to spinifex/gateway/ec2/igw/igw_test.go index cc946c3c4..7b445d288 100644 --- a/hive/gateway/ec2/igw/igw_test.go +++ b/spinifex/gateway/ec2/igw/igw_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/CreateImage.go b/spinifex/gateway/ec2/image/CreateImage.go similarity index 90% rename from hive/gateway/ec2/image/CreateImage.go rename to spinifex/gateway/ec2/image/CreateImage.go index 32c9228fe..54171a796 100644 --- a/hive/gateway/ec2/image/CreateImage.go +++ b/spinifex/gateway/ec2/image/CreateImage.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/spinifex/handlers/ec2/image" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/image/CreateImage_test.go b/spinifex/gateway/ec2/image/CreateImage_test.go similarity index 97% rename from hive/gateway/ec2/image/CreateImage_test.go rename to spinifex/gateway/ec2/image/CreateImage_test.go index 0da330928..8b24550eb 100644 --- a/hive/gateway/ec2/image/CreateImage_test.go +++ b/spinifex/gateway/ec2/image/CreateImage_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/DescribeImages.go b/spinifex/gateway/ec2/image/DescribeImages.go similarity index 88% rename from hive/gateway/ec2/image/DescribeImages.go rename to spinifex/gateway/ec2/image/DescribeImages.go index 3c8f40c3d..d90039fb3 100644 --- a/hive/gateway/ec2/image/DescribeImages.go +++ b/spinifex/gateway/ec2/image/DescribeImages.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_image "github.com/mulgadc/spinifex/hive/handlers/ec2/image" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_image "github.com/mulgadc/spinifex/spinifex/handlers/ec2/image" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/image/DescribeImages_test.go b/spinifex/gateway/ec2/image/DescribeImages_test.go similarity index 97% rename from hive/gateway/ec2/image/DescribeImages_test.go rename to spinifex/gateway/ec2/image/DescribeImages_test.go index 6d3065ab7..4c9360508 100644 --- a/hive/gateway/ec2/image/DescribeImages_test.go +++ b/spinifex/gateway/ec2/image/DescribeImages_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/image/handler_test.go b/spinifex/gateway/ec2/image/handler_test.go similarity index 96% rename from hive/gateway/ec2/image/handler_test.go rename to spinifex/gateway/ec2/image/handler_test.go index 6894a08c8..d7349e5fd 100644 --- a/hive/gateway/ec2/image/handler_test.go +++ b/spinifex/gateway/ec2/image/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/instance/DescribeInstanceTypes.go b/spinifex/gateway/ec2/instance/DescribeInstanceTypes.go similarity index 98% rename from hive/gateway/ec2/instance/DescribeInstanceTypes.go rename to spinifex/gateway/ec2/instance/DescribeInstanceTypes.go index bb1501263..a2aa2ddb7 100644 --- a/hive/gateway/ec2/instance/DescribeInstanceTypes.go +++ b/spinifex/gateway/ec2/instance/DescribeInstanceTypes.go @@ -7,7 +7,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go b/spinifex/gateway/ec2/instance/DescribeInstanceTypes_test.go similarity index 99% rename from hive/gateway/ec2/instance/DescribeInstanceTypes_test.go rename to spinifex/gateway/ec2/instance/DescribeInstanceTypes_test.go index 3ec883d34..20202a1b9 100644 --- a/hive/gateway/ec2/instance/DescribeInstanceTypes_test.go +++ b/spinifex/gateway/ec2/instance/DescribeInstanceTypes_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/DescribeInstances.go b/spinifex/gateway/ec2/instance/DescribeInstances.go similarity index 99% rename from hive/gateway/ec2/instance/DescribeInstances.go rename to spinifex/gateway/ec2/instance/DescribeInstances.go index 9e55933de..c6500d383 100644 --- a/hive/gateway/ec2/instance/DescribeInstances.go +++ b/spinifex/gateway/ec2/instance/DescribeInstances.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/DescribeInstances_test.go b/spinifex/gateway/ec2/instance/DescribeInstances_test.go similarity index 99% rename from hive/gateway/ec2/instance/DescribeInstances_test.go rename to spinifex/gateway/ec2/instance/DescribeInstances_test.go index 0f52a8b39..3959ee97a 100644 --- a/hive/gateway/ec2/instance/DescribeInstances_test.go +++ b/spinifex/gateway/ec2/instance/DescribeInstances_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/GetConsoleOutput.go b/spinifex/gateway/ec2/instance/GetConsoleOutput.go similarity index 97% rename from hive/gateway/ec2/instance/GetConsoleOutput.go rename to spinifex/gateway/ec2/instance/GetConsoleOutput.go index b995c1b3b..ca6b1c9eb 100644 --- a/hive/gateway/ec2/instance/GetConsoleOutput.go +++ b/spinifex/gateway/ec2/instance/GetConsoleOutput.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/ModifyInstanceAttribute.go b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute.go similarity index 96% rename from hive/gateway/ec2/instance/ModifyInstanceAttribute.go rename to spinifex/gateway/ec2/instance/ModifyInstanceAttribute.go index 1a88ef233..81305766f 100644 --- a/hive/gateway/ec2/instance/ModifyInstanceAttribute.go +++ b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute.go @@ -9,8 +9,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go similarity index 98% rename from hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go rename to spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go index c6798d022..1a1c3da45 100644 --- a/hive/gateway/ec2/instance/ModifyInstanceAttribute_test.go +++ b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/RebootInstances.go b/spinifex/gateway/ec2/instance/RebootInstances.go similarity index 94% rename from hive/gateway/ec2/instance/RebootInstances.go rename to spinifex/gateway/ec2/instance/RebootInstances.go index 8f484f2f7..3bd204c0b 100644 --- a/hive/gateway/ec2/instance/RebootInstances.go +++ b/spinifex/gateway/ec2/instance/RebootInstances.go @@ -8,9 +8,9 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/RebootInstances_test.go b/spinifex/gateway/ec2/instance/RebootInstances_test.go similarity index 95% rename from hive/gateway/ec2/instance/RebootInstances_test.go rename to spinifex/gateway/ec2/instance/RebootInstances_test.go index aeffa2de3..0079e8ee9 100644 --- a/hive/gateway/ec2/instance/RebootInstances_test.go +++ b/spinifex/gateway/ec2/instance/RebootInstances_test.go @@ -6,9 +6,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/RunInstances.go b/spinifex/gateway/ec2/instance/RunInstances.go similarity index 94% rename from hive/gateway/ec2/instance/RunInstances.go rename to spinifex/gateway/ec2/instance/RunInstances.go index c055d85a0..4c062b761 100644 --- a/hive/gateway/ec2/instance/RunInstances.go +++ b/spinifex/gateway/ec2/instance/RunInstances.go @@ -6,10 +6,10 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" - handlers_ec2_instance "github.com/mulgadc/spinifex/hive/handlers/ec2/instance" + handlers_ec2_instance "github.com/mulgadc/spinifex/spinifex/handlers/ec2/instance" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/RunInstances_test.go b/spinifex/gateway/ec2/instance/RunInstances_test.go similarity index 99% rename from hive/gateway/ec2/instance/RunInstances_test.go rename to spinifex/gateway/ec2/instance/RunInstances_test.go index 2a496e95d..29b645894 100644 --- a/hive/gateway/ec2/instance/RunInstances_test.go +++ b/spinifex/gateway/ec2/instance/RunInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/instance/StartInstances.go b/spinifex/gateway/ec2/instance/StartInstances.go similarity index 98% rename from hive/gateway/ec2/instance/StartInstances.go rename to spinifex/gateway/ec2/instance/StartInstances.go index 576cce978..805267ba4 100644 --- a/hive/gateway/ec2/instance/StartInstances.go +++ b/spinifex/gateway/ec2/instance/StartInstances.go @@ -8,7 +8,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/StartInstances_test.go b/spinifex/gateway/ec2/instance/StartInstances_test.go similarity index 100% rename from hive/gateway/ec2/instance/StartInstances_test.go rename to spinifex/gateway/ec2/instance/StartInstances_test.go diff --git a/hive/gateway/ec2/instance/StopInstances.go b/spinifex/gateway/ec2/instance/StopInstances.go similarity index 96% rename from hive/gateway/ec2/instance/StopInstances.go rename to spinifex/gateway/ec2/instance/StopInstances.go index e7cf0e6e8..9a101380e 100644 --- a/hive/gateway/ec2/instance/StopInstances.go +++ b/spinifex/gateway/ec2/instance/StopInstances.go @@ -8,8 +8,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/StopInstances_test.go b/spinifex/gateway/ec2/instance/StopInstances_test.go similarity index 98% rename from hive/gateway/ec2/instance/StopInstances_test.go rename to spinifex/gateway/ec2/instance/StopInstances_test.go index 10c5388d5..104a857f1 100644 --- a/hive/gateway/ec2/instance/StopInstances_test.go +++ b/spinifex/gateway/ec2/instance/StopInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/TerminateInstances.go b/spinifex/gateway/ec2/instance/TerminateInstances.go similarity index 98% rename from hive/gateway/ec2/instance/TerminateInstances.go rename to spinifex/gateway/ec2/instance/TerminateInstances.go index 958dac787..024081363 100644 --- a/hive/gateway/ec2/instance/TerminateInstances.go +++ b/spinifex/gateway/ec2/instance/TerminateInstances.go @@ -8,8 +8,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/instance/TerminateInstances_test.go b/spinifex/gateway/ec2/instance/TerminateInstances_test.go similarity index 99% rename from hive/gateway/ec2/instance/TerminateInstances_test.go rename to spinifex/gateway/ec2/instance/TerminateInstances_test.go index c1a88fa5e..93f01bf1b 100644 --- a/hive/gateway/ec2/instance/TerminateInstances_test.go +++ b/spinifex/gateway/ec2/instance/TerminateInstances_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/gateway/ec2/instance/helpers_test.go b/spinifex/gateway/ec2/instance/helpers_test.go similarity index 100% rename from hive/gateway/ec2/instance/helpers_test.go rename to spinifex/gateway/ec2/instance/helpers_test.go diff --git a/hive/gateway/ec2/instance/state.go b/spinifex/gateway/ec2/instance/state.go similarity index 100% rename from hive/gateway/ec2/instance/state.go rename to spinifex/gateway/ec2/instance/state.go diff --git a/hive/gateway/ec2/instance/state_test.go b/spinifex/gateway/ec2/instance/state_test.go similarity index 100% rename from hive/gateway/ec2/instance/state_test.go rename to spinifex/gateway/ec2/instance/state_test.go diff --git a/hive/gateway/ec2/key/CreateKeyPair.go b/spinifex/gateway/ec2/key/CreateKeyPair.go similarity index 88% rename from hive/gateway/ec2/key/CreateKeyPair.go rename to spinifex/gateway/ec2/key/CreateKeyPair.go index a79ebd5c3..447c22ab1 100644 --- a/hive/gateway/ec2/key/CreateKeyPair.go +++ b/spinifex/gateway/ec2/key/CreateKeyPair.go @@ -5,8 +5,8 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/CreateKeyPair_test.go b/spinifex/gateway/ec2/key/CreateKeyPair_test.go similarity index 96% rename from hive/gateway/ec2/key/CreateKeyPair_test.go rename to spinifex/gateway/ec2/key/CreateKeyPair_test.go index 50e29e770..dcc547725 100644 --- a/hive/gateway/ec2/key/CreateKeyPair_test.go +++ b/spinifex/gateway/ec2/key/CreateKeyPair_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/DeleteKeyPair.go b/spinifex/gateway/ec2/key/DeleteKeyPair.go similarity index 89% rename from hive/gateway/ec2/key/DeleteKeyPair.go rename to spinifex/gateway/ec2/key/DeleteKeyPair.go index 1f1699899..301f5f3d5 100644 --- a/hive/gateway/ec2/key/DeleteKeyPair.go +++ b/spinifex/gateway/ec2/key/DeleteKeyPair.go @@ -5,8 +5,8 @@ import ( "log/slog" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/DeleteKeyPair_test.go b/spinifex/gateway/ec2/key/DeleteKeyPair_test.go similarity index 96% rename from hive/gateway/ec2/key/DeleteKeyPair_test.go rename to spinifex/gateway/ec2/key/DeleteKeyPair_test.go index 215373f90..275417e2e 100644 --- a/hive/gateway/ec2/key/DeleteKeyPair_test.go +++ b/spinifex/gateway/ec2/key/DeleteKeyPair_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/DescribeKeyPairs.go b/spinifex/gateway/ec2/key/DescribeKeyPairs.go similarity index 89% rename from hive/gateway/ec2/key/DescribeKeyPairs.go rename to spinifex/gateway/ec2/key/DescribeKeyPairs.go index 6fdd9d711..886be4461 100644 --- a/hive/gateway/ec2/key/DescribeKeyPairs.go +++ b/spinifex/gateway/ec2/key/DescribeKeyPairs.go @@ -2,7 +2,7 @@ package gateway_ec2_key import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/ImportKeyPair.go b/spinifex/gateway/ec2/key/ImportKeyPair.go similarity index 88% rename from hive/gateway/ec2/key/ImportKeyPair.go rename to spinifex/gateway/ec2/key/ImportKeyPair.go index 0a3f7119c..2b0054b31 100644 --- a/hive/gateway/ec2/key/ImportKeyPair.go +++ b/spinifex/gateway/ec2/key/ImportKeyPair.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_key "github.com/mulgadc/spinifex/hive/handlers/ec2/key" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_key "github.com/mulgadc/spinifex/spinifex/handlers/ec2/key" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/key/ImportKeyPair_test.go b/spinifex/gateway/ec2/key/ImportKeyPair_test.go similarity index 96% rename from hive/gateway/ec2/key/ImportKeyPair_test.go rename to spinifex/gateway/ec2/key/ImportKeyPair_test.go index 14b20583f..2b846fe40 100644 --- a/hive/gateway/ec2/key/ImportKeyPair_test.go +++ b/spinifex/gateway/ec2/key/ImportKeyPair_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/key/handler_test.go b/spinifex/gateway/ec2/key/handler_test.go similarity index 97% rename from hive/gateway/ec2/key/handler_test.go rename to spinifex/gateway/ec2/key/handler_test.go index f44b07e6e..2e531968d 100644 --- a/hive/gateway/ec2/key/handler_test.go +++ b/spinifex/gateway/ec2/key/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/snapshot/CopySnapshot.go b/spinifex/gateway/ec2/snapshot/CopySnapshot.go similarity index 90% rename from hive/gateway/ec2/snapshot/CopySnapshot.go rename to spinifex/gateway/ec2/snapshot/CopySnapshot.go index bfe33f374..a68797f54 100644 --- a/hive/gateway/ec2/snapshot/CopySnapshot.go +++ b/spinifex/gateway/ec2/snapshot/CopySnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/CreateSnapshot.go b/spinifex/gateway/ec2/snapshot/CreateSnapshot.go similarity index 88% rename from hive/gateway/ec2/snapshot/CreateSnapshot.go rename to spinifex/gateway/ec2/snapshot/CreateSnapshot.go index e463b9406..4a74a8e6d 100644 --- a/hive/gateway/ec2/snapshot/CreateSnapshot.go +++ b/spinifex/gateway/ec2/snapshot/CreateSnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/DeleteSnapshot.go b/spinifex/gateway/ec2/snapshot/DeleteSnapshot.go similarity index 89% rename from hive/gateway/ec2/snapshot/DeleteSnapshot.go rename to spinifex/gateway/ec2/snapshot/DeleteSnapshot.go index 3da965c7d..4b981c7d2 100644 --- a/hive/gateway/ec2/snapshot/DeleteSnapshot.go +++ b/spinifex/gateway/ec2/snapshot/DeleteSnapshot.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/DescribeSnapshots.go b/spinifex/gateway/ec2/snapshot/DescribeSnapshots.go similarity index 88% rename from hive/gateway/ec2/snapshot/DescribeSnapshots.go rename to spinifex/gateway/ec2/snapshot/DescribeSnapshots.go index 6f7e1b871..1c6a81848 100644 --- a/hive/gateway/ec2/snapshot/DescribeSnapshots.go +++ b/spinifex/gateway/ec2/snapshot/DescribeSnapshots.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/snapshot/Snapshot_test.go b/spinifex/gateway/ec2/snapshot/Snapshot_test.go similarity index 99% rename from hive/gateway/ec2/snapshot/Snapshot_test.go rename to spinifex/gateway/ec2/snapshot/Snapshot_test.go index e211f4a23..e2298d9f9 100644 --- a/hive/gateway/ec2/snapshot/Snapshot_test.go +++ b/spinifex/gateway/ec2/snapshot/Snapshot_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/tags/CreateTags.go b/spinifex/gateway/ec2/tags/CreateTags.go similarity index 90% rename from hive/gateway/ec2/tags/CreateTags.go rename to spinifex/gateway/ec2/tags/CreateTags.go index 6cea2cbdf..b3a28dbdf 100644 --- a/hive/gateway/ec2/tags/CreateTags.go +++ b/spinifex/gateway/ec2/tags/CreateTags.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_tags "github.com/mulgadc/spinifex/spinifex/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/CreateTags_test.go b/spinifex/gateway/ec2/tags/CreateTags_test.go similarity index 98% rename from hive/gateway/ec2/tags/CreateTags_test.go rename to spinifex/gateway/ec2/tags/CreateTags_test.go index e13bb37ac..bdea13e57 100644 --- a/hive/gateway/ec2/tags/CreateTags_test.go +++ b/spinifex/gateway/ec2/tags/CreateTags_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/tags/DeleteTags.go b/spinifex/gateway/ec2/tags/DeleteTags.go similarity index 87% rename from hive/gateway/ec2/tags/DeleteTags.go rename to spinifex/gateway/ec2/tags/DeleteTags.go index 956d365f5..c51af1d42 100644 --- a/hive/gateway/ec2/tags/DeleteTags.go +++ b/spinifex/gateway/ec2/tags/DeleteTags.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_tags "github.com/mulgadc/spinifex/spinifex/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/DescribeTags.go b/spinifex/gateway/ec2/tags/DescribeTags.go similarity index 87% rename from hive/gateway/ec2/tags/DescribeTags.go rename to spinifex/gateway/ec2/tags/DescribeTags.go index 446a2809d..c52ff8d62 100644 --- a/hive/gateway/ec2/tags/DescribeTags.go +++ b/spinifex/gateway/ec2/tags/DescribeTags.go @@ -2,7 +2,7 @@ package gateway_ec2_tags import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_tags "github.com/mulgadc/spinifex/hive/handlers/ec2/tags" + handlers_ec2_tags "github.com/mulgadc/spinifex/spinifex/handlers/ec2/tags" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/tags/tags_test.go b/spinifex/gateway/ec2/tags/tags_test.go similarity index 97% rename from hive/gateway/ec2/tags/tags_test.go rename to spinifex/gateway/ec2/tags/tags_test.go index 0e2f29b71..c0aa2fa32 100644 --- a/hive/gateway/ec2/tags/tags_test.go +++ b/spinifex/gateway/ec2/tags/tags_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/AttachVolume.go b/spinifex/gateway/ec2/volume/AttachVolume.go similarity index 96% rename from hive/gateway/ec2/volume/AttachVolume.go rename to spinifex/gateway/ec2/volume/AttachVolume.go index 08f351bc2..958d37449 100644 --- a/hive/gateway/ec2/volume/AttachVolume.go +++ b/spinifex/gateway/ec2/volume/AttachVolume.go @@ -9,9 +9,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/AttachVolume_test.go b/spinifex/gateway/ec2/volume/AttachVolume_test.go similarity index 97% rename from hive/gateway/ec2/volume/AttachVolume_test.go rename to spinifex/gateway/ec2/volume/AttachVolume_test.go index ce7bbe982..920ffb55b 100644 --- a/hive/gateway/ec2/volume/AttachVolume_test.go +++ b/spinifex/gateway/ec2/volume/AttachVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/CreateVolume.go b/spinifex/gateway/ec2/volume/CreateVolume.go similarity index 90% rename from hive/gateway/ec2/volume/CreateVolume.go rename to spinifex/gateway/ec2/volume/CreateVolume.go index 1a7d599ef..a3a253472 100644 --- a/hive/gateway/ec2/volume/CreateVolume.go +++ b/spinifex/gateway/ec2/volume/CreateVolume.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/CreateVolume_test.go b/spinifex/gateway/ec2/volume/CreateVolume_test.go similarity index 98% rename from hive/gateway/ec2/volume/CreateVolume_test.go rename to spinifex/gateway/ec2/volume/CreateVolume_test.go index 1449e7b53..2b3a96b18 100644 --- a/hive/gateway/ec2/volume/CreateVolume_test.go +++ b/spinifex/gateway/ec2/volume/CreateVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/DeleteVolume.go b/spinifex/gateway/ec2/volume/DeleteVolume.go similarity index 88% rename from hive/gateway/ec2/volume/DeleteVolume.go rename to spinifex/gateway/ec2/volume/DeleteVolume.go index d6edf238c..7621b3ab9 100644 --- a/hive/gateway/ec2/volume/DeleteVolume.go +++ b/spinifex/gateway/ec2/volume/DeleteVolume.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DeleteVolume_test.go b/spinifex/gateway/ec2/volume/DeleteVolume_test.go similarity index 97% rename from hive/gateway/ec2/volume/DeleteVolume_test.go rename to spinifex/gateway/ec2/volume/DeleteVolume_test.go index f27b81c05..2ff9253b4 100644 --- a/hive/gateway/ec2/volume/DeleteVolume_test.go +++ b/spinifex/gateway/ec2/volume/DeleteVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/DescribeVolumeStatus.go b/spinifex/gateway/ec2/volume/DescribeVolumeStatus.go similarity index 89% rename from hive/gateway/ec2/volume/DescribeVolumeStatus.go rename to spinifex/gateway/ec2/volume/DescribeVolumeStatus.go index 39d8fdaa3..69526c9ce 100644 --- a/hive/gateway/ec2/volume/DescribeVolumeStatus.go +++ b/spinifex/gateway/ec2/volume/DescribeVolumeStatus.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DescribeVolumeStatus_test.go b/spinifex/gateway/ec2/volume/DescribeVolumeStatus_test.go similarity index 100% rename from hive/gateway/ec2/volume/DescribeVolumeStatus_test.go rename to spinifex/gateway/ec2/volume/DescribeVolumeStatus_test.go diff --git a/hive/gateway/ec2/volume/DescribeVolumes.go b/spinifex/gateway/ec2/volume/DescribeVolumes.go similarity index 90% rename from hive/gateway/ec2/volume/DescribeVolumes.go rename to spinifex/gateway/ec2/volume/DescribeVolumes.go index 8dcc22277..d47b2b10e 100644 --- a/hive/gateway/ec2/volume/DescribeVolumes.go +++ b/spinifex/gateway/ec2/volume/DescribeVolumes.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DescribeVolumes_test.go b/spinifex/gateway/ec2/volume/DescribeVolumes_test.go similarity index 100% rename from hive/gateway/ec2/volume/DescribeVolumes_test.go rename to spinifex/gateway/ec2/volume/DescribeVolumes_test.go diff --git a/hive/gateway/ec2/volume/DetachVolume.go b/spinifex/gateway/ec2/volume/DetachVolume.go similarity index 93% rename from hive/gateway/ec2/volume/DetachVolume.go rename to spinifex/gateway/ec2/volume/DetachVolume.go index 31880bdd6..611092284 100644 --- a/hive/gateway/ec2/volume/DetachVolume.go +++ b/spinifex/gateway/ec2/volume/DetachVolume.go @@ -8,10 +8,10 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/DetachVolume_test.go b/spinifex/gateway/ec2/volume/DetachVolume_test.go similarity index 97% rename from hive/gateway/ec2/volume/DetachVolume_test.go rename to spinifex/gateway/ec2/volume/DetachVolume_test.go index 91ac74e94..534494d1d 100644 --- a/hive/gateway/ec2/volume/DetachVolume_test.go +++ b/spinifex/gateway/ec2/volume/DetachVolume_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/volume/ModifyVolume.go b/spinifex/gateway/ec2/volume/ModifyVolume.go similarity index 89% rename from hive/gateway/ec2/volume/ModifyVolume.go rename to spinifex/gateway/ec2/volume/ModifyVolume.go index 70403ff67..22009006a 100644 --- a/hive/gateway/ec2/volume/ModifyVolume.go +++ b/spinifex/gateway/ec2/volume/ModifyVolume.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_volume "github.com/mulgadc/spinifex/hive/handlers/ec2/volume" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_volume "github.com/mulgadc/spinifex/spinifex/handlers/ec2/volume" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/volume/ModifyVolume_test.go b/spinifex/gateway/ec2/volume/ModifyVolume_test.go similarity index 100% rename from hive/gateway/ec2/volume/ModifyVolume_test.go rename to spinifex/gateway/ec2/volume/ModifyVolume_test.go diff --git a/hive/gateway/ec2/volume/handler_test.go b/spinifex/gateway/ec2/volume/handler_test.go similarity index 98% rename from hive/gateway/ec2/volume/handler_test.go rename to spinifex/gateway/ec2/volume/handler_test.go index 6e1c56a57..c8c4531d3 100644 --- a/hive/gateway/ec2/volume/handler_test.go +++ b/spinifex/gateway/ec2/volume/handler_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/vpc/CreateNetworkInterface.go b/spinifex/gateway/ec2/vpc/CreateNetworkInterface.go similarity index 86% rename from hive/gateway/ec2/vpc/CreateNetworkInterface.go rename to spinifex/gateway/ec2/vpc/CreateNetworkInterface.go index 9c58c454d..008c402e2 100644 --- a/hive/gateway/ec2/vpc/CreateNetworkInterface.go +++ b/spinifex/gateway/ec2/vpc/CreateNetworkInterface.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/CreateSubnet.go b/spinifex/gateway/ec2/vpc/CreateSubnet.go similarity index 86% rename from hive/gateway/ec2/vpc/CreateSubnet.go rename to spinifex/gateway/ec2/vpc/CreateSubnet.go index 9998bf868..76eeb597b 100644 --- a/hive/gateway/ec2/vpc/CreateSubnet.go +++ b/spinifex/gateway/ec2/vpc/CreateSubnet.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/CreateVpc.go b/spinifex/gateway/ec2/vpc/CreateVpc.go similarity index 84% rename from hive/gateway/ec2/vpc/CreateVpc.go rename to spinifex/gateway/ec2/vpc/CreateVpc.go index 49f23988d..98e5d37e7 100644 --- a/hive/gateway/ec2/vpc/CreateVpc.go +++ b/spinifex/gateway/ec2/vpc/CreateVpc.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteNetworkInterface.go b/spinifex/gateway/ec2/vpc/DeleteNetworkInterface.go similarity index 86% rename from hive/gateway/ec2/vpc/DeleteNetworkInterface.go rename to spinifex/gateway/ec2/vpc/DeleteNetworkInterface.go index 3232a1ea3..1ae33a436 100644 --- a/hive/gateway/ec2/vpc/DeleteNetworkInterface.go +++ b/spinifex/gateway/ec2/vpc/DeleteNetworkInterface.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteSubnet.go b/spinifex/gateway/ec2/vpc/DeleteSubnet.go similarity index 85% rename from hive/gateway/ec2/vpc/DeleteSubnet.go rename to spinifex/gateway/ec2/vpc/DeleteSubnet.go index 267c8ccec..0934c65f1 100644 --- a/hive/gateway/ec2/vpc/DeleteSubnet.go +++ b/spinifex/gateway/ec2/vpc/DeleteSubnet.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DeleteVpc.go b/spinifex/gateway/ec2/vpc/DeleteVpc.go similarity index 84% rename from hive/gateway/ec2/vpc/DeleteVpc.go rename to spinifex/gateway/ec2/vpc/DeleteVpc.go index 6e73d631a..eaf2c444b 100644 --- a/hive/gateway/ec2/vpc/DeleteVpc.go +++ b/spinifex/gateway/ec2/vpc/DeleteVpc.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go b/spinifex/gateway/ec2/vpc/DescribeNetworkInterfaces.go similarity index 88% rename from hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go rename to spinifex/gateway/ec2/vpc/DescribeNetworkInterfaces.go index 90ed9f068..7078505f5 100644 --- a/hive/gateway/ec2/vpc/DescribeNetworkInterfaces.go +++ b/spinifex/gateway/ec2/vpc/DescribeNetworkInterfaces.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeSubnets.go b/spinifex/gateway/ec2/vpc/DescribeSubnets.go similarity index 87% rename from hive/gateway/ec2/vpc/DescribeSubnets.go rename to spinifex/gateway/ec2/vpc/DescribeSubnets.go index 558d04ef3..69197a3b1 100644 --- a/hive/gateway/ec2/vpc/DescribeSubnets.go +++ b/spinifex/gateway/ec2/vpc/DescribeSubnets.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/DescribeVpcs.go b/spinifex/gateway/ec2/vpc/DescribeVpcs.go similarity index 86% rename from hive/gateway/ec2/vpc/DescribeVpcs.go rename to spinifex/gateway/ec2/vpc/DescribeVpcs.go index dfcfe2447..6fc2c4556 100644 --- a/hive/gateway/ec2/vpc/DescribeVpcs.go +++ b/spinifex/gateway/ec2/vpc/DescribeVpcs.go @@ -2,7 +2,7 @@ package gateway_ec2_vpc import ( "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/ec2/vpc/vpc_test.go b/spinifex/gateway/ec2/vpc/vpc_test.go similarity index 99% rename from hive/gateway/ec2/vpc/vpc_test.go rename to spinifex/gateway/ec2/vpc/vpc_test.go index d809c7c64..33dce829a 100644 --- a/hive/gateway/ec2/vpc/vpc_test.go +++ b/spinifex/gateway/ec2/vpc/vpc_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" + "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/ec2/zone/AvailabilityZone.go b/spinifex/gateway/ec2/zone/AvailabilityZone.go similarity index 100% rename from hive/gateway/ec2/zone/AvailabilityZone.go rename to spinifex/gateway/ec2/zone/AvailabilityZone.go diff --git a/hive/gateway/ec2/zone/zone_test.go b/spinifex/gateway/ec2/zone/zone_test.go similarity index 100% rename from hive/gateway/ec2/zone/zone_test.go rename to spinifex/gateway/ec2/zone/zone_test.go diff --git a/hive/gateway/errors-client.txt b/spinifex/gateway/errors-client.txt similarity index 100% rename from hive/gateway/errors-client.txt rename to spinifex/gateway/errors-client.txt diff --git a/hive/gateway/errors-common.txt b/spinifex/gateway/errors-common.txt similarity index 100% rename from hive/gateway/errors-common.txt rename to spinifex/gateway/errors-common.txt diff --git a/hive/gateway/errors-server.txt b/spinifex/gateway/errors-server.txt similarity index 100% rename from hive/gateway/errors-server.txt rename to spinifex/gateway/errors-server.txt diff --git a/hive/gateway/gateway.go b/spinifex/gateway/gateway.go similarity index 97% rename from hive/gateway/gateway.go rename to spinifex/gateway/gateway.go index 8914188bf..672dc00bc 100644 --- a/hive/gateway/gateway.go +++ b/spinifex/gateway/gateway.go @@ -15,12 +15,12 @@ import ( "github.com/go-chi/chi/v5" "github.com/google/uuid" - "github.com/mulgadc/spinifex/hive/awsec2query" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/gateway/policy" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awsec2query" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/gateway/policy" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/gateway/gateway_test.go b/spinifex/gateway/gateway_test.go similarity index 99% rename from hive/gateway/gateway_test.go rename to spinifex/gateway/gateway_test.go index 4a5bf29b7..589c24d32 100644 --- a/hive/gateway/gateway_test.go +++ b/spinifex/gateway/gateway_test.go @@ -13,9 +13,9 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/gateway/iam.go b/spinifex/gateway/iam.go similarity index 95% rename from hive/gateway/iam.go rename to spinifex/gateway/iam.go index 130ed90c5..cd00e1a82 100644 --- a/hive/gateway/iam.go +++ b/spinifex/gateway/iam.go @@ -7,11 +7,11 @@ import ( "net/http" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awsec2query" - "github.com/mulgadc/spinifex/hive/awserrors" - gateway_iam "github.com/mulgadc/spinifex/hive/gateway/iam" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awsec2query" + "github.com/mulgadc/spinifex/spinifex/awserrors" + gateway_iam "github.com/mulgadc/spinifex/spinifex/gateway/iam" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/utils" ) // IAMHandler processes parsed query args and returns XML response bytes. diff --git a/hive/gateway/iam/handler_test.go b/spinifex/gateway/iam/handler_test.go similarity index 99% rename from hive/gateway/iam/handler_test.go rename to spinifex/gateway/iam/handler_test.go index bf93106ca..4f24f7c8e 100644 --- a/hive/gateway/iam/handler_test.go +++ b/spinifex/gateway/iam/handler_test.go @@ -3,8 +3,8 @@ package gateway_iam import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/hive/gateway/iam/key.go b/spinifex/gateway/iam/key.go similarity index 92% rename from hive/gateway/iam/key.go rename to spinifex/gateway/iam/key.go index ca3817d43..f4e528ef5 100644 --- a/hive/gateway/iam/key.go +++ b/spinifex/gateway/iam/key.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" ) func CreateAccessKey(accountID string, input *iam.CreateAccessKeyInput, svc handlers_iam.IAMService) (*iam.CreateAccessKeyOutput, error) { diff --git a/hive/gateway/iam/policy.go b/spinifex/gateway/iam/policy.go similarity index 96% rename from hive/gateway/iam/policy.go rename to spinifex/gateway/iam/policy.go index 11ff30bbe..4b259d8b6 100644 --- a/hive/gateway/iam/policy.go +++ b/spinifex/gateway/iam/policy.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" ) func CreatePolicy(accountID string, input *iam.CreatePolicyInput, svc handlers_iam.IAMService) (*iam.CreatePolicyOutput, error) { diff --git a/hive/gateway/iam/user.go b/spinifex/gateway/iam/user.go similarity index 90% rename from hive/gateway/iam/user.go rename to spinifex/gateway/iam/user.go index f219f6159..77f2130b2 100644 --- a/hive/gateway/iam/user.go +++ b/spinifex/gateway/iam/user.go @@ -4,8 +4,8 @@ import ( "errors" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" ) func CreateUser(accountID string, input *iam.CreateUserInput, svc handlers_iam.IAMService) (*iam.CreateUserOutput, error) { diff --git a/hive/gateway/iam_request_test.go b/spinifex/gateway/iam_request_test.go similarity index 98% rename from hive/gateway/iam_request_test.go rename to spinifex/gateway/iam_request_test.go index 3b224a4ba..92a24c981 100644 --- a/hive/gateway/iam_request_test.go +++ b/spinifex/gateway/iam_request_test.go @@ -11,8 +11,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" "github.com/stretchr/testify/assert" ) diff --git a/hive/gateway/policy/actions.go b/spinifex/gateway/policy/actions.go similarity index 100% rename from hive/gateway/policy/actions.go rename to spinifex/gateway/policy/actions.go diff --git a/hive/gateway/policy/evaluator.go b/spinifex/gateway/policy/evaluator.go similarity index 97% rename from hive/gateway/policy/evaluator.go rename to spinifex/gateway/policy/evaluator.go index 3d20a1078..2e78421e9 100644 --- a/hive/gateway/policy/evaluator.go +++ b/spinifex/gateway/policy/evaluator.go @@ -5,7 +5,7 @@ import ( "log/slog" "strings" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" ) // Decision represents the outcome of a policy evaluation. diff --git a/hive/gateway/policy/evaluator_test.go b/spinifex/gateway/policy/evaluator_test.go similarity index 99% rename from hive/gateway/policy/evaluator_test.go rename to spinifex/gateway/policy/evaluator_test.go index 0f86a4a22..8cefe53f5 100644 --- a/hive/gateway/policy/evaluator_test.go +++ b/spinifex/gateway/policy/evaluator_test.go @@ -3,7 +3,7 @@ package policy import ( "testing" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" ) // helper to build a single-statement policy document. diff --git a/hive/handlers/NATS_HANDLER_NAMING.md b/spinifex/handlers/NATS_HANDLER_NAMING.md similarity index 100% rename from hive/handlers/NATS_HANDLER_NAMING.md rename to spinifex/handlers/NATS_HANDLER_NAMING.md diff --git a/hive/handlers/ec2/account/service.go b/spinifex/handlers/ec2/account/service.go similarity index 100% rename from hive/handlers/ec2/account/service.go rename to spinifex/handlers/ec2/account/service.go diff --git a/hive/handlers/ec2/account/service_impl.go b/spinifex/handlers/ec2/account/service_impl.go similarity index 98% rename from hive/handlers/ec2/account/service_impl.go rename to spinifex/handlers/ec2/account/service_impl.go index f6f37e7da..1512c62d5 100644 --- a/hive/handlers/ec2/account/service_impl.go +++ b/spinifex/handlers/ec2/account/service_impl.go @@ -8,8 +8,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/account/service_impl_test.go b/spinifex/handlers/ec2/account/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/account/service_impl_test.go rename to spinifex/handlers/ec2/account/service_impl_test.go index 04d1be9f0..baf3a4262 100644 --- a/hive/handlers/ec2/account/service_impl_test.go +++ b/spinifex/handlers/ec2/account/service_impl_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/account/service_nats.go b/spinifex/handlers/ec2/account/service_nats.go similarity index 98% rename from hive/handlers/ec2/account/service_nats.go rename to spinifex/handlers/ec2/account/service_nats.go index 588a8777e..f5d3e931f 100644 --- a/hive/handlers/ec2/account/service_nats.go +++ b/spinifex/handlers/ec2/account/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/eigw/service.go b/spinifex/handlers/ec2/eigw/service.go similarity index 100% rename from hive/handlers/ec2/eigw/service.go rename to spinifex/handlers/ec2/eigw/service.go diff --git a/hive/handlers/ec2/eigw/service_impl.go b/spinifex/handlers/ec2/eigw/service_impl.go similarity index 97% rename from hive/handlers/ec2/eigw/service_impl.go rename to spinifex/handlers/ec2/eigw/service_impl.go index afca414b3..f223d39ec 100644 --- a/hive/handlers/ec2/eigw/service_impl.go +++ b/spinifex/handlers/ec2/eigw/service_impl.go @@ -10,10 +10,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/eigw/service_impl_test.go b/spinifex/handlers/ec2/eigw/service_impl_test.go similarity index 98% rename from hive/handlers/ec2/eigw/service_impl_test.go rename to spinifex/handlers/ec2/eigw/service_impl_test.go index 7fc1a4332..8a9ca9628 100644 --- a/hive/handlers/ec2/eigw/service_impl_test.go +++ b/spinifex/handlers/ec2/eigw/service_impl_test.go @@ -6,8 +6,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/utils" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/eigw/service_nats.go b/spinifex/handlers/ec2/eigw/service_nats.go similarity index 97% rename from hive/handlers/ec2/eigw/service_nats.go rename to spinifex/handlers/ec2/eigw/service_nats.go index 7f4716010..9036a2c3b 100644 --- a/hive/handlers/ec2/eigw/service_nats.go +++ b/spinifex/handlers/ec2/eigw/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service.go b/spinifex/handlers/ec2/igw/service.go similarity index 100% rename from hive/handlers/ec2/igw/service.go rename to spinifex/handlers/ec2/igw/service.go diff --git a/hive/handlers/ec2/igw/service_impl.go b/spinifex/handlers/ec2/igw/service_impl.go similarity index 97% rename from hive/handlers/ec2/igw/service_impl.go rename to spinifex/handlers/ec2/igw/service_impl.go index 72272300e..77a6a10b5 100644 --- a/hive/handlers/ec2/igw/service_impl.go +++ b/spinifex/handlers/ec2/igw/service_impl.go @@ -10,11 +10,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service_impl_test.go b/spinifex/handlers/ec2/igw/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/igw/service_impl_test.go rename to spinifex/handlers/ec2/igw/service_impl_test.go index 4500b6c3a..bcd2dcf82 100644 --- a/hive/handlers/ec2/igw/service_impl_test.go +++ b/spinifex/handlers/ec2/igw/service_impl_test.go @@ -6,8 +6,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/utils" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/igw/service_nats.go b/spinifex/handlers/ec2/igw/service_nats.go similarity index 97% rename from hive/handlers/ec2/igw/service_nats.go rename to spinifex/handlers/ec2/igw/service_nats.go index 80a46bcd4..d12f14ea6 100644 --- a/hive/handlers/ec2/igw/service_nats.go +++ b/spinifex/handlers/ec2/igw/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/igw/service_nats_test.go b/spinifex/handlers/ec2/igw/service_nats_test.go similarity index 98% rename from hive/handlers/ec2/igw/service_nats_test.go rename to spinifex/handlers/ec2/igw/service_nats_test.go index 4152ef5e2..185cbbb35 100644 --- a/hive/handlers/ec2/igw/service_nats_test.go +++ b/spinifex/handlers/ec2/igw/service_nats_test.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/handlers/ec2/image/service.go b/spinifex/handlers/ec2/image/service.go similarity index 100% rename from hive/handlers/ec2/image/service.go rename to spinifex/handlers/ec2/image/service.go diff --git a/hive/handlers/ec2/image/service_impl.go b/spinifex/handlers/ec2/image/service_impl.go similarity index 98% rename from hive/handlers/ec2/image/service_impl.go rename to spinifex/handlers/ec2/image/service_impl.go index 63f280954..a8a47c6e5 100644 --- a/hive/handlers/ec2/image/service_impl.go +++ b/spinifex/handlers/ec2/image/service_impl.go @@ -13,12 +13,12 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/viperblock/viperblock" vbs3 "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/image/service_impl_test.go b/spinifex/handlers/ec2/image/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/image/service_impl_test.go rename to spinifex/handlers/ec2/image/service_impl_test.go index b61678a73..76cbc4495 100644 --- a/hive/handlers/ec2/image/service_impl_test.go +++ b/spinifex/handlers/ec2/image/service_impl_test.go @@ -8,9 +8,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - handlers_ec2_snapshot "github.com/mulgadc/spinifex/hive/handlers/ec2/snapshot" - "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/spinifex/awserrors" + handlers_ec2_snapshot "github.com/mulgadc/spinifex/spinifex/handlers/ec2/snapshot" + "github.com/mulgadc/spinifex/spinifex/objectstore" "github.com/mulgadc/viperblock/viperblock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/hive/handlers/ec2/image/service_nats.go b/spinifex/handlers/ec2/image/service_nats.go similarity index 98% rename from hive/handlers/ec2/image/service_nats.go rename to spinifex/handlers/ec2/image/service_nats.go index 1f01e3831..40a58ce36 100644 --- a/hive/handlers/ec2/image/service_nats.go +++ b/spinifex/handlers/ec2/image/service_nats.go @@ -5,7 +5,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/instance/service.go b/spinifex/handlers/ec2/instance/service.go similarity index 100% rename from hive/handlers/ec2/instance/service.go rename to spinifex/handlers/ec2/instance/service.go diff --git a/hive/handlers/ec2/instance/service_impl.go b/spinifex/handlers/ec2/instance/service_impl.go similarity index 98% rename from hive/handlers/ec2/instance/service_impl.go rename to spinifex/handlers/ec2/instance/service_impl.go index 830446a28..3d1e9ef81 100644 --- a/hive/handlers/ec2/instance/service_impl.go +++ b/spinifex/handlers/ec2/instance/service_impl.go @@ -15,12 +15,12 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" awss3 "github.com/aws/aws-sdk-go/service/s3" "github.com/kdomanski/iso9660" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - hivetypes "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + hivetypes "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/mulgadc/viperblock/types" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" diff --git a/hive/handlers/ec2/instance/service_impl_test.go b/spinifex/handlers/ec2/instance/service_impl_test.go similarity index 98% rename from hive/handlers/ec2/instance/service_impl_test.go rename to spinifex/handlers/ec2/instance/service_impl_test.go index 5817d9b12..e1151671d 100644 --- a/hive/handlers/ec2/instance/service_impl_test.go +++ b/spinifex/handlers/ec2/instance/service_impl_test.go @@ -9,11 +9,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/utils" - "github.com/mulgadc/spinifex/hive/vm" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/utils" + "github.com/mulgadc/spinifex/spinifex/vm" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/instance/service_mock.go b/spinifex/handlers/ec2/instance/service_mock.go similarity index 100% rename from hive/handlers/ec2/instance/service_mock.go rename to spinifex/handlers/ec2/instance/service_mock.go diff --git a/hive/handlers/ec2/instance/service_nats.go b/spinifex/handlers/ec2/instance/service_nats.go similarity index 94% rename from hive/handlers/ec2/instance/service_nats.go rename to spinifex/handlers/ec2/instance/service_nats.go index c1b10d2ce..6fc51b72c 100644 --- a/hive/handlers/ec2/instance/service_nats.go +++ b/spinifex/handlers/ec2/instance/service_nats.go @@ -6,7 +6,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/instance/service_nats_test.go b/spinifex/handlers/ec2/instance/service_nats_test.go similarity index 99% rename from hive/handlers/ec2/instance/service_nats_test.go rename to spinifex/handlers/ec2/instance/service_nats_test.go index 63d9e7b63..dd68fe38a 100644 --- a/hive/handlers/ec2/instance/service_nats_test.go +++ b/spinifex/handlers/ec2/instance/service_nats_test.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/key/service.go b/spinifex/handlers/ec2/key/service.go similarity index 100% rename from hive/handlers/ec2/key/service.go rename to spinifex/handlers/ec2/key/service.go diff --git a/hive/handlers/ec2/key/service_impl.go b/spinifex/handlers/ec2/key/service_impl.go similarity index 99% rename from hive/handlers/ec2/key/service_impl.go rename to spinifex/handlers/ec2/key/service_impl.go index 8dc339fdb..b1ee0df4a 100644 --- a/hive/handlers/ec2/key/service_impl.go +++ b/spinifex/handlers/ec2/key/service_impl.go @@ -19,10 +19,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/utils" ) // Ensure KeyServiceImpl implements KeyService diff --git a/hive/handlers/ec2/key/service_impl_test.go b/spinifex/handlers/ec2/key/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/key/service_impl_test.go rename to spinifex/handlers/ec2/key/service_impl_test.go index 8fd111627..fbf259115 100644 --- a/hive/handlers/ec2/key/service_impl_test.go +++ b/spinifex/handlers/ec2/key/service_impl_test.go @@ -9,8 +9,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/objectstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/key/service_mock.go b/spinifex/handlers/ec2/key/service_mock.go similarity index 100% rename from hive/handlers/ec2/key/service_mock.go rename to spinifex/handlers/ec2/key/service_mock.go diff --git a/hive/handlers/ec2/key/service_nats.go b/spinifex/handlers/ec2/key/service_nats.go similarity index 96% rename from hive/handlers/ec2/key/service_nats.go rename to spinifex/handlers/ec2/key/service_nats.go index 385829c44..fa27b1194 100644 --- a/hive/handlers/ec2/key/service_nats.go +++ b/spinifex/handlers/ec2/key/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/snapshot/service.go b/spinifex/handlers/ec2/snapshot/service.go similarity index 100% rename from hive/handlers/ec2/snapshot/service.go rename to spinifex/handlers/ec2/snapshot/service.go diff --git a/hive/handlers/ec2/snapshot/service_impl.go b/spinifex/handlers/ec2/snapshot/service_impl.go similarity index 98% rename from hive/handlers/ec2/snapshot/service_impl.go rename to spinifex/handlers/ec2/snapshot/service_impl.go index 33a17c727..3240a13bf 100644 --- a/hive/handlers/ec2/snapshot/service_impl.go +++ b/spinifex/handlers/ec2/snapshot/service_impl.go @@ -14,11 +14,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/snapshot/service_impl_test.go b/spinifex/handlers/ec2/snapshot/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/snapshot/service_impl_test.go rename to spinifex/handlers/ec2/snapshot/service_impl_test.go index 65825ec22..9470f361d 100644 --- a/hive/handlers/ec2/snapshot/service_impl_test.go +++ b/spinifex/handlers/ec2/snapshot/service_impl_test.go @@ -9,9 +9,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/snapshot/service_nats.go b/spinifex/handlers/ec2/snapshot/service_nats.go similarity index 96% rename from hive/handlers/ec2/snapshot/service_nats.go rename to spinifex/handlers/ec2/snapshot/service_nats.go index 86e412a90..7531942eb 100644 --- a/hive/handlers/ec2/snapshot/service_nats.go +++ b/spinifex/handlers/ec2/snapshot/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/tags/service.go b/spinifex/handlers/ec2/tags/service.go similarity index 100% rename from hive/handlers/ec2/tags/service.go rename to spinifex/handlers/ec2/tags/service.go diff --git a/hive/handlers/ec2/tags/service_impl.go b/spinifex/handlers/ec2/tags/service_impl.go similarity index 98% rename from hive/handlers/ec2/tags/service_impl.go rename to spinifex/handlers/ec2/tags/service_impl.go index d56219ea4..4bb1dbb54 100644 --- a/hive/handlers/ec2/tags/service_impl.go +++ b/spinifex/handlers/ec2/tags/service_impl.go @@ -11,9 +11,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" ) // Ensure TagsServiceImpl implements TagsService diff --git a/hive/handlers/ec2/tags/service_impl_test.go b/spinifex/handlers/ec2/tags/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/tags/service_impl_test.go rename to spinifex/handlers/ec2/tags/service_impl_test.go index bdcf24d3e..ee476282f 100644 --- a/hive/handlers/ec2/tags/service_impl_test.go +++ b/spinifex/handlers/ec2/tags/service_impl_test.go @@ -6,9 +6,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/hive/handlers/ec2/tags/service_nats.go b/spinifex/handlers/ec2/tags/service_nats.go similarity index 95% rename from hive/handlers/ec2/tags/service_nats.go rename to spinifex/handlers/ec2/tags/service_nats.go index 512398396..04d0db33a 100644 --- a/hive/handlers/ec2/tags/service_nats.go +++ b/spinifex/handlers/ec2/tags/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/volume/service.go b/spinifex/handlers/ec2/volume/service.go similarity index 100% rename from hive/handlers/ec2/volume/service.go rename to spinifex/handlers/ec2/volume/service.go diff --git a/hive/handlers/ec2/volume/service_impl.go b/spinifex/handlers/ec2/volume/service_impl.go similarity index 99% rename from hive/handlers/ec2/volume/service_impl.go rename to spinifex/handlers/ec2/volume/service_impl.go index 11a0b88d7..fa6a88ae3 100644 --- a/hive/handlers/ec2/volume/service_impl.go +++ b/spinifex/handlers/ec2/volume/service_impl.go @@ -14,11 +14,11 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/viperblock/viperblock" s3backend "github.com/mulgadc/viperblock/viperblock/backends/s3" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/volume/service_impl_test.go b/spinifex/handlers/ec2/volume/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/volume/service_impl_test.go rename to spinifex/handlers/ec2/volume/service_impl_test.go index 5d44d4110..d32659bdf 100644 --- a/hive/handlers/ec2/volume/service_impl_test.go +++ b/spinifex/handlers/ec2/volume/service_impl_test.go @@ -10,10 +10,10 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/objectstore" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/objectstore" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/mulgadc/viperblock/viperblock" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" diff --git a/hive/handlers/ec2/volume/service_nats.go b/spinifex/handlers/ec2/volume/service_nats.go similarity index 97% rename from hive/handlers/ec2/volume/service_nats.go rename to spinifex/handlers/ec2/volume/service_nats.go index ae896243d..abd3807e8 100644 --- a/hive/handlers/ec2/volume/service_nats.go +++ b/spinifex/handlers/ec2/volume/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/eni.go b/spinifex/handlers/ec2/vpc/eni.go similarity index 99% rename from hive/handlers/ec2/vpc/eni.go rename to spinifex/handlers/ec2/vpc/eni.go index c1357845e..f989892f9 100644 --- a/hive/handlers/ec2/vpc/eni.go +++ b/spinifex/handlers/ec2/vpc/eni.go @@ -10,8 +10,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/eni_test.go b/spinifex/handlers/ec2/vpc/eni_test.go similarity index 100% rename from hive/handlers/ec2/vpc/eni_test.go rename to spinifex/handlers/ec2/vpc/eni_test.go diff --git a/hive/handlers/ec2/vpc/ipam.go b/spinifex/handlers/ec2/vpc/ipam.go similarity index 99% rename from hive/handlers/ec2/vpc/ipam.go rename to spinifex/handlers/ec2/vpc/ipam.go index 28fd6729b..0789900de 100644 --- a/hive/handlers/ec2/vpc/ipam.go +++ b/spinifex/handlers/ec2/vpc/ipam.go @@ -8,7 +8,7 @@ import ( "math/big" "net" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/ipam_test.go b/spinifex/handlers/ec2/vpc/ipam_test.go similarity index 100% rename from hive/handlers/ec2/vpc/ipam_test.go rename to spinifex/handlers/ec2/vpc/ipam_test.go diff --git a/hive/handlers/ec2/vpc/service.go b/spinifex/handlers/ec2/vpc/service.go similarity index 100% rename from hive/handlers/ec2/vpc/service.go rename to spinifex/handlers/ec2/vpc/service.go diff --git a/hive/handlers/ec2/vpc/service_impl.go b/spinifex/handlers/ec2/vpc/service_impl.go similarity index 99% rename from hive/handlers/ec2/vpc/service_impl.go rename to spinifex/handlers/ec2/vpc/service_impl.go index d19f3a3d0..d9c9eb014 100644 --- a/hive/handlers/ec2/vpc/service_impl.go +++ b/spinifex/handlers/ec2/vpc/service_impl.go @@ -11,9 +11,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/service_impl_test.go b/spinifex/handlers/ec2/vpc/service_impl_test.go similarity index 99% rename from hive/handlers/ec2/vpc/service_impl_test.go rename to spinifex/handlers/ec2/vpc/service_impl_test.go index 69e94ec89..856352ee6 100644 --- a/hive/handlers/ec2/vpc/service_impl_test.go +++ b/spinifex/handlers/ec2/vpc/service_impl_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/spinifex/config" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/ec2/vpc/service_nats.go b/spinifex/handlers/ec2/vpc/service_nats.go similarity index 98% rename from hive/handlers/ec2/vpc/service_nats.go rename to spinifex/handlers/ec2/vpc/service_nats.go index d5da39701..fa3525a9e 100644 --- a/hive/handlers/ec2/vpc/service_nats.go +++ b/spinifex/handlers/ec2/vpc/service_nats.go @@ -4,7 +4,7 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/ec2/vpc/service_nats_test.go b/spinifex/handlers/ec2/vpc/service_nats_test.go similarity index 100% rename from hive/handlers/ec2/vpc/service_nats_test.go rename to spinifex/handlers/ec2/vpc/service_nats_test.go diff --git a/hive/handlers/iam/account_test.go b/spinifex/handlers/iam/account_test.go similarity index 99% rename from hive/handlers/iam/account_test.go rename to spinifex/handlers/iam/account_test.go index 096f23716..a9b226d8f 100644 --- a/hive/handlers/iam/account_test.go +++ b/spinifex/handlers/iam/account_test.go @@ -7,7 +7,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/iam/crypto.go b/spinifex/handlers/iam/crypto.go similarity index 100% rename from hive/handlers/iam/crypto.go rename to spinifex/handlers/iam/crypto.go diff --git a/hive/handlers/iam/crypto_test.go b/spinifex/handlers/iam/crypto_test.go similarity index 100% rename from hive/handlers/iam/crypto_test.go rename to spinifex/handlers/iam/crypto_test.go diff --git a/hive/handlers/iam/service.go b/spinifex/handlers/iam/service.go similarity index 100% rename from hive/handlers/iam/service.go rename to spinifex/handlers/iam/service.go diff --git a/hive/handlers/iam/service_impl.go b/spinifex/handlers/iam/service_impl.go similarity index 99% rename from hive/handlers/iam/service_impl.go rename to spinifex/handlers/iam/service_impl.go index 161e07563..e3c0fcf77 100644 --- a/hive/handlers/iam/service_impl.go +++ b/spinifex/handlers/iam/service_impl.go @@ -14,9 +14,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/admin" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/admin" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/handlers/iam/service_impl_test.go b/spinifex/handlers/iam/service_impl_test.go similarity index 99% rename from hive/handlers/iam/service_impl_test.go rename to spinifex/handlers/iam/service_impl_test.go index e9a1bb023..6c163449c 100644 --- a/hive/handlers/iam/service_impl_test.go +++ b/spinifex/handlers/iam/service_impl_test.go @@ -10,9 +10,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/iam" - "github.com/mulgadc/spinifex/hive/admin" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/admin" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" "github.com/stretchr/testify/assert" diff --git a/hive/handlers/iam/types.go b/spinifex/handlers/iam/types.go similarity index 100% rename from hive/handlers/iam/types.go rename to spinifex/handlers/iam/types.go diff --git a/hive/handlers/iam/types_test.go b/spinifex/handlers/iam/types_test.go similarity index 100% rename from hive/handlers/iam/types_test.go rename to spinifex/handlers/iam/types_test.go diff --git a/hive/instancetypes/definitions.go b/spinifex/instancetypes/definitions.go similarity index 100% rename from hive/instancetypes/definitions.go rename to spinifex/instancetypes/definitions.go diff --git a/hive/instancetypes/detect.go b/spinifex/instancetypes/detect.go similarity index 100% rename from hive/instancetypes/detect.go rename to spinifex/instancetypes/detect.go diff --git a/hive/instancetypes/detect_test.go b/spinifex/instancetypes/detect_test.go similarity index 100% rename from hive/instancetypes/detect_test.go rename to spinifex/instancetypes/detect_test.go diff --git a/hive/instancetypes/generate.go b/spinifex/instancetypes/generate.go similarity index 100% rename from hive/instancetypes/generate.go rename to spinifex/instancetypes/generate.go diff --git a/hive/instancetypes/generate_test.go b/spinifex/instancetypes/generate_test.go similarity index 100% rename from hive/instancetypes/generate_test.go rename to spinifex/instancetypes/generate_test.go diff --git a/hive/nbd/nbd.go b/spinifex/nbd/nbd.go similarity index 100% rename from hive/nbd/nbd.go rename to spinifex/nbd/nbd.go diff --git a/hive/nbd/nbd_test.go b/spinifex/nbd/nbd_test.go similarity index 100% rename from hive/nbd/nbd_test.go rename to spinifex/nbd/nbd_test.go diff --git a/hive/objectstore/objectstore.go b/spinifex/objectstore/objectstore.go similarity index 100% rename from hive/objectstore/objectstore.go rename to spinifex/objectstore/objectstore.go diff --git a/hive/objectstore/objectstore_test.go b/spinifex/objectstore/objectstore_test.go similarity index 100% rename from hive/objectstore/objectstore_test.go rename to spinifex/objectstore/objectstore_test.go diff --git a/hive/qmp/qmp.go b/spinifex/qmp/qmp.go similarity index 100% rename from hive/qmp/qmp.go rename to spinifex/qmp/qmp.go diff --git a/hive/service/service.go b/spinifex/service/service.go similarity index 51% rename from hive/service/service.go rename to spinifex/service/service.go index 549b9f857..28169b5fa 100644 --- a/hive/service/service.go +++ b/spinifex/service/service.go @@ -3,13 +3,13 @@ package service import ( "fmt" - "github.com/mulgadc/spinifex/hive/services/awsgw" - "github.com/mulgadc/spinifex/hive/services/hive" - "github.com/mulgadc/spinifex/hive/services/hiveui" - "github.com/mulgadc/spinifex/hive/services/nats" - "github.com/mulgadc/spinifex/hive/services/predastore" - "github.com/mulgadc/spinifex/hive/services/viperblockd" - "github.com/mulgadc/spinifex/hive/services/vpcd" + "github.com/mulgadc/spinifex/spinifex/services/awsgw" + "github.com/mulgadc/spinifex/spinifex/services/spinifex" + "github.com/mulgadc/spinifex/spinifex/services/spinifexui" + "github.com/mulgadc/spinifex/spinifex/services/nats" + "github.com/mulgadc/spinifex/spinifex/services/predastore" + "github.com/mulgadc/spinifex/spinifex/services/viperblockd" + "github.com/mulgadc/spinifex/spinifex/services/vpcd" ) type Service interface { @@ -32,14 +32,14 @@ func New(btype string, config any) (Service, error) { case "viperblock": return viperblockd.New(config) - case "hive": - return hive.New(config) + case "spinifex": + return spinifex.New(config) case "awsgw": return awsgw.New(config) - case "hive-ui": - return hiveui.New(config) + case "spinifex-ui": + return spinifexui.New(config) case "vpcd": return vpcd.New(config) diff --git a/hive/service/service_test.go b/spinifex/service/service_test.go similarity index 80% rename from hive/service/service_test.go rename to spinifex/service/service_test.go index 938ce348d..732da6af5 100644 --- a/hive/service/service_test.go +++ b/spinifex/service/service_test.go @@ -3,10 +3,10 @@ package service import ( "testing" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/services/nats" - "github.com/mulgadc/spinifex/hive/services/predastore" - "github.com/mulgadc/spinifex/hive/services/viperblockd" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/services/nats" + "github.com/mulgadc/spinifex/spinifex/services/predastore" + "github.com/mulgadc/spinifex/spinifex/services/viperblockd" "github.com/stretchr/testify/assert" ) diff --git a/hive/services/awsgw/awsgw.go b/spinifex/services/awsgw/awsgw.go similarity index 96% rename from hive/services/awsgw/awsgw.go rename to spinifex/services/awsgw/awsgw.go index 1d6961cce..a63da7b30 100644 --- a/hive/services/awsgw/awsgw.go +++ b/spinifex/services/awsgw/awsgw.go @@ -10,10 +10,10 @@ import ( "strings" "time" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/gateway" - handlers_iam "github.com/mulgadc/spinifex/hive/handlers/iam" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/gateway" + handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) diff --git a/hive/services/nats/nats.go b/spinifex/services/nats/nats.go similarity index 98% rename from hive/services/nats/nats.go rename to spinifex/services/nats/nats.go index 828b1c6e4..04c79551e 100644 --- a/hive/services/nats/nats.go +++ b/spinifex/services/nats/nats.go @@ -5,7 +5,7 @@ import ( "log/slog" "os" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" ) diff --git a/hive/services/predastore/predastore.go b/spinifex/services/predastore/predastore.go similarity index 98% rename from hive/services/predastore/predastore.go rename to spinifex/services/predastore/predastore.go index a86cf88c5..ba741a1dd 100644 --- a/hive/services/predastore/predastore.go +++ b/spinifex/services/predastore/predastore.go @@ -9,7 +9,7 @@ import ( "syscall" "time" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/predastore/s3" // Import backends to trigger their init() registration diff --git a/hive/services/predastore/predastore_integration_test.go b/spinifex/services/predastore/predastore_integration_test.go similarity index 100% rename from hive/services/predastore/predastore_integration_test.go rename to spinifex/services/predastore/predastore_integration_test.go diff --git a/hive/services/predastore/predastore_test.go b/spinifex/services/predastore/predastore_test.go similarity index 100% rename from hive/services/predastore/predastore_test.go rename to spinifex/services/predastore/predastore_test.go diff --git a/hive/services/hive/hive.go b/spinifex/services/spinifex/spinifex.go similarity index 89% rename from hive/services/hive/hive.go rename to spinifex/services/spinifex/spinifex.go index e0fa87cd0..0a9b59e29 100644 --- a/hive/services/hive/hive.go +++ b/spinifex/services/spinifex/spinifex.go @@ -1,13 +1,13 @@ -package hive +package spinifex import ( "fmt" "log/slog" "os" - "github.com/mulgadc/spinifex/hive/config" - "github.com/mulgadc/spinifex/hive/daemon" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/config" + "github.com/mulgadc/spinifex/spinifex/daemon" + "github.com/mulgadc/spinifex/spinifex/utils" ) var serviceName = "hive" diff --git a/hive/services/hiveui/README.md b/spinifex/services/spinifexui/README.md similarity index 100% rename from hive/services/hiveui/README.md rename to spinifex/services/spinifexui/README.md diff --git a/hive/services/hiveui/frontend/.gitignore b/spinifex/services/spinifexui/frontend/.gitignore similarity index 100% rename from hive/services/hiveui/frontend/.gitignore rename to spinifex/services/spinifexui/frontend/.gitignore diff --git a/hive/services/hiveui/frontend/.npmrc b/spinifex/services/spinifexui/frontend/.npmrc similarity index 100% rename from hive/services/hiveui/frontend/.npmrc rename to spinifex/services/spinifexui/frontend/.npmrc diff --git a/hive/services/hiveui/frontend/.nvmrc b/spinifex/services/spinifexui/frontend/.nvmrc similarity index 100% rename from hive/services/hiveui/frontend/.nvmrc rename to spinifex/services/spinifexui/frontend/.nvmrc diff --git a/hive/services/hiveui/frontend/.oxfmtrc.jsonc b/spinifex/services/spinifexui/frontend/.oxfmtrc.jsonc similarity index 100% rename from hive/services/hiveui/frontend/.oxfmtrc.jsonc rename to spinifex/services/spinifexui/frontend/.oxfmtrc.jsonc diff --git a/hive/services/hiveui/frontend/.oxlintrc.json b/spinifex/services/spinifexui/frontend/.oxlintrc.json similarity index 100% rename from hive/services/hiveui/frontend/.oxlintrc.json rename to spinifex/services/spinifexui/frontend/.oxlintrc.json diff --git a/hive/services/hiveui/frontend/components.json b/spinifex/services/spinifexui/frontend/components.json similarity index 100% rename from hive/services/hiveui/frontend/components.json rename to spinifex/services/spinifexui/frontend/components.json diff --git a/hive/services/hiveui/frontend/dist/assets/DescribeInstancesCommand.js b/spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/DescribeInstancesCommand.js rename to spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js diff --git a/hive/services/hiveui/frontend/dist/assets/QueryClientProvider.js b/spinifex/services/spinifexui/frontend/dist/assets/QueryClientProvider.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/QueryClientProvider.js rename to spinifex/services/spinifexui/frontend/dist/assets/QueryClientProvider.js diff --git a/hive/services/hiveui/frontend/dist/assets/_.js b/spinifex/services/spinifexui/frontend/dist/assets/_.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_.js rename to spinifex/services/spinifexui/frontend/dist/assets/_.js diff --git a/hive/services/hiveui/frontend/dist/assets/_auth.js b/spinifex/services/spinifexui/frontend/dist/assets/_auth.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_auth.js rename to spinifex/services/spinifexui/frontend/dist/assets/_auth.js diff --git a/hive/services/hiveui/frontend/dist/assets/_bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_bucket.js rename to spinifex/services/spinifexui/frontend/dist/assets/_bucket.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id.js b/spinifex/services/spinifexui/frontend/dist/assets/_id.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id2.js b/spinifex/services/spinifexui/frontend/dist/assets/_id2.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id2.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id2.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id3.js b/spinifex/services/spinifexui/frontend/dist/assets/_id3.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id3.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id3.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id4.js b/spinifex/services/spinifexui/frontend/dist/assets/_id4.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id4.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id4.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id5.js b/spinifex/services/spinifexui/frontend/dist/assets/_id5.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id5.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id5.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id6.js b/spinifex/services/spinifexui/frontend/dist/assets/_id6.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id6.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id6.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id7.js b/spinifex/services/spinifexui/frontend/dist/assets/_id7.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id7.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id7.js diff --git a/hive/services/hiveui/frontend/dist/assets/_id8.js b/spinifex/services/spinifexui/frontend/dist/assets/_id8.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_id8.js rename to spinifex/services/spinifexui/frontend/dist/assets/_id8.js diff --git a/hive/services/hiveui/frontend/dist/assets/_policyArn.js b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_policyArn.js rename to spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js diff --git a/hive/services/hiveui/frontend/dist/assets/_userName.js b/spinifex/services/spinifexui/frontend/dist/assets/_userName.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/_userName.js rename to spinifex/services/spinifexui/frontend/dist/assets/_userName.js diff --git a/hive/services/hiveui/frontend/dist/assets/alert-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/alert-dialog.js rename to spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js diff --git a/hive/services/hiveui/frontend/dist/assets/ami-details.js b/spinifex/services/spinifexui/frontend/dist/assets/ami-details.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/ami-details.js rename to spinifex/services/spinifexui/frontend/dist/assets/ami-details.js diff --git a/hive/services/hiveui/frontend/dist/assets/awsClient.js b/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/awsClient.js rename to spinifex/services/spinifexui/frontend/dist/assets/awsClient.js diff --git a/hive/services/hiveui/frontend/dist/assets/back-link.js b/spinifex/services/spinifexui/frontend/dist/assets/back-link.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/back-link.js rename to spinifex/services/spinifexui/frontend/dist/assets/back-link.js diff --git a/hive/services/hiveui/frontend/dist/assets/button.js b/spinifex/services/spinifexui/frontend/dist/assets/button.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/button.js rename to spinifex/services/spinifexui/frontend/dist/assets/button.js diff --git a/hive/services/hiveui/frontend/dist/assets/check.js b/spinifex/services/spinifexui/frontend/dist/assets/check.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/check.js rename to spinifex/services/spinifexui/frontend/dist/assets/check.js diff --git a/hive/services/hiveui/frontend/dist/assets/compiler-runtime.js b/spinifex/services/spinifexui/frontend/dist/assets/compiler-runtime.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/compiler-runtime.js rename to spinifex/services/spinifexui/frontend/dist/assets/compiler-runtime.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-bucket.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-key-pair.js b/spinifex/services/spinifexui/frontend/dist/assets/create-key-pair.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-key-pair.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-key-pair.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-policy.js b/spinifex/services/spinifexui/frontend/dist/assets/create-policy.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-policy.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-policy.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-snapshot.js b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-snapshot.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-subnet.js b/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-subnet.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-user.js b/spinifex/services/spinifexui/frontend/dist/assets/create-user.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-user.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-user.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-volume.js b/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-volume.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-volume.js diff --git a/hive/services/hiveui/frontend/dist/assets/create-vpc.js b/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/create-vpc.js rename to spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js diff --git a/hive/services/hiveui/frontend/dist/assets/createBaseUIEventDetails.js b/spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/createBaseUIEventDetails.js rename to spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js diff --git a/hive/services/hiveui/frontend/dist/assets/createLucideIcon.js b/spinifex/services/spinifexui/frontend/dist/assets/createLucideIcon.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/createLucideIcon.js rename to spinifex/services/spinifexui/frontend/dist/assets/createLucideIcon.js diff --git a/hive/services/hiveui/frontend/dist/assets/delete-confirmation-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/delete-confirmation-dialog.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/delete-confirmation-dialog.js rename to spinifex/services/spinifexui/frontend/dist/assets/delete-confirmation-dialog.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-images.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-images.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-images.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-instances.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-instances.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-instances.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-instances.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-key-pairs.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-key-pairs.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-key-pairs.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-key-pairs.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-snapshots.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-snapshots.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-snapshots.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-snapshots.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-subnets.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-subnets.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-volumes.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-volumes.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-volumes.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-volumes.js diff --git a/hive/services/hiveui/frontend/dist/assets/describe-vpcs.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/describe-vpcs.js rename to spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js diff --git a/hive/services/hiveui/frontend/dist/assets/detail-row.js b/spinifex/services/spinifexui/frontend/dist/assets/detail-row.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/detail-row.js rename to spinifex/services/spinifexui/frontend/dist/assets/detail-row.js diff --git a/hive/services/hiveui/frontend/dist/assets/download.js b/spinifex/services/spinifexui/frontend/dist/assets/download.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/download.js rename to spinifex/services/spinifexui/frontend/dist/assets/download.js diff --git a/hive/services/hiveui/frontend/dist/assets/ec2.js b/spinifex/services/spinifexui/frontend/dist/assets/ec2.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/ec2.js rename to spinifex/services/spinifexui/frontend/dist/assets/ec2.js diff --git a/hive/services/hiveui/frontend/dist/assets/ec22.js b/spinifex/services/spinifexui/frontend/dist/assets/ec22.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/ec22.js rename to spinifex/services/spinifexui/frontend/dist/assets/ec22.js diff --git a/hive/services/hiveui/frontend/dist/assets/ec23.js b/spinifex/services/spinifexui/frontend/dist/assets/ec23.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/ec23.js rename to spinifex/services/spinifexui/frontend/dist/assets/ec23.js diff --git a/hive/services/hiveui/frontend/dist/assets/error-banner.js b/spinifex/services/spinifexui/frontend/dist/assets/error-banner.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/error-banner.js rename to spinifex/services/spinifexui/frontend/dist/assets/error-banner.js diff --git a/hive/services/hiveui/frontend/dist/assets/event-streams.js b/spinifex/services/spinifexui/frontend/dist/assets/event-streams.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/event-streams.js rename to spinifex/services/spinifexui/frontend/dist/assets/event-streams.js diff --git a/hive/services/hiveui/frontend/dist/assets/field.js b/spinifex/services/spinifexui/frontend/dist/assets/field.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/field.js rename to spinifex/services/spinifexui/frontend/dist/assets/field.js diff --git a/hive/services/hiveui/frontend/dist/assets/form-actions.js b/spinifex/services/spinifexui/frontend/dist/assets/form-actions.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/form-actions.js rename to spinifex/services/spinifexui/frontend/dist/assets/form-actions.js diff --git a/hive/services/hiveui/frontend/dist/assets/geist-cyrillic-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/geist-cyrillic-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/geist-cyrillic-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/geist-cyrillic-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/geist-latin-ext-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/geist-latin-ext-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/geist-latin-ext-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/geist-latin-ext-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/geist-latin-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/geist-latin-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/geist-latin-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/geist-latin-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/iam.js b/spinifex/services/spinifexui/frontend/dist/assets/iam.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/iam.js rename to spinifex/services/spinifexui/frontend/dist/assets/iam.js diff --git a/hive/services/hiveui/frontend/dist/assets/iam2.js b/spinifex/services/spinifexui/frontend/dist/assets/iam2.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/iam2.js rename to spinifex/services/spinifexui/frontend/dist/assets/iam2.js diff --git a/hive/services/hiveui/frontend/dist/assets/iam3.js b/spinifex/services/spinifexui/frontend/dist/assets/iam3.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/iam3.js rename to spinifex/services/spinifexui/frontend/dist/assets/iam3.js diff --git a/hive/services/hiveui/frontend/dist/assets/import-key-pair.js b/spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/import-key-pair.js rename to spinifex/services/spinifexui/frontend/dist/assets/import-key-pair.js diff --git a/hive/services/hiveui/frontend/dist/assets/index.css b/spinifex/services/spinifexui/frontend/dist/assets/index.css similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/index.css rename to spinifex/services/spinifexui/frontend/dist/assets/index.css diff --git a/hive/services/hiveui/frontend/dist/assets/index.js b/spinifex/services/spinifexui/frontend/dist/assets/index.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/index.js rename to spinifex/services/spinifexui/frontend/dist/assets/index.js diff --git a/hive/services/hiveui/frontend/dist/assets/jetbrains-mono-cyrillic-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-cyrillic-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/jetbrains-mono-cyrillic-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-cyrillic-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/jetbrains-mono-greek-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-greek-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/jetbrains-mono-greek-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-greek-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/jetbrains-mono-latin-ext-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-latin-ext-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/jetbrains-mono-latin-ext-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-latin-ext-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/jetbrains-mono-latin-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-latin-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/jetbrains-mono-latin-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-latin-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/jetbrains-mono-vietnamese-wght-normal.woff2 b/spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-vietnamese-wght-normal.woff2 similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/jetbrains-mono-vietnamese-wght-normal.woff2 rename to spinifex/services/spinifexui/frontend/dist/assets/jetbrains-mono-vietnamese-wght-normal.woff2 diff --git a/hive/services/hiveui/frontend/dist/assets/lazyRouteComponent.js b/spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/lazyRouteComponent.js rename to spinifex/services/spinifexui/frontend/dist/assets/lazyRouteComponent.js diff --git a/hive/services/hiveui/frontend/dist/assets/link.js b/spinifex/services/spinifexui/frontend/dist/assets/link.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/link.js rename to spinifex/services/spinifexui/frontend/dist/assets/link.js diff --git a/hive/services/hiveui/frontend/dist/assets/list-card.js b/spinifex/services/spinifexui/frontend/dist/assets/list-card.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/list-card.js rename to spinifex/services/spinifexui/frontend/dist/assets/list-card.js diff --git a/hive/services/hiveui/frontend/dist/assets/list-policies.js b/spinifex/services/spinifexui/frontend/dist/assets/list-policies.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/list-policies.js rename to spinifex/services/spinifexui/frontend/dist/assets/list-policies.js diff --git a/hive/services/hiveui/frontend/dist/assets/list-users.js b/spinifex/services/spinifexui/frontend/dist/assets/list-users.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/list-users.js rename to spinifex/services/spinifexui/frontend/dist/assets/list-users.js diff --git a/hive/services/hiveui/frontend/dist/assets/login.js b/spinifex/services/spinifexui/frontend/dist/assets/login.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/login.js rename to spinifex/services/spinifexui/frontend/dist/assets/login.js diff --git a/hive/services/hiveui/frontend/dist/assets/ls.js b/spinifex/services/spinifexui/frontend/dist/assets/ls.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/ls.js rename to spinifex/services/spinifexui/frontend/dist/assets/ls.js diff --git a/hive/services/hiveui/frontend/dist/assets/matchContext.js b/spinifex/services/spinifexui/frontend/dist/assets/matchContext.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/matchContext.js rename to spinifex/services/spinifexui/frontend/dist/assets/matchContext.js diff --git a/hive/services/hiveui/frontend/dist/assets/page-heading.js b/spinifex/services/spinifexui/frontend/dist/assets/page-heading.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/page-heading.js rename to spinifex/services/spinifexui/frontend/dist/assets/page-heading.js diff --git a/hive/services/hiveui/frontend/dist/assets/queryOptions.js b/spinifex/services/spinifexui/frontend/dist/assets/queryOptions.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/queryOptions.js rename to spinifex/services/spinifexui/frontend/dist/assets/queryOptions.js diff --git a/hive/services/hiveui/frontend/dist/assets/route.js b/spinifex/services/spinifexui/frontend/dist/assets/route.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/route.js rename to spinifex/services/spinifexui/frontend/dist/assets/route.js diff --git a/hive/services/hiveui/frontend/dist/assets/route2.js b/spinifex/services/spinifexui/frontend/dist/assets/route2.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/route2.js rename to spinifex/services/spinifexui/frontend/dist/assets/route2.js diff --git a/hive/services/hiveui/frontend/dist/assets/run-instances.js b/spinifex/services/spinifexui/frontend/dist/assets/run-instances.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/run-instances.js rename to spinifex/services/spinifexui/frontend/dist/assets/run-instances.js diff --git a/hive/services/hiveui/frontend/dist/assets/s3.js b/spinifex/services/spinifexui/frontend/dist/assets/s3.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/s3.js rename to spinifex/services/spinifexui/frontend/dist/assets/s3.js diff --git a/hive/services/hiveui/frontend/dist/assets/s32.js b/spinifex/services/spinifexui/frontend/dist/assets/s32.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/s32.js rename to spinifex/services/spinifexui/frontend/dist/assets/s32.js diff --git a/hive/services/hiveui/frontend/dist/assets/select.js b/spinifex/services/spinifexui/frontend/dist/assets/select.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/select.js rename to spinifex/services/spinifexui/frontend/dist/assets/select.js diff --git a/hive/services/hiveui/frontend/dist/assets/separator.js b/spinifex/services/spinifexui/frontend/dist/assets/separator.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/separator.js rename to spinifex/services/spinifexui/frontend/dist/assets/separator.js diff --git a/hive/services/hiveui/frontend/dist/assets/state-badge.js b/spinifex/services/spinifexui/frontend/dist/assets/state-badge.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/state-badge.js rename to spinifex/services/spinifexui/frontend/dist/assets/state-badge.js diff --git a/hive/services/hiveui/frontend/dist/assets/textarea.js b/spinifex/services/spinifexui/frontend/dist/assets/textarea.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/textarea.js rename to spinifex/services/spinifexui/frontend/dist/assets/textarea.js diff --git a/hive/services/hiveui/frontend/dist/assets/toUtf8.browser.js b/spinifex/services/spinifexui/frontend/dist/assets/toUtf8.browser.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/toUtf8.browser.js rename to spinifex/services/spinifexui/frontend/dist/assets/toUtf8.browser.js diff --git a/hive/services/hiveui/frontend/dist/assets/trash-2.js b/spinifex/services/spinifexui/frontend/dist/assets/trash-2.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/trash-2.js rename to spinifex/services/spinifexui/frontend/dist/assets/trash-2.js diff --git a/hive/services/hiveui/frontend/dist/assets/upload-button.js b/spinifex/services/spinifexui/frontend/dist/assets/upload-button.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/upload-button.js rename to spinifex/services/spinifexui/frontend/dist/assets/upload-button.js diff --git a/hive/services/hiveui/frontend/dist/assets/use-copy-to-clipboard.js b/spinifex/services/spinifexui/frontend/dist/assets/use-copy-to-clipboard.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/use-copy-to-clipboard.js rename to spinifex/services/spinifexui/frontend/dist/assets/use-copy-to-clipboard.js diff --git a/hive/services/hiveui/frontend/dist/assets/useNavigate.js b/spinifex/services/spinifexui/frontend/dist/assets/useNavigate.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/useNavigate.js rename to spinifex/services/spinifexui/frontend/dist/assets/useNavigate.js diff --git a/hive/services/hiveui/frontend/dist/assets/useOpenInteractionType.js b/spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/useOpenInteractionType.js rename to spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js diff --git a/hive/services/hiveui/frontend/dist/assets/useRouter.js b/spinifex/services/spinifexui/frontend/dist/assets/useRouter.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/useRouter.js rename to spinifex/services/spinifexui/frontend/dist/assets/useRouter.js diff --git a/hive/services/hiveui/frontend/dist/assets/useRouterState.js b/spinifex/services/spinifexui/frontend/dist/assets/useRouterState.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/useRouterState.js rename to spinifex/services/spinifexui/frontend/dist/assets/useRouterState.js diff --git a/hive/services/hiveui/frontend/dist/assets/useSuspenseQuery.js b/spinifex/services/spinifexui/frontend/dist/assets/useSuspenseQuery.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/useSuspenseQuery.js rename to spinifex/services/spinifexui/frontend/dist/assets/useSuspenseQuery.js diff --git a/hive/services/hiveui/frontend/dist/assets/utils.js b/spinifex/services/spinifexui/frontend/dist/assets/utils.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/utils.js rename to spinifex/services/spinifexui/frontend/dist/assets/utils.js diff --git a/hive/services/hiveui/frontend/dist/assets/zod.js b/spinifex/services/spinifexui/frontend/dist/assets/zod.js similarity index 100% rename from hive/services/hiveui/frontend/dist/assets/zod.js rename to spinifex/services/spinifexui/frontend/dist/assets/zod.js diff --git a/hive/services/hiveui/frontend/dist/favicon.ico b/spinifex/services/spinifexui/frontend/dist/favicon.ico similarity index 100% rename from hive/services/hiveui/frontend/dist/favicon.ico rename to spinifex/services/spinifexui/frontend/dist/favicon.ico diff --git a/hive/services/hiveui/frontend/dist/index.html b/spinifex/services/spinifexui/frontend/dist/index.html similarity index 100% rename from hive/services/hiveui/frontend/dist/index.html rename to spinifex/services/spinifexui/frontend/dist/index.html diff --git a/hive/services/hiveui/frontend/dist/mulga-logo.svg b/spinifex/services/spinifexui/frontend/dist/mulga-logo.svg similarity index 100% rename from hive/services/hiveui/frontend/dist/mulga-logo.svg rename to spinifex/services/spinifexui/frontend/dist/mulga-logo.svg diff --git a/hive/services/hiveui/frontend/dist/robots.txt b/spinifex/services/spinifexui/frontend/dist/robots.txt similarity index 100% rename from hive/services/hiveui/frontend/dist/robots.txt rename to spinifex/services/spinifexui/frontend/dist/robots.txt diff --git a/hive/services/hiveui/frontend/index.html b/spinifex/services/spinifexui/frontend/index.html similarity index 100% rename from hive/services/hiveui/frontend/index.html rename to spinifex/services/spinifexui/frontend/index.html diff --git a/hive/services/hiveui/frontend/package.json b/spinifex/services/spinifexui/frontend/package.json similarity index 100% rename from hive/services/hiveui/frontend/package.json rename to spinifex/services/spinifexui/frontend/package.json diff --git a/hive/services/hiveui/frontend/pnpm-lock.yaml b/spinifex/services/spinifexui/frontend/pnpm-lock.yaml similarity index 100% rename from hive/services/hiveui/frontend/pnpm-lock.yaml rename to spinifex/services/spinifexui/frontend/pnpm-lock.yaml diff --git a/hive/services/hiveui/frontend/public/favicon.ico b/spinifex/services/spinifexui/frontend/public/favicon.ico similarity index 100% rename from hive/services/hiveui/frontend/public/favicon.ico rename to spinifex/services/spinifexui/frontend/public/favicon.ico diff --git a/hive/services/hiveui/frontend/public/mulga-logo.svg b/spinifex/services/spinifexui/frontend/public/mulga-logo.svg similarity index 100% rename from hive/services/hiveui/frontend/public/mulga-logo.svg rename to spinifex/services/spinifexui/frontend/public/mulga-logo.svg diff --git a/hive/services/hiveui/frontend/public/robots.txt b/spinifex/services/spinifexui/frontend/public/robots.txt similarity index 100% rename from hive/services/hiveui/frontend/public/robots.txt rename to spinifex/services/spinifexui/frontend/public/robots.txt diff --git a/hive/services/hiveui/frontend/src/components/back-link.tsx b/spinifex/services/spinifexui/frontend/src/components/back-link.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/back-link.tsx rename to spinifex/services/spinifexui/frontend/src/components/back-link.tsx diff --git a/hive/services/hiveui/frontend/src/components/delete-confirmation-dialog.tsx b/spinifex/services/spinifexui/frontend/src/components/delete-confirmation-dialog.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/delete-confirmation-dialog.tsx rename to spinifex/services/spinifexui/frontend/src/components/delete-confirmation-dialog.tsx diff --git a/hive/services/hiveui/frontend/src/components/detail-card.test.tsx b/spinifex/services/spinifexui/frontend/src/components/detail-card.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/detail-card.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/detail-card.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/detail-card.tsx b/spinifex/services/spinifexui/frontend/src/components/detail-card.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/detail-card.tsx rename to spinifex/services/spinifexui/frontend/src/components/detail-card.tsx diff --git a/hive/services/hiveui/frontend/src/components/detail-row.test.tsx b/spinifex/services/spinifexui/frontend/src/components/detail-row.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/detail-row.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/detail-row.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/detail-row.tsx b/spinifex/services/spinifexui/frontend/src/components/detail-row.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/detail-row.tsx rename to spinifex/services/spinifexui/frontend/src/components/detail-row.tsx diff --git a/hive/services/hiveui/frontend/src/components/error-banner.test.tsx b/spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/error-banner.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/error-banner.tsx b/spinifex/services/spinifexui/frontend/src/components/error-banner.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/error-banner.tsx rename to spinifex/services/spinifexui/frontend/src/components/error-banner.tsx diff --git a/hive/services/hiveui/frontend/src/components/form-actions.test.tsx b/spinifex/services/spinifexui/frontend/src/components/form-actions.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/form-actions.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/form-actions.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/form-actions.tsx b/spinifex/services/spinifexui/frontend/src/components/form-actions.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/form-actions.tsx rename to spinifex/services/spinifexui/frontend/src/components/form-actions.tsx diff --git a/hive/services/hiveui/frontend/src/components/header.tsx b/spinifex/services/spinifexui/frontend/src/components/header.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/header.tsx rename to spinifex/services/spinifexui/frontend/src/components/header.tsx diff --git a/hive/services/hiveui/frontend/src/components/list-card.tsx b/spinifex/services/spinifexui/frontend/src/components/list-card.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/list-card.tsx rename to spinifex/services/spinifexui/frontend/src/components/list-card.tsx diff --git a/hive/services/hiveui/frontend/src/components/not-found.tsx b/spinifex/services/spinifexui/frontend/src/components/not-found.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/not-found.tsx rename to spinifex/services/spinifexui/frontend/src/components/not-found.tsx diff --git a/hive/services/hiveui/frontend/src/components/page-heading.test.tsx b/spinifex/services/spinifexui/frontend/src/components/page-heading.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/page-heading.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/page-heading.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/page-heading.tsx b/spinifex/services/spinifexui/frontend/src/components/page-heading.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/page-heading.tsx rename to spinifex/services/spinifexui/frontend/src/components/page-heading.tsx diff --git a/hive/services/hiveui/frontend/src/components/state-badge.test.tsx b/spinifex/services/spinifexui/frontend/src/components/state-badge.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/state-badge.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/state-badge.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/state-badge.tsx b/spinifex/services/spinifexui/frontend/src/components/state-badge.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/state-badge.tsx rename to spinifex/services/spinifexui/frontend/src/components/state-badge.tsx diff --git a/hive/services/hiveui/frontend/src/components/theme-provider.test.tsx b/spinifex/services/spinifexui/frontend/src/components/theme-provider.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/theme-provider.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/theme-provider.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/theme-provider.tsx b/spinifex/services/spinifexui/frontend/src/components/theme-provider.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/theme-provider.tsx rename to spinifex/services/spinifexui/frontend/src/components/theme-provider.tsx diff --git a/hive/services/hiveui/frontend/src/components/theme-switch.test.tsx b/spinifex/services/spinifexui/frontend/src/components/theme-switch.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/theme-switch.test.tsx rename to spinifex/services/spinifexui/frontend/src/components/theme-switch.test.tsx diff --git a/hive/services/hiveui/frontend/src/components/theme-switch.tsx b/spinifex/services/spinifexui/frontend/src/components/theme-switch.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/theme-switch.tsx rename to spinifex/services/spinifexui/frontend/src/components/theme-switch.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/alert-dialog.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/alert-dialog.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/alert-dialog.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/alert-dialog.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/avatar.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/avatar.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/avatar.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/avatar.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/badge.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/badge.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/badge.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/badge.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/button.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/button.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/button.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/button.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/card.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/card.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/card.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/card.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/collapsible.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/collapsible.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/collapsible.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/collapsible.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/combobox.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/combobox.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/combobox.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/combobox.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/dropdown-menu.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/dropdown-menu.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/dropdown-menu.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/dropdown-menu.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/field.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/field.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/field.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/field.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/input-group.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/input-group.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/input-group.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/input-group.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/input.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/input.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/input.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/input.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/label.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/label.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/label.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/label.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/select.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/select.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/select.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/select.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/separator.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/separator.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/separator.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/separator.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/sheet.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/sheet.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/sheet.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/sheet.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/sidebar.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/sidebar.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/sidebar.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/sidebar.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/skeleton.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/skeleton.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/skeleton.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/skeleton.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/textarea.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/textarea.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/textarea.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/textarea.tsx diff --git a/hive/services/hiveui/frontend/src/components/ui/tooltip.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/tooltip.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/components/ui/tooltip.tsx rename to spinifex/services/spinifexui/frontend/src/components/ui/tooltip.tsx diff --git a/hive/services/hiveui/frontend/src/hooks/use-copy-to-clipboard.test.tsx b/spinifex/services/spinifexui/frontend/src/hooks/use-copy-to-clipboard.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/hooks/use-copy-to-clipboard.test.tsx rename to spinifex/services/spinifexui/frontend/src/hooks/use-copy-to-clipboard.test.tsx diff --git a/hive/services/hiveui/frontend/src/hooks/use-copy-to-clipboard.tsx b/spinifex/services/spinifexui/frontend/src/hooks/use-copy-to-clipboard.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/hooks/use-copy-to-clipboard.tsx rename to spinifex/services/spinifexui/frontend/src/hooks/use-copy-to-clipboard.tsx diff --git a/hive/services/hiveui/frontend/src/hooks/use-initial-sidebar.tsx b/spinifex/services/spinifexui/frontend/src/hooks/use-initial-sidebar.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/hooks/use-initial-sidebar.tsx rename to spinifex/services/spinifexui/frontend/src/hooks/use-initial-sidebar.tsx diff --git a/hive/services/hiveui/frontend/src/hooks/use-mobile.test.tsx b/spinifex/services/spinifexui/frontend/src/hooks/use-mobile.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/hooks/use-mobile.test.tsx rename to spinifex/services/spinifexui/frontend/src/hooks/use-mobile.test.tsx diff --git a/hive/services/hiveui/frontend/src/hooks/use-mobile.tsx b/spinifex/services/spinifexui/frontend/src/hooks/use-mobile.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/hooks/use-mobile.tsx rename to spinifex/services/spinifexui/frontend/src/hooks/use-mobile.tsx diff --git a/hive/services/hiveui/frontend/src/layouts/error-boundary.tsx b/spinifex/services/spinifexui/frontend/src/layouts/error-boundary.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/layouts/error-boundary.tsx rename to spinifex/services/spinifexui/frontend/src/layouts/error-boundary.tsx diff --git a/hive/services/hiveui/frontend/src/layouts/sidebar-layout.tsx b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/layouts/sidebar-layout.tsx rename to spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx diff --git a/hive/services/hiveui/frontend/src/lib/auth.test.ts b/spinifex/services/spinifexui/frontend/src/lib/auth.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/lib/auth.test.ts rename to spinifex/services/spinifexui/frontend/src/lib/auth.test.ts diff --git a/hive/services/hiveui/frontend/src/lib/auth.ts b/spinifex/services/spinifexui/frontend/src/lib/auth.ts similarity index 100% rename from hive/services/hiveui/frontend/src/lib/auth.ts rename to spinifex/services/spinifexui/frontend/src/lib/auth.ts diff --git a/hive/services/hiveui/frontend/src/lib/awsClient.ts b/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts similarity index 100% rename from hive/services/hiveui/frontend/src/lib/awsClient.ts rename to spinifex/services/spinifexui/frontend/src/lib/awsClient.ts diff --git a/hive/services/hiveui/frontend/src/lib/utils.test.ts b/spinifex/services/spinifexui/frontend/src/lib/utils.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/lib/utils.test.ts rename to spinifex/services/spinifexui/frontend/src/lib/utils.test.ts diff --git a/hive/services/hiveui/frontend/src/lib/utils.ts b/spinifex/services/spinifexui/frontend/src/lib/utils.ts similarity index 100% rename from hive/services/hiveui/frontend/src/lib/utils.ts rename to spinifex/services/spinifexui/frontend/src/lib/utils.ts diff --git a/hive/services/hiveui/frontend/src/main.tsx b/spinifex/services/spinifexui/frontend/src/main.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/main.tsx rename to spinifex/services/spinifexui/frontend/src/main.tsx diff --git a/hive/services/hiveui/frontend/src/mutations/ec2.test.tsx b/spinifex/services/spinifexui/frontend/src/mutations/ec2.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/ec2.test.tsx rename to spinifex/services/spinifexui/frontend/src/mutations/ec2.test.tsx diff --git a/hive/services/hiveui/frontend/src/mutations/ec2.ts b/spinifex/services/spinifexui/frontend/src/mutations/ec2.ts similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/ec2.ts rename to spinifex/services/spinifexui/frontend/src/mutations/ec2.ts diff --git a/hive/services/hiveui/frontend/src/mutations/iam.test.tsx b/spinifex/services/spinifexui/frontend/src/mutations/iam.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/iam.test.tsx rename to spinifex/services/spinifexui/frontend/src/mutations/iam.test.tsx diff --git a/hive/services/hiveui/frontend/src/mutations/iam.ts b/spinifex/services/spinifexui/frontend/src/mutations/iam.ts similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/iam.ts rename to spinifex/services/spinifexui/frontend/src/mutations/iam.ts diff --git a/hive/services/hiveui/frontend/src/mutations/s3.test.tsx b/spinifex/services/spinifexui/frontend/src/mutations/s3.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/s3.test.tsx rename to spinifex/services/spinifexui/frontend/src/mutations/s3.test.tsx diff --git a/hive/services/hiveui/frontend/src/mutations/s3.ts b/spinifex/services/spinifexui/frontend/src/mutations/s3.ts similarity index 100% rename from hive/services/hiveui/frontend/src/mutations/s3.ts rename to spinifex/services/spinifexui/frontend/src/mutations/s3.ts diff --git a/hive/services/hiveui/frontend/src/queries/ec2.test.ts b/spinifex/services/spinifexui/frontend/src/queries/ec2.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/ec2.test.ts rename to spinifex/services/spinifexui/frontend/src/queries/ec2.test.ts diff --git a/hive/services/hiveui/frontend/src/queries/ec2.ts b/spinifex/services/spinifexui/frontend/src/queries/ec2.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/ec2.ts rename to spinifex/services/spinifexui/frontend/src/queries/ec2.ts diff --git a/hive/services/hiveui/frontend/src/queries/iam.test.ts b/spinifex/services/spinifexui/frontend/src/queries/iam.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/iam.test.ts rename to spinifex/services/spinifexui/frontend/src/queries/iam.test.ts diff --git a/hive/services/hiveui/frontend/src/queries/iam.ts b/spinifex/services/spinifexui/frontend/src/queries/iam.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/iam.ts rename to spinifex/services/spinifexui/frontend/src/queries/iam.ts diff --git a/hive/services/hiveui/frontend/src/queries/s3.test.ts b/spinifex/services/spinifexui/frontend/src/queries/s3.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/s3.test.ts rename to spinifex/services/spinifexui/frontend/src/queries/s3.test.ts diff --git a/hive/services/hiveui/frontend/src/queries/s3.ts b/spinifex/services/spinifexui/frontend/src/queries/s3.ts similarity index 100% rename from hive/services/hiveui/frontend/src/queries/s3.ts rename to spinifex/services/spinifexui/frontend/src/queries/s3.ts diff --git a/hive/services/hiveui/frontend/src/routeTree.gen.ts b/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts similarity index 100% rename from hive/services/hiveui/frontend/src/routeTree.gen.ts rename to spinifex/services/spinifexui/frontend/src/routeTree.gen.ts diff --git a/hive/services/hiveui/frontend/src/routes/__root.tsx b/spinifex/services/spinifexui/frontend/src/routes/__root.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/__root.tsx rename to spinifex/services/spinifexui/frontend/src/routes/__root.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/describe-instances/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(instances)/run-instances.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/create-key-pair.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/describe-key-pairs/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/import-key-pair.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/import-key-pair.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(key)/import-key-pair.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(key)/import-key-pair.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/describe-snapshots/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/describe-subnets/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/describe-volumes/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/modify-volume/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/modify-volume/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(volumes)/modify-volume/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/modify-volume/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/$id.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/$id.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/$id.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/describe-vpcs/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/ami-details.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/ami-details.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/ami-details.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/ami-details.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/create-image-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/create-image-dialog.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/create-image-dialog.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/create-image-dialog.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/instance-actions.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/instance-actions.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/instance-actions.test.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/instance-actions.test.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/instance-actions.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/instance-actions.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/instance-actions.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/instance-actions.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/private-key-modal.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/private-key-modal.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/ec2/-components/private-key-modal.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/-components/private-key-modal.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/create-policy.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/create-policy.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/create-policy.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/create-policy.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/list-policies/$policyArn.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/list-policies/$policyArn.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/list-policies/$policyArn.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/list-policies/$policyArn.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/list-policies/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/list-policies/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(policies)/list-policies/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(policies)/list-policies/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/create-user.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/create-user.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/create-user.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/create-user.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/list-users/$userName.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/list-users/$userName.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/list-users/$userName.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/list-users/$userName.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/list-users/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/list-users/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/(users)/list-users/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/(users)/list-users/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/-components/access-key-modal.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/access-key-modal.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/-components/access-key-modal.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/access-key-modal.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.test.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.test.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.test.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/iam/-components/policy-document-viewer.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/route.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/route.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/route.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/route.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/-components/folder-list-item.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/folder-list-item.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/-components/folder-list-item.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/folder-list-item.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/-components/object-list-item.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/object-list-item.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/-components/object-list-item.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/object-list-item.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/-components/upload-button.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/upload-button.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/-components/upload-button.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/-components/upload-button.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/$.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/$.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/$.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/$.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/route.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/route.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/ls/$bucket/route.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/$bucket/route.tsx diff --git a/hive/services/hiveui/frontend/src/routes/_auth/s3/ls/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/index.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/_auth/s3/ls/index.tsx rename to spinifex/services/spinifexui/frontend/src/routes/_auth/s3/ls/index.tsx diff --git a/hive/services/hiveui/frontend/src/routes/login.tsx b/spinifex/services/spinifexui/frontend/src/routes/login.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/routes/login.tsx rename to spinifex/services/spinifexui/frontend/src/routes/login.tsx diff --git a/hive/services/hiveui/frontend/src/styles.css b/spinifex/services/spinifexui/frontend/src/styles.css similarity index 100% rename from hive/services/hiveui/frontend/src/styles.css rename to spinifex/services/spinifexui/frontend/src/styles.css diff --git a/hive/services/hiveui/frontend/src/test/setup.ts b/spinifex/services/spinifexui/frontend/src/test/setup.ts similarity index 100% rename from hive/services/hiveui/frontend/src/test/setup.ts rename to spinifex/services/spinifexui/frontend/src/test/setup.ts diff --git a/hive/services/hiveui/frontend/src/test/utils.tsx b/spinifex/services/spinifexui/frontend/src/test/utils.tsx similarity index 100% rename from hive/services/hiveui/frontend/src/test/utils.tsx rename to spinifex/services/spinifexui/frontend/src/test/utils.tsx diff --git a/hive/services/hiveui/frontend/src/types/ec2.test.ts b/spinifex/services/spinifexui/frontend/src/types/ec2.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/ec2.test.ts rename to spinifex/services/spinifexui/frontend/src/types/ec2.test.ts diff --git a/hive/services/hiveui/frontend/src/types/ec2.ts b/spinifex/services/spinifexui/frontend/src/types/ec2.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/ec2.ts rename to spinifex/services/spinifexui/frontend/src/types/ec2.ts diff --git a/hive/services/hiveui/frontend/src/types/iam.test.ts b/spinifex/services/spinifexui/frontend/src/types/iam.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/iam.test.ts rename to spinifex/services/spinifexui/frontend/src/types/iam.test.ts diff --git a/hive/services/hiveui/frontend/src/types/iam.ts b/spinifex/services/spinifexui/frontend/src/types/iam.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/iam.ts rename to spinifex/services/spinifexui/frontend/src/types/iam.ts diff --git a/hive/services/hiveui/frontend/src/types/s3.test.ts b/spinifex/services/spinifexui/frontend/src/types/s3.test.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/s3.test.ts rename to spinifex/services/spinifexui/frontend/src/types/s3.test.ts diff --git a/hive/services/hiveui/frontend/src/types/s3.ts b/spinifex/services/spinifexui/frontend/src/types/s3.ts similarity index 100% rename from hive/services/hiveui/frontend/src/types/s3.ts rename to spinifex/services/spinifexui/frontend/src/types/s3.ts diff --git a/hive/services/hiveui/frontend/tsconfig.json b/spinifex/services/spinifexui/frontend/tsconfig.json similarity index 100% rename from hive/services/hiveui/frontend/tsconfig.json rename to spinifex/services/spinifexui/frontend/tsconfig.json diff --git a/hive/services/hiveui/frontend/vite.config.ts b/spinifex/services/spinifexui/frontend/vite.config.ts similarity index 100% rename from hive/services/hiveui/frontend/vite.config.ts rename to spinifex/services/spinifexui/frontend/vite.config.ts diff --git a/hive/services/hiveui/hiveui.go b/spinifex/services/spinifexui/spinifexui.go similarity index 99% rename from hive/services/hiveui/hiveui.go rename to spinifex/services/spinifexui/spinifexui.go index b607599e5..471f237f7 100644 --- a/hive/services/hiveui/hiveui.go +++ b/spinifex/services/spinifexui/spinifexui.go @@ -1,4 +1,4 @@ -package hiveui +package spinifexui import ( "bufio" @@ -21,7 +21,7 @@ import ( "syscall" "time" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" ) var serviceName = "hive-ui" diff --git a/hive/services/hiveui/hiveui_test.go b/spinifex/services/spinifexui/spinifexui_test.go similarity index 99% rename from hive/services/hiveui/hiveui_test.go rename to spinifex/services/spinifexui/spinifexui_test.go index 650818378..5ce7b0d9e 100644 --- a/hive/services/hiveui/hiveui_test.go +++ b/spinifex/services/spinifexui/spinifexui_test.go @@ -1,4 +1,4 @@ -package hiveui +package spinifexui import ( "compress/gzip" diff --git a/hive/services/viperblockd/viperblockd.go b/spinifex/services/viperblockd/viperblockd.go similarity index 99% rename from hive/services/viperblockd/viperblockd.go rename to spinifex/services/viperblockd/viperblockd.go index aa318c9b2..a499d084d 100644 --- a/hive/services/viperblockd/viperblockd.go +++ b/spinifex/services/viperblockd/viperblockd.go @@ -12,9 +12,9 @@ import ( "syscall" "time" - "github.com/mulgadc/spinifex/hive/nbd" - "github.com/mulgadc/spinifex/hive/types" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/nbd" + "github.com/mulgadc/spinifex/spinifex/types" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/s3" diff --git a/hive/services/viperblockd/viperblockd_handlers_test.go b/spinifex/services/viperblockd/viperblockd_handlers_test.go similarity index 99% rename from hive/services/viperblockd/viperblockd_handlers_test.go rename to spinifex/services/viperblockd/viperblockd_handlers_test.go index 4e604287c..4bbaf3726 100644 --- a/hive/services/viperblockd/viperblockd_handlers_test.go +++ b/spinifex/services/viperblockd/viperblockd_handlers_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/mulgadc/viperblock/viperblock" "github.com/mulgadc/viperblock/viperblock/backends/file" "github.com/nats-io/nats.go" diff --git a/hive/services/viperblockd/viperblockd_integration_test.go b/spinifex/services/viperblockd/viperblockd_integration_test.go similarity index 99% rename from hive/services/viperblockd/viperblockd_integration_test.go rename to spinifex/services/viperblockd/viperblockd_integration_test.go index 80b6510b2..23d7c6f89 100644 --- a/hive/services/viperblockd/viperblockd_integration_test.go +++ b/spinifex/services/viperblockd/viperblockd_integration_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/types" "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/hive/services/viperblockd/viperblockd_test.go b/spinifex/services/viperblockd/viperblockd_test.go similarity index 100% rename from hive/services/viperblockd/viperblockd_test.go rename to spinifex/services/viperblockd/viperblockd_test.go diff --git a/hive/services/vpcd/integration_test.go b/spinifex/services/vpcd/integration_test.go similarity index 98% rename from hive/services/vpcd/integration_test.go rename to spinifex/services/vpcd/integration_test.go index dde77e6fc..6d5e263ff 100644 --- a/hive/services/vpcd/integration_test.go +++ b/spinifex/services/vpcd/integration_test.go @@ -8,9 +8,9 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - handlers_ec2_igw "github.com/mulgadc/spinifex/hive/handlers/ec2/igw" - handlers_ec2_vpc "github.com/mulgadc/spinifex/hive/handlers/ec2/vpc" - "github.com/mulgadc/spinifex/hive/utils" + handlers_ec2_igw "github.com/mulgadc/spinifex/spinifex/handlers/ec2/igw" + handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/mock_ovn.go b/spinifex/services/vpcd/mock_ovn.go similarity index 99% rename from hive/services/vpcd/mock_ovn.go rename to spinifex/services/vpcd/mock_ovn.go index 29a720751..310437d19 100644 --- a/hive/services/vpcd/mock_ovn.go +++ b/spinifex/services/vpcd/mock_ovn.go @@ -5,8 +5,8 @@ import ( "fmt" "sync" - "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/spinifex/utils" ) // MockOVNClient implements OVNClient with in-memory storage for testing. diff --git a/hive/services/vpcd/nbdb/model.go b/spinifex/services/vpcd/nbdb/model.go similarity index 100% rename from hive/services/vpcd/nbdb/model.go rename to spinifex/services/vpcd/nbdb/model.go diff --git a/hive/services/vpcd/nbdb/model_test.go b/spinifex/services/vpcd/nbdb/model_test.go similarity index 100% rename from hive/services/vpcd/nbdb/model_test.go rename to spinifex/services/vpcd/nbdb/model_test.go diff --git a/hive/services/vpcd/ovn.go b/spinifex/services/vpcd/ovn.go similarity index 99% rename from hive/services/vpcd/ovn.go rename to spinifex/services/vpcd/ovn.go index 6136deebd..9c74dcd85 100644 --- a/hive/services/vpcd/ovn.go +++ b/spinifex/services/vpcd/ovn.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/spinifex/services/vpcd/nbdb" "github.com/ovn-kubernetes/libovsdb/client" "github.com/ovn-kubernetes/libovsdb/model" "github.com/ovn-kubernetes/libovsdb/ovsdb" diff --git a/hive/services/vpcd/ovn_test.go b/spinifex/services/vpcd/ovn_test.go similarity index 99% rename from hive/services/vpcd/ovn_test.go rename to spinifex/services/vpcd/ovn_test.go index 096a1d64b..81d1ce3d1 100644 --- a/hive/services/vpcd/ovn_test.go +++ b/spinifex/services/vpcd/ovn_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/spinifex/services/vpcd/nbdb" ) func TestMockOVNClient_Connect(t *testing.T) { diff --git a/hive/services/vpcd/topology.go b/spinifex/services/vpcd/topology.go similarity index 99% rename from hive/services/vpcd/topology.go rename to spinifex/services/vpcd/topology.go index e479372b2..f46c8be6d 100644 --- a/hive/services/vpcd/topology.go +++ b/spinifex/services/vpcd/topology.go @@ -7,8 +7,8 @@ import ( "log/slog" "net" - "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/topology_test.go b/spinifex/services/vpcd/topology_test.go similarity index 99% rename from hive/services/vpcd/topology_test.go rename to spinifex/services/vpcd/topology_test.go index 657d21b41..22b67b38c 100644 --- a/hive/services/vpcd/topology_test.go +++ b/spinifex/services/vpcd/topology_test.go @@ -5,8 +5,8 @@ import ( "encoding/json" "testing" - "github.com/mulgadc/spinifex/hive/services/vpcd/nbdb" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/services/vpcd/nbdb" + "github.com/mulgadc/spinifex/spinifex/types" "github.com/nats-io/nats-server/v2/server" "github.com/nats-io/nats.go" ) diff --git a/hive/services/vpcd/vpcd.go b/spinifex/services/vpcd/vpcd.go similarity index 99% rename from hive/services/vpcd/vpcd.go rename to spinifex/services/vpcd/vpcd.go index 50c410579..12ed56c14 100644 --- a/hive/services/vpcd/vpcd.go +++ b/spinifex/services/vpcd/vpcd.go @@ -10,7 +10,7 @@ import ( "path/filepath" "syscall" - "github.com/mulgadc/spinifex/hive/utils" + "github.com/mulgadc/spinifex/spinifex/utils" ) // sudoCommand wraps exec.Command with sudo when running as non-root. diff --git a/hive/services/vpcd/vpcd_test.go b/spinifex/services/vpcd/vpcd_test.go similarity index 100% rename from hive/services/vpcd/vpcd_test.go rename to spinifex/services/vpcd/vpcd_test.go diff --git a/hive/types/cluster.go b/spinifex/types/cluster.go similarity index 97% rename from hive/types/cluster.go rename to spinifex/types/cluster.go index 10c44699f..b616d5404 100644 --- a/hive/types/cluster.go +++ b/spinifex/types/cluster.go @@ -1,6 +1,6 @@ package types -import "github.com/mulgadc/spinifex/hive/config" +import "github.com/mulgadc/spinifex/spinifex/config" // Cluster manager API types diff --git a/hive/types/ebs.go b/spinifex/types/ebs.go similarity index 100% rename from hive/types/ebs.go rename to spinifex/types/ebs.go diff --git a/hive/types/ec2.go b/spinifex/types/ec2.go similarity index 100% rename from hive/types/ec2.go rename to spinifex/types/ec2.go diff --git a/hive/types/node.go b/spinifex/types/node.go similarity index 100% rename from hive/types/node.go rename to spinifex/types/node.go diff --git a/hive/types/types.go b/spinifex/types/types.go similarity index 100% rename from hive/types/types.go rename to spinifex/types/types.go diff --git a/hive/utils/account.go b/spinifex/utils/account.go similarity index 100% rename from hive/utils/account.go rename to spinifex/utils/account.go diff --git a/hive/utils/account_test.go b/spinifex/utils/account_test.go similarity index 100% rename from hive/utils/account_test.go rename to spinifex/utils/account_test.go diff --git a/hive/utils/conversion.go b/spinifex/utils/conversion.go similarity index 100% rename from hive/utils/conversion.go rename to spinifex/utils/conversion.go diff --git a/hive/utils/conversion_test.go b/spinifex/utils/conversion_test.go similarity index 100% rename from hive/utils/conversion_test.go rename to spinifex/utils/conversion_test.go diff --git a/hive/utils/images.go b/spinifex/utils/images.go similarity index 100% rename from hive/utils/images.go rename to spinifex/utils/images.go diff --git a/hive/utils/nats.go b/spinifex/utils/nats.go similarity index 100% rename from hive/utils/nats.go rename to spinifex/utils/nats.go diff --git a/hive/utils/nats_test.go b/spinifex/utils/nats_test.go similarity index 100% rename from hive/utils/nats_test.go rename to spinifex/utils/nats_test.go diff --git a/hive/utils/nbd.go b/spinifex/utils/nbd.go similarity index 100% rename from hive/utils/nbd.go rename to spinifex/utils/nbd.go diff --git a/hive/utils/pidfile.go b/spinifex/utils/pidfile.go similarity index 100% rename from hive/utils/pidfile.go rename to spinifex/utils/pidfile.go diff --git a/hive/utils/process.go b/spinifex/utils/process.go similarity index 100% rename from hive/utils/process.go rename to spinifex/utils/process.go diff --git a/hive/utils/utils.go b/spinifex/utils/utils.go similarity index 98% rename from hive/utils/utils.go rename to spinifex/utils/utils.go index bf948a6be..2f0a8bfc2 100644 --- a/hive/utils/utils.go +++ b/spinifex/utils/utils.go @@ -24,8 +24,8 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/s3" - "github.com/mulgadc/spinifex/hive/awserrors" - "github.com/mulgadc/spinifex/hive/config" + "github.com/mulgadc/spinifex/spinifex/awserrors" + "github.com/mulgadc/spinifex/spinifex/config" "github.com/pterm/pterm" ) diff --git a/hive/utils/utils_test.go b/spinifex/utils/utils_test.go similarity index 100% rename from hive/utils/utils_test.go rename to spinifex/utils/utils_test.go diff --git a/hive/utils/utils_validation_test.go b/spinifex/utils/utils_validation_test.go similarity index 100% rename from hive/utils/utils_validation_test.go rename to spinifex/utils/utils_validation_test.go diff --git a/hive/vm/state.go b/spinifex/vm/state.go similarity index 100% rename from hive/vm/state.go rename to spinifex/vm/state.go diff --git a/hive/vm/state_test.go b/spinifex/vm/state_test.go similarity index 100% rename from hive/vm/state_test.go rename to spinifex/vm/state_test.go diff --git a/hive/vm/vm.go b/spinifex/vm/vm.go similarity index 98% rename from hive/vm/vm.go rename to spinifex/vm/vm.go index 628ef62bc..f3b947b4e 100644 --- a/hive/vm/vm.go +++ b/spinifex/vm/vm.go @@ -11,8 +11,8 @@ import ( "time" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/mulgadc/spinifex/hive/qmp" - "github.com/mulgadc/spinifex/hive/types" + "github.com/mulgadc/spinifex/spinifex/qmp" + "github.com/mulgadc/spinifex/spinifex/types" ) // InstanceHealthState tracks crash detection and auto-restart metadata for a VM. diff --git a/hive/vm/vm_test.go b/spinifex/vm/vm_test.go similarity index 100% rename from hive/vm/vm_test.go rename to spinifex/vm/vm_test.go From 00f5b6590ea104e89249055f03a34b3a62ddf56a Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:42:34 +0000 Subject: [PATCH 03/12] refactor: rename CLI binary to spx and update all command names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Makefile: GO_PROJECT_NAME → spx, update build/test/dist paths - root.go: Use → spx, update branding to Spinifex - service.go: hive/hive-ui commands → spinifex/spinifex-ui - Service name constants: hive → spinifex, hive-ui → spinifex-ui - Update service_test.go switch cases --- Makefile | 30 ++-- cmd/spinifex/cmd/root.go | 21 ++- cmd/spinifex/cmd/service.go | 152 ++++++++++----------- spinifex/service/service_test.go | 4 +- spinifex/services/spinifex/spinifex.go | 8 +- spinifex/services/spinifexui/spinifexui.go | 26 ++-- 6 files changed, 119 insertions(+), 122 deletions(-) diff --git a/Makefile b/Makefile index ff2a87936..7d7781168 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -GO_PROJECT_NAME := hive +GO_PROJECT_NAME := spx SHELL := /bin/bash # Detect architecture for cross-platform support @@ -49,19 +49,19 @@ endif build: $(MAKE) go_build -# Build hive-ui frontend (requires pnpm) +# Build spinifex-ui frontend (requires pnpm) build-ui: - @echo -e "\n....Building hive-ui frontend...." - cd hive/services/hiveui/frontend && pnpm build + @echo -e "\n....Building spinifex-ui frontend...." + cd spinifex/services/spinifexui/frontend && pnpm build # GO commands VERSION ?= $(shell git describe --tags --always --dirty) COMMIT ?= $(shell git rev-parse --short HEAD) -LDFLAGS := -s -w -X github.com/mulgadc/hive/cmd/hive/cmd.Version=$(VERSION) -X github.com/mulgadc/hive/cmd/hive/cmd.Commit=$(COMMIT) +LDFLAGS := -s -w -X github.com/mulgadc/spinifex/cmd/spinifex/cmd.Version=$(VERSION) -X github.com/mulgadc/spinifex/cmd/spinifex/cmd.Commit=$(COMMIT) go_build: @echo -e "\n....Building $(GO_PROJECT_NAME)" - go build $(GO_BUILD_MOD) -ldflags "$(LDFLAGS)" -o ./bin/$(GO_PROJECT_NAME) cmd/hive/main.go + go build $(GO_BUILD_MOD) -ldflags "$(LDFLAGS)" -o ./bin/$(GO_PROJECT_NAME) cmd/spinifex/main.go go_run: @echo -e "\n....Running $(GO_PROJECT_NAME)...." @@ -76,7 +76,7 @@ preflight: # Run unit tests test: @echo -e "\n....Running tests for $(GO_PROJECT_NAME)...." - LOG_IGNORE=1 go test -timeout 120s ./hive/... + LOG_IGNORE=1 go test -timeout 120s ./spinifex/... # Run unit tests with coverage profile # Note: go test may exit non-zero due to Go version mismatch in coverage instrumentation @@ -84,13 +84,13 @@ test: COVERPROFILE ?= coverage.out test-cover: @echo -e "\n....Running tests with coverage for $(GO_PROJECT_NAME)...." - $(_Q)LOG_IGNORE=1 go test -timeout 120s -coverprofile=$(COVERPROFILE) -covermode=atomic ./hive/... $(_COVQ) + $(_Q)LOG_IGNORE=1 go test -timeout 120s -coverprofile=$(COVERPROFILE) -covermode=atomic ./spinifex/... $(_COVQ) @scripts/check-coverage.sh $(COVERPROFILE) $(QUIET) # Run unit tests with race detector test-race: @echo -e "\n....Running tests with race detector for $(GO_PROJECT_NAME)...." - $(_Q)LOG_IGNORE=1 go test -race -timeout 300s ./hive/... $(_RACEQ) + $(_Q)LOG_IGNORE=1 go test -race -timeout 300s ./spinifex/... $(_RACEQ) # Check that new/changed code meets coverage threshold (runs tests first) diff-coverage: test-cover @@ -107,7 +107,7 @@ run: clean: rm -f ./bin/$(GO_PROJECT_NAME) - rm -rf hive/services/hiveui/frontend/dist + rm -rf spinifex/services/spinifexui/frontend/dist install-system: @echo -e "\n....Installing system dependencies for $(ARCH)...." @@ -199,7 +199,7 @@ security-check: # Build release tarballs for both architectures via Docker distro: - @echo "Building hive $(VERSION) distribution tarballs..." + @echo "Building spinifex $(VERSION) distribution tarballs..." @mkdir -p dist/ @echo "Building linux/amd64..." docker buildx build \ @@ -208,8 +208,8 @@ distro: -f build/Dockerfile.distro \ --output type=local,dest=dist/amd64/ \ ../ - tar -czf dist/hive-$(VERSION)-linux-amd64.tar.gz -C dist/amd64 . - sha256sum dist/hive-$(VERSION)-linux-amd64.tar.gz > dist/hive-$(VERSION)-linux-amd64.tar.gz.sha256 + tar -czf dist/spinifex-$(VERSION)-linux-amd64.tar.gz -C dist/amd64 . + sha256sum dist/spinifex-$(VERSION)-linux-amd64.tar.gz > dist/spinifex-$(VERSION)-linux-amd64.tar.gz.sha256 @echo "Building linux/arm64..." docker buildx build \ --platform linux/arm64 \ @@ -217,8 +217,8 @@ distro: -f build/Dockerfile.distro \ --output type=local,dest=dist/arm64/ \ ../ - tar -czf dist/hive-$(VERSION)-linux-arm64.tar.gz -C dist/arm64 . - sha256sum dist/hive-$(VERSION)-linux-arm64.tar.gz > dist/hive-$(VERSION)-linux-arm64.tar.gz.sha256 + tar -czf dist/spinifex-$(VERSION)-linux-arm64.tar.gz -C dist/arm64 . + sha256sum dist/spinifex-$(VERSION)-linux-arm64.tar.gz > dist/spinifex-$(VERSION)-linux-arm64.tar.gz.sha256 @echo "" @echo "Distribution tarballs:" @ls -lh dist/*.tar.gz diff --git a/cmd/spinifex/cmd/root.go b/cmd/spinifex/cmd/root.go index fbc56a1c2..9fad72870 100644 --- a/cmd/spinifex/cmd/root.go +++ b/cmd/spinifex/cmd/root.go @@ -32,20 +32,17 @@ var ( // rootCmd represents the base command when called without any subcommands var rootCmd = &cobra.Command{ - Use: "hive", - Short: "Hive - Open source AWS-compatible platform for secure edge deployments", + Use: "spx", + Short: "Spinifex - Open source AWS-compatible platform for secure edge deployments", Long: ` -__/\\\________/\\\__/\\\\\\\\\\\__/\\\________/\\\__/\\\\\\\\\\\\\\\_ - _\/\\\_______\/\\\_\/////\\\///__\/\\\_______\/\\\_\/\\\///////////__ - _\/\\\_______\/\\\_____\/\\\_____\//\\\______/\\\__\/\\\_____________ - _\/\\\\\\\\\\\\\\\_____\/\\\______\//\\\____/\\\___\/\\\\\\\\\\\_____ - _\/\\\/////////\\\_____\/\\\_______\//\\\__/\\\____\/\\\///////______ - _\/\\\_______\/\\\_____\/\\\________\//\\\/\\\_____\/\\\_____________ - _\/\\\_______\/\\\_____\/\\\_________\//\\\\\______\/\\\_____________ - _\/\\\_______\/\\\__/\\\\\\\\\\\______\//\\\_______\/\\\\\\\\\\\\\\\_ - _\///________\///__\///////////________\///________\///////////////__ + _____ _____ _____ _ _ _____ ______ ________ __ + / ____| __ \_ _| \ | |_ _| ____| ____\ \ / / + | (___ | |__) || | | \| | | | | |__ | |__ \ V / + \___ \| ___/ | | | . ‘ | | | | __| | __| > < + ____) | | _| |_| |\ |_| |_| | | |____ / . \ + |_____/|_| |_____|_| \_|_____|_| |______/_/ \_\ -Hive – Open source AWS-compatible platform for secure edge deployments. +Spinifex – Open source AWS-compatible platform for secure edge deployments. Run EC2, VPC, S3, and EBS-like services on bare metal with full control. Built for environments where running in the cloud isn’t an option. Whether you’re deploying to edge sites, private data-centers, or operating diff --git a/cmd/spinifex/cmd/service.go b/cmd/spinifex/cmd/service.go index 034c53022..bb6962fce 100644 --- a/cmd/spinifex/cmd/service.go +++ b/cmd/spinifex/cmd/service.go @@ -35,7 +35,7 @@ import ( var serviceCmd = &cobra.Command{ Use: "service", - Short: "Manage Hive services", + Short: "Manage Spinifex services", } var predastoreCmd = &cobra.Command{ @@ -53,9 +53,9 @@ var natsCmd = &cobra.Command{ Short: "Manage the nats service", } -var hiveCmd = &cobra.Command{ - Use: "hive", - Short: "Manage the hive service", +var spinifexCmd = &cobra.Command{ + Use: "spinifex", + Short: "Manage the spinifex service", } var awsgwCmd = &cobra.Command{ @@ -68,10 +68,10 @@ var vpcdCmd = &cobra.Command{ Short: "Manage the vpcd (VPC daemon) service", } -var hiveUICmd = &cobra.Command{ - Use: "hive-ui", - Aliases: []string{"ui", "hiveui"}, - Short: "Manage the hive-ui service", +var spinifexUICmd = &cobra.Command{ + Use: "spinifex-ui", + Aliases: []string{"ui", "spinifexui"}, + Short: "Manage the spinifex-ui service", } var predastoreStartCmd = &cobra.Command{ @@ -410,12 +410,12 @@ var natsStatusCmd = &cobra.Command{ }, } -// Repeat for hive -var hiveStartCmd = &cobra.Command{ +// Repeat for spinifex +var spinifexStartCmd = &cobra.Command{ Use: "start", - Short: "Start the hive service", + Short: "Start the spinifex service", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("Starting hive service...") + fmt.Println("Starting spinifex service...") cfgFile := viper.GetString("config") @@ -451,53 +451,53 @@ var hiveStartCmd = &cobra.Command{ // Apply changes back to cluster config clusterConfig.Nodes[clusterConfig.Node] = nodeConfig - svc, err := service.New("hive", clusterConfig) + svc, err := service.New("spinifex", clusterConfig) if err != nil { - fmt.Println("Error starting hive service:", err) + fmt.Println("Error starting spinifex service:", err) return } // Set config path for cluster manager - if hiveSvc, ok := svc.(interface{ SetConfigPath(string) }); ok { - hiveSvc.SetConfigPath(cfgFile) + if spxSvc, ok := svc.(interface{ SetConfigPath(string) }); ok { + spxSvc.SetConfigPath(cfgFile) } if _, err = svc.Start(); err != nil { - fmt.Println("Error starting hive service:", err) + fmt.Println("Error starting spinifex service:", err) os.Exit(1) } - fmt.Println("HIVE service started") + fmt.Println("Spinifex service started") }, } -var hiveStopCmd = &cobra.Command{ +var spinifexStopCmd = &cobra.Command{ Use: "stop", - Short: "Stop the hive service", + Short: "Stop the spinifex service", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("Stopping hive service...") + fmt.Println("Stopping spinifex service...") - service, err := service.New("hive", &config.ClusterConfig{}) + service, err := service.New("spinifex", &config.ClusterConfig{}) if err != nil { - fmt.Println("Error stopping hive service:", err) + fmt.Println("Error stopping spinifex service:", err) return } if err = service.Stop(); err != nil { - fmt.Println("Error stopping hive service:", err) + fmt.Println("Error stopping spinifex service:", err) os.Exit(1) } - fmt.Println("Hive service stopped") + fmt.Println("Spinifex service stopped") }, } -var hiveStatusCmd = &cobra.Command{ +var spinifexStatusCmd = &cobra.Command{ Use: "status", - Short: "Get status of the hive service", + Short: "Get status of the spinifex service", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("Hive service status: ...") + fmt.Println("Spinifex service status: ...") }, } @@ -601,18 +601,18 @@ var awsgwStatusCmd = &cobra.Command{ }, } -var hiveUIStartCmd = &cobra.Command{ +var spinifexUIStartCmd = &cobra.Command{ Use: "start", - Short: "Start the hive-ui service", + Short: "Start the spinifex-ui service", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("Starting hive-ui service...") + fmt.Println("Starting spinifex-ui service...") - port := viper.GetInt("hive-ui-port") - host := viper.GetString("hive-ui-host") - tlsCert := viper.GetString("hive-ui-tls-cert") - tlsKey := viper.GetString("hive-ui-tls-key") + port := viper.GetInt("spinifex-ui-port") + host := viper.GetString("spinifex-ui-host") + tlsCert := viper.GetString("spinifex-ui-tls-cert") + tlsKey := viper.GetString("spinifex-ui-tls-key") - svc, err := service.New("hive-ui", &hiveui.Config{ + svc, err := service.New("spinifex-ui", &spinifexui.Config{ Port: port, Host: host, TLSCert: tlsCert, @@ -620,57 +620,57 @@ var hiveUIStartCmd = &cobra.Command{ }) if err != nil { - fmt.Println("Error starting hive-ui service:", err) + fmt.Println("Error starting spinifex-ui service:", err) return } if _, err = svc.Start(); err != nil { - fmt.Println("Error starting hive-ui service:", err) + fmt.Println("Error starting spinifex-ui service:", err) os.Exit(1) } - fmt.Println("hive-ui service started") + fmt.Println("spinifex-ui service started") }, } -var hiveUIStopCmd = &cobra.Command{ +var spinifexUIStopCmd = &cobra.Command{ Use: "stop", - Short: "Stop the hive-ui service", + Short: "Stop the spinifex-ui service", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("Stopping hive-ui service...") + fmt.Println("Stopping spinifex-ui service...") - svc, err := service.New("hive-ui", &hiveui.Config{}) + svc, err := service.New("spinifex-ui", &spinifexui.Config{}) if err != nil { - fmt.Println("Error stopping hive-ui service:", err) + fmt.Println("Error stopping spinifex-ui service:", err) return } if err = svc.Stop(); err != nil { - fmt.Println("Error stopping hive-ui service:", err) + fmt.Println("Error stopping spinifex-ui service:", err) os.Exit(1) } - fmt.Println("hive-ui service stopped") + fmt.Println("spinifex-ui service stopped") }, } -var hiveUIStatusCmd = &cobra.Command{ +var spinifexUIStatusCmd = &cobra.Command{ Use: "status", - Short: "Get status of the hive-ui service", + Short: "Get status of the spinifex-ui service", Run: func(cmd *cobra.Command, args []string) { - svc, err := service.New("hive-ui", &hiveui.Config{}) + svc, err := service.New("spinifex-ui", &spinifexui.Config{}) if err != nil { - fmt.Println("Error getting hive-ui service status:", err) + fmt.Println("Error getting spinifex-ui service status:", err) return } status, err := svc.Status() if err != nil { - fmt.Println("Error getting hive-ui service status:", err) + fmt.Println("Error getting spinifex-ui service status:", err) return } - fmt.Println("hive-ui service status:", status) + fmt.Println("spinifex-ui service status:", status) }, } @@ -827,7 +827,7 @@ func init() { viper.BindEnv("s3-region", "HIVE_VIPERBLOCK_S3_REGION") viper.BindPFlag("s3-region", predastoreCmd.PersistentFlags().Lookup("s3-region")) - viperblockCmd.PersistentFlags().String("plugin-path", "/opt/hive/lib/nbdkit-viperblock-plugin.so", "Pathname to the nbdkit viperblockplugin") + viperblockCmd.PersistentFlags().String("plugin-path", "/opt/spinifex/lib/nbdkit-viperblock-plugin.so", "Pathname to the nbdkit viperblockplugin") viper.BindEnv("plugin-path", "HIVE_VIPERBLOCK_PLUGIN_PATH") viper.BindPFlag("plugin-path", predastoreCmd.PersistentFlags().Lookup("plugin-path")) @@ -864,15 +864,15 @@ func init() { viper.BindPFlag("jetstream", natsCmd.PersistentFlags().Lookup("jetstream")) // Hive - serviceCmd.AddCommand(hiveCmd) + serviceCmd.AddCommand(spinifexCmd) - hiveCmd.AddCommand(hiveStartCmd) - hiveCmd.AddCommand(hiveStopCmd) - hiveCmd.AddCommand(hiveStatusCmd) + spinifexCmd.AddCommand(spinifexStartCmd) + spinifexCmd.AddCommand(spinifexStopCmd) + spinifexCmd.AddCommand(spinifexStatusCmd) - hiveCmd.PersistentFlags().String("wal-dir", "", "Write-ahead log (WAL) directory. Place on high-speed NVMe disk, or tmpfs for development.") + spinifexCmd.PersistentFlags().String("wal-dir", "", "Write-ahead log (WAL) directory. Place on high-speed NVMe disk, or tmpfs for development.") viper.BindEnv("wal-dir", "HIVE_WAL_DIR") - viper.BindPFlag("wal-dir", hiveCmd.PersistentFlags().Lookup("wal-dir")) + viper.BindPFlag("wal-dir", spinifexCmd.PersistentFlags().Lookup("wal-dir")) // AWS GW serviceCmd.AddCommand(awsgwCmd) @@ -899,28 +899,28 @@ func init() { awsgwCmd.AddCommand(awsgwStopCmd) awsgwCmd.AddCommand(awsgwStatusCmd) - // hive-ui - serviceCmd.AddCommand(hiveUICmd) + // spinifex-ui + serviceCmd.AddCommand(spinifexUICmd) - hiveUICmd.PersistentFlags().Int("port", 3000, "hive-ui server port") - viper.BindEnv("hive-ui-port", "HIVE_UI_PORT") - viper.BindPFlag("hive-ui-port", hiveUICmd.PersistentFlags().Lookup("port")) + spinifexUICmd.PersistentFlags().Int("port", 3000, "spinifex-ui server port") + viper.BindEnv("spinifex-ui-port", "HIVE_UI_PORT") + viper.BindPFlag("spinifex-ui-port", spinifexUICmd.PersistentFlags().Lookup("port")) - hiveUICmd.PersistentFlags().String("host", "0.0.0.0", "hive-ui server host") - viper.BindEnv("hive-ui-host", "HIVE_UI_HOST") - viper.BindPFlag("hive-ui-host", hiveUICmd.PersistentFlags().Lookup("host")) + spinifexUICmd.PersistentFlags().String("host", "0.0.0.0", "spinifex-ui server host") + viper.BindEnv("spinifex-ui-host", "HIVE_UI_HOST") + viper.BindPFlag("spinifex-ui-host", spinifexUICmd.PersistentFlags().Lookup("host")) - hiveUICmd.PersistentFlags().String("tls-cert", "", "TLS certificate path") - viper.BindEnv("hive-ui-tls-cert", "HIVE_UI_TLS_CERT") - viper.BindPFlag("hive-ui-tls-cert", hiveUICmd.PersistentFlags().Lookup("tls-cert")) + spinifexUICmd.PersistentFlags().String("tls-cert", "", "TLS certificate path") + viper.BindEnv("spinifex-ui-tls-cert", "HIVE_UI_TLS_CERT") + viper.BindPFlag("spinifex-ui-tls-cert", spinifexUICmd.PersistentFlags().Lookup("tls-cert")) - hiveUICmd.PersistentFlags().String("tls-key", "", "TLS key path") - viper.BindEnv("hive-ui-tls-key", "HIVE_UI_TLS_KEY") - viper.BindPFlag("hive-ui-tls-key", hiveUICmd.PersistentFlags().Lookup("tls-key")) + spinifexUICmd.PersistentFlags().String("tls-key", "", "TLS key path") + viper.BindEnv("spinifex-ui-tls-key", "HIVE_UI_TLS_KEY") + viper.BindPFlag("spinifex-ui-tls-key", spinifexUICmd.PersistentFlags().Lookup("tls-key")) - hiveUICmd.AddCommand(hiveUIStartCmd) - hiveUICmd.AddCommand(hiveUIStopCmd) - hiveUICmd.AddCommand(hiveUIStatusCmd) + spinifexUICmd.AddCommand(spinifexUIStartCmd) + spinifexUICmd.AddCommand(spinifexUIStopCmd) + spinifexUICmd.AddCommand(spinifexUIStatusCmd) // vpcd serviceCmd.AddCommand(vpcdCmd) diff --git a/spinifex/service/service_test.go b/spinifex/service/service_test.go index 732da6af5..3ffa6d91f 100644 --- a/spinifex/service/service_test.go +++ b/spinifex/service/service_test.go @@ -12,7 +12,7 @@ import ( func TestNew(t *testing.T) { // Test known service types - services := []string{"nats", "predastore", "viperblock", "hive", "awsgw"} + services := []string{"nats", "predastore", "viperblock", "spinifex", "awsgw"} for _, s := range services { @@ -29,7 +29,7 @@ func TestNew(t *testing.T) { // No special setup needed case "viperblock": svc, err = New(s, &viperblockd.Config{}) - case "hive": + case "spinifex": svc, err = New(s, &config.ClusterConfig{}) case "awsgw": svc, err = New(s, &config.ClusterConfig{}) diff --git a/spinifex/services/spinifex/spinifex.go b/spinifex/services/spinifex/spinifex.go index 0a9b59e29..293f58e66 100644 --- a/spinifex/services/spinifex/spinifex.go +++ b/spinifex/services/spinifex/spinifex.go @@ -10,7 +10,7 @@ import ( "github.com/mulgadc/spinifex/spinifex/utils" ) -var serviceName = "hive" +var serviceName = "spinifex" type Service struct { Config *config.ClusterConfig @@ -20,7 +20,7 @@ type Service struct { func New(cfg any) (svc *Service, err error) { c, ok := cfg.(*config.ClusterConfig) if !ok { - return nil, fmt.Errorf("invalid config type for hive service") + return nil, fmt.Errorf("invalid config type for spinifex service") } svc = &Service{ Config: c, @@ -64,11 +64,11 @@ func launchService(config *config.ClusterConfig, configPath string) (err error) d := daemon.NewDaemon(config) d.SetConfigPath(configPath) - slog.Info("Starting Hive daemon ...") + slog.Info("Starting Spinifex daemon ...") err = d.Start() if err != nil { - slog.Warn("Failed to start Hive daemon", "err", err) + slog.Warn("Failed to start Spinifex daemon", "err", err) return err } diff --git a/spinifex/services/spinifexui/spinifexui.go b/spinifex/services/spinifexui/spinifexui.go index 471f237f7..a32adbb1d 100644 --- a/spinifex/services/spinifexui/spinifexui.go +++ b/spinifex/services/spinifexui/spinifexui.go @@ -24,12 +24,12 @@ import ( "github.com/mulgadc/spinifex/spinifex/utils" ) -var serviceName = "hive-ui" +var serviceName = "spinifex-ui" //go:embed all:frontend/dist var distFS embed.FS -// Config holds the configuration for the hive-ui service +// Config holds the configuration for the spinifex-ui service type Config struct { Port int `json:"port"` Host string `json:"host"` @@ -37,18 +37,18 @@ type Config struct { TLSKey string `json:"tls_key"` } -// Service represents the hive-ui service +// Service represents the spinifex-ui service type Service struct { Config *Config server *http.Server mu sync.Mutex } -// New creates a new hive-ui service +// New creates a new spinifex-ui service func New(config any) (*Service, error) { cfg, ok := config.(*Config) if !ok { - return nil, fmt.Errorf("invalid config type for hive-ui service") + return nil, fmt.Errorf("invalid config type for spinifex-ui service") } // Set defaults @@ -64,10 +64,10 @@ func New(config any) (*Service, error) { homeDir, err := os.UserHomeDir() if err == nil { if cfg.TLSCert == "" { - cfg.TLSCert = filepath.Join(homeDir, "hive", "config", "server.pem") + cfg.TLSCert = filepath.Join(homeDir, "spinifex", "config", "server.pem") } if cfg.TLSKey == "" { - cfg.TLSKey = filepath.Join(homeDir, "hive", "config", "server.key") + cfg.TLSKey = filepath.Join(homeDir, "spinifex", "config", "server.key") } } } @@ -77,7 +77,7 @@ func New(config any) (*Service, error) { }, nil } -// Start starts the hive-ui service +// Start starts the spinifex-ui service func (svc *Service) Start() (int, error) { if err := utils.WritePidFile(serviceName, os.Getpid()); err != nil { slog.Error("Failed to write pid file", "err", err) @@ -91,12 +91,12 @@ func (svc *Service) Start() (int, error) { return os.Getpid(), nil } -// Stop stops the hive-ui service +// Stop stops the spinifex-ui service func (svc *Service) Stop() error { return utils.StopProcess(serviceName) } -// Status returns the status of the hive-ui service +// Status returns the status of the spinifex-ui service func (svc *Service) Status() (string, error) { pid, err := utils.ReadPidFile(serviceName) if err != nil { @@ -105,7 +105,7 @@ func (svc *Service) Status() (string, error) { return fmt.Sprintf("running (pid: %d)", pid), nil } -// Shutdown gracefully shuts down the hive-ui service +// Shutdown gracefully shuts down the spinifex-ui service func (svc *Service) Shutdown() error { svc.mu.Lock() server := svc.server @@ -119,7 +119,7 @@ func (svc *Service) Shutdown() error { return svc.Stop() } -// Reload reloads the hive-ui service configuration +// Reload reloads the spinifex-ui service configuration func (svc *Service) Reload() error { return nil } @@ -233,7 +233,7 @@ func (svc *Service) launchService() error { tlsCfg: tlsConfig, } - slog.Info("Starting hive-ui service with HTTPS (auto-redirect HTTP)", "addr", addr) + slog.Info("Starting spinifex-ui service with HTTPS (auto-redirect HTTP)", "addr", addr) return server.Serve(splitLn) } From ee0b92c1924521c2ba4b67cd10e9151b4df5b423 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:47:01 +0000 Subject: [PATCH 04/12] refactor: rename config files, paths, and env vars from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename hive.toml template → spinifex.toml - Update all default paths: /etc/hive → /etc/spinifex, ~/hive → ~/spinifex - Rename all HIVE_* env vars → SPINIFEX_* (SetEnvPrefix, BindEnv calls) - Update nats.conf template server_name - Update admin.go init/join commands for new paths and names - Update paths.go, paths_test.go, config.go, config_test.go --- cmd/spinifex/cmd/admin.go | 94 +++++++++---------- cmd/spinifex/cmd/get.go | 2 +- cmd/spinifex/cmd/paths.go | 24 ++--- cmd/spinifex/cmd/paths_test.go | 8 +- cmd/spinifex/cmd/root.go | 16 ++-- cmd/spinifex/cmd/service.go | 56 +++++------ cmd/spinifex/cmd/templates/nats.conf | 4 +- .../templates/{hive.toml => spinifex.toml} | 0 spinifex/admin/admin.go | 2 +- spinifex/config/config.go | 4 +- spinifex/config/config_test.go | 16 ++-- spinifex/daemon/shutdown.go | 2 +- spinifex/utils/pidfile.go | 2 +- 13 files changed, 115 insertions(+), 115 deletions(-) rename cmd/spinifex/cmd/templates/{hive.toml => spinifex.toml} (100%) diff --git a/cmd/spinifex/cmd/admin.go b/cmd/spinifex/cmd/admin.go index 03072ccbb..ff986dcda 100644 --- a/cmd/spinifex/cmd/admin.go +++ b/cmd/spinifex/cmd/admin.go @@ -48,8 +48,8 @@ import ( "github.com/spf13/cobra" ) -//go:embed templates/hive.toml -var hiveTomlTemplate string +//go:embed templates/spinifex.toml +var spinifexTomlTemplate string //go:embed templates/awsgw.toml var awsgwTomlTemplate string @@ -101,7 +101,7 @@ var adminInitCmd = &cobra.Command{ Short: "Initialize Hive platform configuration", Long: `Initialize Hive platform by creating configuration files, generating SSL certificates, and setting up AWS credentials. This creates the necessary directory structure and -configuration files in ~/hive/config.`, +configuration files in ~/spinifex/config.`, Run: runAdminInit, } @@ -159,18 +159,18 @@ var accountListCmd = &cobra.Command{ /* CLI ideas -hive admin images list +spx admin images list - fetches from remote endpoint for common/trusted images to bootstrap environment, or baked in from compile. // If --name specified, download -hive admin images import --name debian-12-x86_64 +spx admin images import --name debian-12-x86_64 // List available images -hive admin images list +spx admin images list // Manually import a path -hive admin images import --file /path/to/image --distro debian --version 12 --arch x86_64 +spx admin images import --file /path/to/image --distro debian --version 12 --arch x86_64 -> x <- */ @@ -197,7 +197,7 @@ func init() { accountCreateCmd.MarkFlagRequired("name") rootCmd.PersistentFlags().String("config-dir", DefaultConfigDir(), "Configuration directory") - rootCmd.PersistentFlags().String("hive-dir", DefaultDataDir(), "Hive base directory") + rootCmd.PersistentFlags().String("spinifex-dir", DefaultDataDir(), "Spinifex base directory") // Flags for admin init adminInitCmd.Flags().Bool("force", false, "Force re-initialization (overwrites existing config)") @@ -212,7 +212,7 @@ func init() { adminInitCmd.Flags().String("cluster-routes", "", "NATS cluster hosts for routing specify multiple with comma (e.g., 10.11.12.1:4248,10.11.12.2:4248 for multi-node)") adminInitCmd.Flags().String("predastore-nodes", "", "Comma-separated IPs for multi-node Predastore cluster (e.g., 10.11.12.1,10.11.12.2,10.11.12.3). Requires >= 3 nodes.") adminInitCmd.Flags().String("formation-timeout", "10m", "Timeout for cluster formation (e.g., 5m, 30s)") - adminInitCmd.Flags().String("cluster-name", "hive", "NATS cluster name") + adminInitCmd.Flags().String("cluster-name", "spinifex", "NATS cluster name") adminInitCmd.Flags().StringSlice("services", nil, "Services this node runs (default: all). Valid: nats,predastore,viperblock,daemon,awsgw,ui") // Flags for admin join @@ -220,7 +220,7 @@ func init() { adminJoinCmd.Flags().String("az", "ap-southeast-2a", "Availability zone for this node") adminJoinCmd.Flags().String("node", "", "Node name (required)") adminJoinCmd.Flags().String("host", "", "Leader node host:port (e.g., node1.local:4432) (required)") - adminJoinCmd.Flags().String("data-dir", "", "Data directory for this node (default: ~/hive)") + adminJoinCmd.Flags().String("data-dir", "", "Data directory for this node (default: ~/spinifex)") adminJoinCmd.Flags().Int("port", 4432, "Port to bind cluster services on") adminJoinCmd.Flags().String("bind", "0.0.0.0", "IP address to bind services to (e.g., 10.11.12.2 for multi-node on single host)") adminJoinCmd.Flags().String("cluster-bind", "", "IP address to bind NATS cluster services to (e.g., 10.11.12.1 for multi-node)") @@ -259,7 +259,7 @@ func runimagesImportCmd(cmd *cobra.Command, args []string) { } //configDir, _ := cmd.Flags().GetString("config-dir") - baseDir, _ := cmd.Flags().GetString("hive-dir") + baseDir, _ := cmd.Flags().GetString("spinifex-dir") // Strip trailing slash baseDir = filepath.Clean(baseDir) @@ -368,7 +368,7 @@ func runimagesImportCmd(cmd *cobra.Command, args []string) { } // Next, validate if the image is raw, tar, gz, xv, etc. We need to upload the raw image - tmpDir, err := os.MkdirTemp(ostmpDir, "hive-image-tmp-*") + tmpDir, err := os.MkdirTemp(ostmpDir, "spinifex-image-tmp-*") if err != nil { fmt.Fprintf(os.Stderr, "Could not create temp dir: %v\n", err) @@ -515,14 +515,14 @@ func runimagesListCmd(cmd *cobra.Command, args []string) { pterm.Println("To install a selected image as an AMI use:") - pterm.Println("hive admin images import --name ") + pterm.Println("spx admin images import --name ") } // TODO: Move all logic to a module, use minimal application logic in viper commands func runAdminInit(cmd *cobra.Command, args []string) { force, _ := cmd.Flags().GetBool("force") configDir, _ := cmd.Flags().GetString("config-dir") - hiveRoot, _ := cmd.Flags().GetString("hive-dir") + spxRoot, _ := cmd.Flags().GetString("spinifex-dir") region, _ := cmd.Flags().GetString("region") az, _ := cmd.Flags().GetString("az") node, _ := cmd.Flags().GetString("node") @@ -568,12 +568,12 @@ func runAdminInit(cmd *cobra.Command, args []string) { fmt.Printf("Configuration directory: %s\n\n", configDir) // Check if already initialized - hiveTomlPath := filepath.Join(configDir, "hive.toml") - if !force && admin.FileExists(hiveTomlPath) { + spinifexTomlPath := filepath.Join(configDir, "spinifex.toml") + if !force && admin.FileExists(spinifexTomlPath) { fmt.Println("⚠️ Hive already initialized!") - fmt.Printf("Config file exists: %s\n", hiveTomlPath) + fmt.Printf("Config file exists: %s\n", spinifexTomlPath) fmt.Println("\nTo re-initialize, run with --force flag:") - fmt.Println(" hive admin init --force") + fmt.Println(" spx admin init --force") os.Exit(0) } @@ -616,7 +616,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { fmt.Printf(" Access Key: %s\n", bootstrapResult.AdminAccessKey) fmt.Printf(" Secret Key: %s\n", bootstrapResult.AdminSecretKey) fmt.Printf(" Account: %s (%s)\n", admin.DefaultAccountName(), admin.DefaultAccountID()) - fmt.Printf(" AWS Profile: hive\n") + fmt.Printf(" AWS Profile: spinifex\n") // Generate SSL certificates (with bind IP in SANs for multi-node support) certPath := admin.GenerateCertificatesIfNeeded(configDir, force, bindIP) @@ -629,17 +629,17 @@ func runAdminInit(cmd *cobra.Command, args []string) { } fmt.Println("\n🔒 Generated NATS authentication token") - if hiveRoot == "" { - hiveRoot = DefaultDataDir() + if spxRoot == "" { + spxRoot = DefaultDataDir() } - hiveRoot = filepath.Clean(hiveRoot) + spxRoot = filepath.Clean(spxRoot) // Determine if this is a multi-node formation isMultiNode := nodes >= 2 && bindIP != "0.0.0.0" if isMultiNode { runAdminInitMultiNode(cmd, accessKey, secretKey, accountID, natsToken, clusterName, - configDir, hiveRoot, certPath, region, az, node, bindIP, clusterBind, + configDir, spxRoot, certPath, region, az, node, bindIP, clusterBind, port, nodes, formationTimeoutStr, services) return } @@ -653,9 +653,9 @@ func runAdminInit(cmd *cobra.Command, args []string) { awsgwDir := filepath.Join(configDir, "awsgw") predastoreDir := filepath.Join(configDir, "predastore") natsDir := filepath.Join(configDir, "nats") - hiveDir := filepath.Join(configDir, "hive") + spinifexDir := filepath.Join(configDir, "spinifex") - for _, dir := range []string{awsgwDir, predastoreDir, natsDir, hiveDir} { + for _, dir := range []string{awsgwDir, predastoreDir, natsDir, spinifexDir} { if err := os.MkdirAll(dir, 0700); err != nil { fmt.Fprintf(os.Stderr, "Error creating directory %s: %v\n", dir, err) os.Exit(1) @@ -713,7 +713,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { AccountID: accountID, Region: region, NatsToken: natsToken, - DataDir: hiveRoot, + DataDir: spxRoot, ConfigDir: configDir, Node: node, @@ -730,7 +730,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { // Generate config files configs := []admin.ConfigFile{ - {Name: "hive.toml", Path: hiveTomlPath, Template: hiveTomlTemplate}, + {Name: "spinifex.toml", Path: spinifexTomlPath, Template: spinifexTomlTemplate}, {Name: filepath.Join(awsgwDir, "awsgw.toml"), Path: filepath.Join(awsgwDir, "awsgw.toml"), Template: awsgwTomlTemplate}, {Name: filepath.Join(natsDir, "nats.conf"), Path: filepath.Join(natsDir, "nats.conf"), Template: natsConfTemplate}, } @@ -754,7 +754,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { fmt.Println("✅ AWS credentials configured") } - admin.CreateServiceDirectories(hiveRoot) + admin.CreateServiceDirectories(spxRoot) // In production layout (running as root), fix ownership so the service user // can read config and write data. SUDO_USER identifies the operator account. @@ -762,7 +762,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { sudoUser := os.Getenv("SUDO_USER") if sudoUser != "" { admin.ChownRecursive(configDir, sudoUser) - admin.ChownRecursive(hiveRoot, sudoUser) + admin.ChownRecursive(spxRoot, sudoUser) } } @@ -773,12 +773,12 @@ func runAdminInit(cmd *cobra.Command, args []string) { fmt.Println(" ./scripts/start-dev.sh") fmt.Println() fmt.Println(" 2. Test with AWS CLI:") - fmt.Println(" export AWS_PROFILE=hive") + fmt.Println(" export AWS_PROFILE=spinifex") fmt.Println(" aws ec2 describe-instances") fmt.Println() fmt.Println("🔗 Configuration:") - fmt.Printf(" Config file: %s\n", hiveTomlPath) - fmt.Printf(" Data directory: %s\n", hiveRoot) + fmt.Printf(" Config file: %s\n", spinifexTomlPath) + fmt.Printf(" Data directory: %s\n", spxRoot) fmt.Println() } @@ -786,7 +786,7 @@ func runAdminInit(cmd *cobra.Command, args []string) { // It starts a formation server, registers this node, waits for all nodes to join, // then generates configs with complete cluster topology. func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, natsToken, clusterName, - configDir, hiveRoot, certPath, region, az, node, bindIP, clusterBind string, + configDir, spxRoot, certPath, region, az, node, bindIP, clusterBind string, port, expectedNodes int, formationTimeoutStr string, services []string) { formationTimeout, err := time.ParseDuration(formationTimeoutStr) @@ -860,7 +860,7 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, fmt.Printf("\n📡 Formation server started on %s\n", formationAddr) fmt.Printf(" Waiting for %d more node(s) to join...\n", expectedNodes-1) - fmt.Printf(" Other nodes should run: hive admin join --host %s --node --bind \n\n", formationAddr) + fmt.Printf(" Other nodes should run: spx admin join --host %s --node --bind \n\n", formationAddr) // Wait for all nodes to register if err := fs.WaitForCompletion(formationTimeout); err != nil { @@ -882,9 +882,9 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, awsgwDir := filepath.Join(configDir, "awsgw") predastoreDir := filepath.Join(configDir, "predastore") natsDir := filepath.Join(configDir, "nats") - hiveDir := filepath.Join(configDir, "hive") + spinifexDir := filepath.Join(configDir, "spinifex") - for _, dir := range []string{awsgwDir, predastoreDir, natsDir, hiveDir} { + for _, dir := range []string{awsgwDir, predastoreDir, natsDir, spinifexDir} { if err := os.MkdirAll(dir, 0700); err != nil { fmt.Fprintf(os.Stderr, "Error creating directory %s: %v\n", dir, err) os.Exit(1) @@ -912,7 +912,7 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, fmt.Printf("✅ Created: multi-node predastore.toml (node ID: %d)\n", predastoreNodeID) } - hiveTomlPath := filepath.Join(configDir, "hive.toml") + spinifexTomlPath := filepath.Join(configDir, "spinifex.toml") configSettings := admin.ConfigSettings{ AccessKey: accessKey, @@ -920,7 +920,7 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, AccountID: accountID, Region: region, NatsToken: natsToken, - DataDir: hiveRoot, + DataDir: spxRoot, ConfigDir: configDir, Node: node, @@ -938,7 +938,7 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, // Generate config files configs := []admin.ConfigFile{ - {Name: "hive.toml", Path: hiveTomlPath, Template: hiveTomlTemplate}, + {Name: "spinifex.toml", Path: spinifexTomlPath, Template: spinifexTomlTemplate}, {Name: filepath.Join(awsgwDir, "awsgw.toml"), Path: filepath.Join(awsgwDir, "awsgw.toml"), Template: awsgwTomlTemplate}, {Name: filepath.Join(natsDir, "nats.conf"), Path: filepath.Join(natsDir, "nats.conf"), Template: natsConfTemplate}, } @@ -962,7 +962,7 @@ func runAdminInitMultiNode(cmd *cobra.Command, accessKey, secretKey, accountID, fmt.Println("✅ AWS credentials configured") } - admin.CreateServiceDirectories(hiveRoot) + admin.CreateServiceDirectories(spxRoot) // Keep formation server running briefly so joining nodes can fetch complete status fmt.Println("\n⏳ Waiting for joining nodes to fetch cluster data...") @@ -1061,7 +1061,7 @@ func runAdminJoin(cmd *cobra.Command, args []string) { resp, err := client.Post(joinURL, "application/json", bytes.NewBuffer(reqBody)) if err != nil { fmt.Fprintf(os.Stderr, "❌ Error connecting to formation server: %v\n", err) - fmt.Fprintf(os.Stderr, "Make sure the leader node has run 'hive admin init' and is accessible at %s\n", leaderHost) + fmt.Fprintf(os.Stderr, "Make sure the leader node has run 'spx admin init' and is accessible at %s\n", leaderHost) os.Exit(1) } @@ -1188,9 +1188,9 @@ func runAdminJoin(cmd *cobra.Command, args []string) { awsgwDir := filepath.Join(configDir, "awsgw") predastoreDir := filepath.Join(configDir, "predastore") natsDir := filepath.Join(configDir, "nats") - hiveDir := filepath.Join(configDir, "hive") + spinifexDir := filepath.Join(configDir, "spinifex") - for _, dir := range []string{awsgwDir, predastoreDir, natsDir, hiveDir} { + for _, dir := range []string{awsgwDir, predastoreDir, natsDir, spinifexDir} { if err := os.MkdirAll(dir, 0700); err != nil { fmt.Fprintf(os.Stderr, "Error creating directory %s: %v\n", dir, err) os.Exit(1) @@ -1224,7 +1224,7 @@ func runAdminJoin(cmd *cobra.Command, args []string) { fmt.Printf("✅ Created: multi-node predastore.toml (node ID: %d)\n", predastoreNodeID) } - hiveTomlPath := filepath.Join(configDir, "hive.toml") + spinifexTomlPath := filepath.Join(configDir, "spinifex.toml") configSettings := admin.ConfigSettings{ AccessKey: creds.AccessKey, @@ -1250,7 +1250,7 @@ func runAdminJoin(cmd *cobra.Command, args []string) { // Generate config files configs := []admin.ConfigFile{ - {Name: "hive.toml", Path: hiveTomlPath, Template: hiveTomlTemplate}, + {Name: "spinifex.toml", Path: spinifexTomlPath, Template: spinifexTomlTemplate}, {Name: filepath.Join(awsgwDir, "awsgw.toml"), Path: filepath.Join(awsgwDir, "awsgw.toml"), Template: awsgwTomlTemplate}, {Name: filepath.Join(natsDir, "nats.conf"), Path: filepath.Join(natsDir, "nats.conf"), Template: natsConfTemplate}, } @@ -1291,7 +1291,7 @@ func runAdminJoin(cmd *cobra.Command, args []string) { } // buildRemoteNodes converts formation NodeInfo into RemoteNode entries, -// excluding the local node. This puts all cluster members into hive.toml +// excluding the local node. This puts all cluster members into spinifex.toml // so config is the source of truth for expected cluster membership. func buildRemoteNodes(allNodes map[string]formation.NodeInfo, localNode string) []admin.RemoteNode { var remote []admin.RemoteNode @@ -1409,7 +1409,7 @@ func runAccountCreate(cmd *cobra.Command, args []string) { } // Configure AWS CLI profile automatically - profileName := "hive-" + strings.ToLower(strings.ReplaceAll(name, " ", "-")) + profileName := "spinifex-" + strings.ToLower(strings.ReplaceAll(name, " ", "-")) homeDir, _ := os.UserHomeDir() endpointHost := "localhost" diff --git a/cmd/spinifex/cmd/get.go b/cmd/spinifex/cmd/get.go index 4fdaa0572..0e5c6624b 100644 --- a/cmd/spinifex/cmd/get.go +++ b/cmd/spinifex/cmd/get.go @@ -75,7 +75,7 @@ func loadConfigAndConnect() (*config.ClusterConfig, *nats.Conn, error) { } // Backfill BaseDir from config file path when not set in the config. - // Config lives at /config/hive.toml, so baseDir is two levels up. + // Config lives at /config/spinifex.toml, so baseDir is two levels up. if nodeConfig, ok := cfg.Nodes[cfg.Node]; ok && nodeConfig.BaseDir == "" { nodeConfig.BaseDir = filepath.Dir(filepath.Dir(cfgPath)) cfg.Nodes[cfg.Node] = nodeConfig diff --git a/cmd/spinifex/cmd/paths.go b/cmd/spinifex/cmd/paths.go index 0d5a5f3d5..dba84dd7a 100644 --- a/cmd/spinifex/cmd/paths.go +++ b/cmd/spinifex/cmd/paths.go @@ -6,37 +6,37 @@ import ( ) // DefaultConfigDir returns the default configuration directory. -// Production: /etc/hive (when running as root or /etc/hive exists) -// Development: ~/hive/config +// Production: /etc/spinifex (when running as root or /etc/spinifex exists) +// Development: ~/spinifex/config func DefaultConfigDir() string { if isProductionLayout() { - return "/etc/hive" + return "/etc/spinifex" } homeDir, _ := os.UserHomeDir() - return filepath.Join(homeDir, "hive", "config") + return filepath.Join(homeDir, "spinifex", "config") } // DefaultDataDir returns the default data directory. -// Production: /var/lib/hive -// Development: ~/hive +// Production: /var/lib/spinifex +// Development: ~/spinifex func DefaultDataDir() string { if isProductionLayout() { - return "/var/lib/hive" + return "/var/lib/spinifex" } homeDir, _ := os.UserHomeDir() - return filepath.Join(homeDir, "hive") + return filepath.Join(homeDir, "spinifex") } -// DefaultConfigFile returns the default path to hive.toml. +// DefaultConfigFile returns the default path to spinifex.toml. func DefaultConfigFile() string { - return filepath.Join(DefaultConfigDir(), "hive.toml") + return filepath.Join(DefaultConfigDir(), "spinifex.toml") } // isProductionLayout returns true when running in a production install. -// Detected by: running as root, or /etc/hive directory exists. +// Detected by: running as root, or /etc/spinifex directory exists. func isProductionLayout() bool { if os.Getuid() == 0 { - if info, err := os.Stat("/etc/hive"); err == nil && info.IsDir() { + if info, err := os.Stat("/etc/spinifex"); err == nil && info.IsDir() { return true } } diff --git a/cmd/spinifex/cmd/paths_test.go b/cmd/spinifex/cmd/paths_test.go index 3ac95b0ad..e2cf2678d 100644 --- a/cmd/spinifex/cmd/paths_test.go +++ b/cmd/spinifex/cmd/paths_test.go @@ -7,13 +7,13 @@ import ( ) func TestDefaultConfigDir_Dev(t *testing.T) { - // Non-root user without /etc/hive should get dev paths + // Non-root user without /etc/spinifex should get dev paths if os.Getuid() == 0 { t.Skip("test requires non-root user") } homeDir, _ := os.UserHomeDir() - expected := filepath.Join(homeDir, "hive", "config") + expected := filepath.Join(homeDir, "spinifex", "config") got := DefaultConfigDir() if got != expected { t.Errorf("DefaultConfigDir() = %q, want %q", got, expected) @@ -26,7 +26,7 @@ func TestDefaultDataDir_Dev(t *testing.T) { } homeDir, _ := os.UserHomeDir() - expected := filepath.Join(homeDir, "hive") + expected := filepath.Join(homeDir, "spinifex") got := DefaultDataDir() if got != expected { t.Errorf("DefaultDataDir() = %q, want %q", got, expected) @@ -40,7 +40,7 @@ func TestDefaultConfigFile(t *testing.T) { got := DefaultConfigFile() homeDir, _ := os.UserHomeDir() - expected := filepath.Join(homeDir, "hive", "config", "hive.toml") + expected := filepath.Join(homeDir, "spinifex", "config", "spinifex.toml") if got != expected { t.Errorf("DefaultConfigFile() = %q, want %q", got, expected) } diff --git a/cmd/spinifex/cmd/root.go b/cmd/spinifex/cmd/root.go index 9fad72870..a253a6a1e 100644 --- a/cmd/spinifex/cmd/root.go +++ b/cmd/spinifex/cmd/root.go @@ -64,38 +64,38 @@ func init() { // Global flags rootCmd.PersistentFlags().String("config", "", "config file (required)") - viper.BindEnv("config", "HIVE_CONFIG_PATH") + viper.BindEnv("config", "SPINIFEX_CONFIG_PATH") viper.BindPFlag("config", rootCmd.PersistentFlags().Lookup("config")) // Authentication (access_key, secret) rootCmd.PersistentFlags().String("access-key", "", "AWS access key (overrides config file and env)") - viper.BindEnv("access-key", "HIVE_ACCESS_KEY") + viper.BindEnv("access-key", "SPINIFEX_ACCESS_KEY") viper.BindPFlag("access-key", rootCmd.PersistentFlags().Lookup("access-key")) rootCmd.PersistentFlags().String("secret-key", "", "AWS secret key (overrides config file and env)") - viper.BindEnv("secret-key", "HIVE_SECRET_KEY") + viper.BindEnv("secret-key", "SPINIFEX_SECRET_KEY") viper.BindPFlag("secret-key", rootCmd.PersistentFlags().Lookup("secret-key")) rootCmd.PersistentFlags().String("host", "", "AWS Endpoint (overrides config file and env)") - viper.BindEnv("host", "HIVE_HOST") + viper.BindEnv("host", "SPINIFEX_HOST") viper.BindPFlag("host", rootCmd.PersistentFlags().Lookup("host")) // Viperblock config rootCmd.PersistentFlags().String("base-dir", "", "Viperblock base directory (overrides config file and env)") - viper.BindEnv("base-dir", "HIVE_BASE_DIR") + viper.BindEnv("base-dir", "SPINIFEX_BASE_DIR") viper.BindPFlag("base-dir", rootCmd.PersistentFlags().Lookup("base-dir")) // NATS specific flags rootCmd.PersistentFlags().String("nats-host", "", "NATS server host (overrides config file and env)") - viper.BindEnv("nats-host", "HIVE_NATS_HOST") + viper.BindEnv("nats-host", "SPINIFEX_NATS_HOST") viper.BindPFlag("nats-host", rootCmd.PersistentFlags().Lookup("nats-host")) rootCmd.PersistentFlags().String("nats-token", "", "NATS authentication token (overrides config file and env)") - viper.BindEnv("nats-token", "HIVE_NATS_TOKEN") + viper.BindEnv("nats-token", "SPINIFEX_NATS_TOKEN") viper.BindPFlag("nats-token", rootCmd.PersistentFlags().Lookup("nats-token")) rootCmd.PersistentFlags().String("nats-subject", "", "NATS subscription subject (overrides config file and env)") - viper.BindEnv("nats-subject", "HIVE_NATS_SUBJECT") + viper.BindEnv("nats-subject", "SPINIFEX_NATS_SUBJECT") viper.BindPFlag("nats-subject", rootCmd.PersistentFlags().Lookup("nats-subject")) // Bind flags to viper diff --git a/cmd/spinifex/cmd/service.go b/cmd/spinifex/cmd/service.go index bb6962fce..16ee3a69e 100644 --- a/cmd/spinifex/cmd/service.go +++ b/cmd/spinifex/cmd/service.go @@ -745,7 +745,7 @@ var vpcdStatusCmd = &cobra.Command{ func init() { - viper.SetEnvPrefix("HIVE") // Prefix for environment variables + viper.SetEnvPrefix("SPINIFEX") // Prefix for environment variables viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_")) viper.AutomaticEnv() // Read environment variables automatically @@ -756,47 +756,47 @@ func init() { // Predastore Port predastoreCmd.PersistentFlags().Int("port", 8443, "Predastore (S3) port") - viper.BindEnv("port", "HIVE_PREDASTORE_PORT") + viper.BindEnv("port", "SPINIFEX_PREDASTORE_PORT") viper.BindPFlag("port", predastoreCmd.PersistentFlags().Lookup("port")) // Predastore Host predastoreCmd.PersistentFlags().String("host", "0.0.0.0", "Predastore (S3) host") - viper.BindEnv("host", "HIVE_PREDASTORE_HOST") + viper.BindEnv("host", "SPINIFEX_PREDASTORE_HOST") viper.BindPFlag("host", predastoreCmd.PersistentFlags().Lookup("host")) // Base path predastoreCmd.PersistentFlags().String("base-path", "", "Predastore (S3) base path") - viper.BindEnv("base-path", "HIVE_PREDASTORE_BASE_PATH") + viper.BindEnv("base-path", "SPINIFEX_PREDASTORE_BASE_PATH") viper.BindPFlag("base-path", predastoreCmd.PersistentFlags().Lookup("base-path")) // Predastore Config Path predastoreCmd.PersistentFlags().String("config-path", "", "Predastore (S3) config path") - viper.BindEnv("config-path", "HIVE_PREDASTORE_CONFIG_PATH") + viper.BindEnv("config-path", "SPINIFEX_PREDASTORE_CONFIG_PATH") viper.BindPFlag("config-path", predastoreCmd.PersistentFlags().Lookup("config-path")) // Predastore Debug predastoreCmd.PersistentFlags().Bool("debug", false, "Predastore (S3) debug") - viper.BindEnv("debug", "HIVE_PREDASTORE_DEBUG") + viper.BindEnv("debug", "SPINIFEX_PREDASTORE_DEBUG") viper.BindPFlag("debug", predastoreCmd.PersistentFlags().Lookup("debug")) // Predastore TLS Cert predastoreCmd.PersistentFlags().String("tls-cert", "", "Predastore (S3) TLS certificate") - viper.BindEnv("tls-cert", "HIVE_PREDASTORE_TLS_CERT") + viper.BindEnv("tls-cert", "SPINIFEX_PREDASTORE_TLS_CERT") viper.BindPFlag("tls-cert", predastoreCmd.PersistentFlags().Lookup("tls-cert")) // Predastore TLS Key predastoreCmd.PersistentFlags().String("tls-key", "", "Predastore (S3) TLS key") - viper.BindEnv("tls-key", "HIVE_PREDASTORE_TLS_KEY") + viper.BindEnv("tls-key", "SPINIFEX_PREDASTORE_TLS_KEY") viper.BindPFlag("tls-key", predastoreCmd.PersistentFlags().Lookup("tls-key")) // Predastore Backend predastoreCmd.PersistentFlags().String("backend", "distributed", "Predastore (S3) backend") - viper.BindEnv("backend", "HIVE_PREDASTORE_BACKEND") + viper.BindEnv("backend", "SPINIFEX_PREDASTORE_BACKEND") viper.BindPFlag("backend", predastoreCmd.PersistentFlags().Lookup("backend")) // Predastore Node ID predastoreCmd.PersistentFlags().Int("node-id", 0, "Predastore (S3) node ID") - viper.BindEnv("node-id", "HIVE_PREDASTORE_NODE_ID") + viper.BindEnv("node-id", "SPINIFEX_PREDASTORE_NODE_ID") viper.BindPFlag("node-id", predastoreCmd.PersistentFlags().Lookup("node-id")) // Predastore CPU Profiling @@ -816,19 +816,19 @@ func init() { serviceCmd.AddCommand(viperblockCmd) viperblockCmd.PersistentFlags().String("s3-host", "0.0.0.0:8443", "Predastore (S3) host URI") - viper.BindEnv("s3-host", "HIVE_VIPERBLOCK_S3_HOST") + viper.BindEnv("s3-host", "SPINIFEX_VIPERBLOCK_S3_HOST") viper.BindPFlag("s3-host", predastoreCmd.PersistentFlags().Lookup("s3-host")) viperblockCmd.PersistentFlags().String("s3-bucket", "predastore", "Predastore (S3) bucket") - viper.BindEnv("s3-bucket", "HIVE_VIPERBLOCK_S3_BUCKET") + viper.BindEnv("s3-bucket", "SPINIFEX_VIPERBLOCK_S3_BUCKET") viper.BindPFlag("s3-bucket", predastoreCmd.PersistentFlags().Lookup("s3-bucket")) viperblockCmd.PersistentFlags().String("s3-region", "ap-southeast-2", "Predastore (S3) region") - viper.BindEnv("s3-region", "HIVE_VIPERBLOCK_S3_REGION") + viper.BindEnv("s3-region", "SPINIFEX_VIPERBLOCK_S3_REGION") viper.BindPFlag("s3-region", predastoreCmd.PersistentFlags().Lookup("s3-region")) viperblockCmd.PersistentFlags().String("plugin-path", "/opt/spinifex/lib/nbdkit-viperblock-plugin.so", "Pathname to the nbdkit viperblockplugin") - viper.BindEnv("plugin-path", "HIVE_VIPERBLOCK_PLUGIN_PATH") + viper.BindEnv("plugin-path", "SPINIFEX_VIPERBLOCK_PLUGIN_PATH") viper.BindPFlag("plugin-path", predastoreCmd.PersistentFlags().Lookup("plugin-path")) viperblockCmd.AddCommand(viperblockStartCmd) @@ -844,23 +844,23 @@ func init() { // Add NATS flags natsCmd.PersistentFlags().Int("port", 4222, "NATS server port") - viper.BindEnv("port", "HIVE_NATS_PORT") + viper.BindEnv("port", "SPINIFEX_NATS_PORT") viper.BindPFlag("port", natsCmd.PersistentFlags().Lookup("port")) natsCmd.PersistentFlags().String("host", "0.0.0.0", "NATS server host") - viper.BindEnv("host", "HIVE_NATS_HOST") + viper.BindEnv("host", "SPINIFEX_NATS_HOST") viper.BindPFlag("host", natsCmd.PersistentFlags().Lookup("host")) natsCmd.PersistentFlags().Bool("debug", false, "Enable debug logging") - viper.BindEnv("debug", "HIVE_NATS_DEBUG") + viper.BindEnv("debug", "SPINIFEX_NATS_DEBUG") viper.BindPFlag("debug", natsCmd.PersistentFlags().Lookup("debug")) natsCmd.PersistentFlags().String("data-dir", "", "NATS data directory") - viper.BindEnv("data-dir", "HIVE_NATS_DATA_DIR") + viper.BindEnv("data-dir", "SPINIFEX_NATS_DATA_DIR") viper.BindPFlag("data-dir", natsCmd.PersistentFlags().Lookup("data-dir")) natsCmd.PersistentFlags().Bool("jetstream", false, "Enable JetStream") - viper.BindEnv("jetstream", "HIVE_NATS_JETSTREAM") + viper.BindEnv("jetstream", "SPINIFEX_NATS_JETSTREAM") viper.BindPFlag("jetstream", natsCmd.PersistentFlags().Lookup("jetstream")) // Hive @@ -871,28 +871,28 @@ func init() { spinifexCmd.AddCommand(spinifexStatusCmd) spinifexCmd.PersistentFlags().String("wal-dir", "", "Write-ahead log (WAL) directory. Place on high-speed NVMe disk, or tmpfs for development.") - viper.BindEnv("wal-dir", "HIVE_WAL_DIR") + viper.BindEnv("wal-dir", "SPINIFEX_WAL_DIR") viper.BindPFlag("wal-dir", spinifexCmd.PersistentFlags().Lookup("wal-dir")) // AWS GW serviceCmd.AddCommand(awsgwCmd) awsgwCmd.PersistentFlags().String("host", "0.0.0.0:9999", "AWS Gateway server host") - viper.BindEnv("host", "HIVE_AWSGW_HOST") + viper.BindEnv("host", "SPINIFEX_AWSGW_HOST") viper.BindPFlag("host", awsgwCmd.PersistentFlags().Lookup("host")) // AWS GW TLS Cert awsgwCmd.PersistentFlags().String("tls-cert", "", "AWS Gateway TLS certificate") - viper.BindEnv("tls-cert", "HIVE_AWSGW_TLS_CERT") + viper.BindEnv("tls-cert", "SPINIFEX_AWSGW_TLS_CERT") viper.BindPFlag("tls-cert", awsgwCmd.PersistentFlags().Lookup("tls-cert")) // AWS GW TLS Key awsgwCmd.PersistentFlags().String("tls-key", "", "AWS Gateway TLS key") - viper.BindEnv("tls-key", "HIVE_AWSGW_TLS_KEY") + viper.BindEnv("tls-key", "SPINIFEX_AWSGW_TLS_KEY") viper.BindPFlag("tls-key", awsgwCmd.PersistentFlags().Lookup("tls-key")) awsgwCmd.PersistentFlags().Bool("debug", false, "AWS Gateway Debug") - viper.BindEnv("debug", "HIVE_AWSGW_DEBUG") + viper.BindEnv("debug", "SPINIFEX_AWSGW_DEBUG") viper.BindPFlag("debug", awsgwCmd.PersistentFlags().Lookup("debug")) awsgwCmd.AddCommand(awsgwStartCmd) @@ -903,19 +903,19 @@ func init() { serviceCmd.AddCommand(spinifexUICmd) spinifexUICmd.PersistentFlags().Int("port", 3000, "spinifex-ui server port") - viper.BindEnv("spinifex-ui-port", "HIVE_UI_PORT") + viper.BindEnv("spinifex-ui-port", "SPINIFEX_UI_PORT") viper.BindPFlag("spinifex-ui-port", spinifexUICmd.PersistentFlags().Lookup("port")) spinifexUICmd.PersistentFlags().String("host", "0.0.0.0", "spinifex-ui server host") - viper.BindEnv("spinifex-ui-host", "HIVE_UI_HOST") + viper.BindEnv("spinifex-ui-host", "SPINIFEX_UI_HOST") viper.BindPFlag("spinifex-ui-host", spinifexUICmd.PersistentFlags().Lookup("host")) spinifexUICmd.PersistentFlags().String("tls-cert", "", "TLS certificate path") - viper.BindEnv("spinifex-ui-tls-cert", "HIVE_UI_TLS_CERT") + viper.BindEnv("spinifex-ui-tls-cert", "SPINIFEX_UI_TLS_CERT") viper.BindPFlag("spinifex-ui-tls-cert", spinifexUICmd.PersistentFlags().Lookup("tls-cert")) spinifexUICmd.PersistentFlags().String("tls-key", "", "TLS key path") - viper.BindEnv("spinifex-ui-tls-key", "HIVE_UI_TLS_KEY") + viper.BindEnv("spinifex-ui-tls-key", "SPINIFEX_UI_TLS_KEY") viper.BindPFlag("spinifex-ui-tls-key", spinifexUICmd.PersistentFlags().Lookup("tls-key")) spinifexUICmd.AddCommand(spinifexUIStartCmd) diff --git a/cmd/spinifex/cmd/templates/nats.conf b/cmd/spinifex/cmd/templates/nats.conf index 87bf83c2c..be94dfeaa 100644 --- a/cmd/spinifex/cmd/templates/nats.conf +++ b/cmd/spinifex/cmd/templates/nats.conf @@ -1,5 +1,5 @@ # NATS Server Configuration -# Generated by Hive admin init +# Generated by Spinifex admin init # Server configuration {{- if .BindIP }} @@ -22,7 +22,7 @@ cluster { } {{- end }} -server_name: hive-nats-{{.Node}} +server_name: spinifex-nats-{{.Node}} # Authorization authorization { diff --git a/cmd/spinifex/cmd/templates/hive.toml b/cmd/spinifex/cmd/templates/spinifex.toml similarity index 100% rename from cmd/spinifex/cmd/templates/hive.toml rename to cmd/spinifex/cmd/templates/spinifex.toml diff --git a/spinifex/admin/admin.go b/spinifex/admin/admin.go index aebb1fed4..1e528558b 100644 --- a/spinifex/admin/admin.go +++ b/spinifex/admin/admin.go @@ -145,7 +145,7 @@ func GenerateCertificatesIfNeeded(configDir string, force bool, bindIP string) ( // Print instructions for adding CA to system trust store fmt.Println("\n📋 To trust the Hive CA system-wide (recommended):") - fmt.Printf(" sudo cp %s /usr/local/share/ca-certificates/hive-ca.crt\n", caCertPath) + fmt.Printf(" sudo cp %s /usr/local/share/ca-certificates/spinifex-ca.crt\n", caCertPath) fmt.Println(" sudo update-ca-certificates") fmt.Println("\n This allows AWS CLI and other tools to trust Hive services automatically.") } else { diff --git a/spinifex/config/config.go b/spinifex/config/config.go index 4755462f3..dee6cf6d1 100644 --- a/spinifex/config/config.go +++ b/spinifex/config/config.go @@ -12,7 +12,7 @@ import ( type ClusterConfig struct { Epoch uint64 `mapstructure:"epoch"` // bump when leader commits changes Node string `mapstructure:"node"` // my node name - Version string `mapstructure:"version"` // hive version + Version string `mapstructure:"version"` // spinifex version Nodes map[string]Config `mapstructure:"nodes"` // full config for every node } @@ -134,7 +134,7 @@ func (c Config) GetServices() []string { // LoadConfig loads the configuration from file and environment variables func LoadConfig(configPath string) (*ClusterConfig, error) { // Set environment variable prefix - viper.SetEnvPrefix("HIVE") + viper.SetEnvPrefix("SPINIFEX") viper.AutomaticEnv() // Try to load config file if it exists diff --git a/spinifex/config/config_test.go b/spinifex/config/config_test.go index ae9c2cf11..7d0f8ed09 100644 --- a/spinifex/config/config_test.go +++ b/spinifex/config/config_test.go @@ -17,7 +17,7 @@ func resetViper(t *testing.T) { func TestLoadConfig_ValidTOMLFile(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") toml := ` version = "1.0" @@ -66,7 +66,7 @@ region = "us-east-1" func TestLoadConfig_MultipleNodes(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") toml := ` epoch = 2 @@ -100,7 +100,7 @@ func TestLoadConfig_EmptyConfigPath(t *testing.T) { func TestLoadConfig_NonexistentFile(t *testing.T) { resetViper(t) - cfg, err := LoadConfig("/tmp/nonexistent-hive-config-test-12345.toml") + cfg, err := LoadConfig("/tmp/nonexistent-spinifex-config-test-12345.toml") // Not an error - falls through to defaults require.NoError(t, err) require.NotNil(t, cfg) @@ -137,7 +137,7 @@ epoch = 5 func TestLoadConfig_EnvVarOverrideWithFile(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") // Viper's AutomaticEnv only works for keys Viper already knows about // (from a config file or explicit BindEnv). Provide a minimal config @@ -146,7 +146,7 @@ func TestLoadConfig_EnvVarOverrideWithFile(t *testing.T) { node = "file-node" `), 0600)) - t.Setenv("HIVE_NODE", "env-node") + t.Setenv("SPINIFEX_NODE", "env-node") cfg, err := LoadConfig(path) require.NoError(t, err) @@ -305,7 +305,7 @@ func TestNodeBaseDir_EmptyBaseDir(t *testing.T) { func TestLoadConfig_ViperblockShardWAL_Explicit(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") toml := ` node = "n1" @@ -329,7 +329,7 @@ shardwal = false func TestLoadConfig_ViperblockShardWAL_DefaultNil(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") toml := ` node = "n1" @@ -349,7 +349,7 @@ region = "us-east-1" func TestLoadConfig_ViperblockShardWAL_True(t *testing.T) { resetViper(t) dir := t.TempDir() - path := filepath.Join(dir, "hive.toml") + path := filepath.Join(dir, "spinifex.toml") toml := ` node = "n1" diff --git a/spinifex/daemon/shutdown.go b/spinifex/daemon/shutdown.go index 6e41094a2..886b1b688 100644 --- a/spinifex/daemon/shutdown.go +++ b/spinifex/daemon/shutdown.go @@ -15,7 +15,7 @@ import ( // pidDir returns the directory containing shell-level PID files for this node. // start-dev.sh writes PID files to $DATA_DIR/logs/ and the daemon's BaseDir is -// always $DATA_DIR/hive/, so we derive the logs directory from that. Each node +// always $DATA_DIR/spinifex/, so we derive the logs directory from that. Each node // has its own DATA_DIR, so this is safe for simulated multi-node on a single host. func (d *Daemon) pidDir() string { if d.config.BaseDir != "" { diff --git a/spinifex/utils/pidfile.go b/spinifex/utils/pidfile.go index 3722262a6..f41e53ea0 100644 --- a/spinifex/utils/pidfile.go +++ b/spinifex/utils/pidfile.go @@ -43,7 +43,7 @@ func GeneratePidFile(name string) (string, error) { func WritePidFile(name string, pid int) error { - // Write PID to file, check XDG, otherwise user home directory ~/hive/ + // Write PID to file, check XDG, otherwise user home directory ~/spinifex/ pidFilename, err := GeneratePidFile(name) if err != nil { From b97a98e2b771f640af3952069f41674b02dc6085 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 00:53:34 +0000 Subject: [PATCH 05/12] refactor: rename systemd units and logrotate from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename all build/systemd/hive-* → spinifex-* - Rename build/logrotate/hive → spinifex - Update unit contents: descriptions, dependencies, user/group, paths - Binary path set to /usr/local/bin/spx --- build/logrotate/{hive => spinifex} | 2 +- build/systemd/hive-awsgw.service | 22 ---------------------- build/systemd/hive-daemon.service | 21 --------------------- build/systemd/hive-nats.service | 17 ----------------- build/systemd/hive-predastore.service | 22 ---------------------- build/systemd/hive-ui.service | 16 ---------------- build/systemd/hive-viperblock.service | 21 --------------------- build/systemd/hive-vpcd.service | 19 ------------------- build/systemd/hive.target | 8 -------- build/systemd/spinifex-awsgw.service | 22 ++++++++++++++++++++++ build/systemd/spinifex-daemon.service | 21 +++++++++++++++++++++ build/systemd/spinifex-nats.service | 17 +++++++++++++++++ build/systemd/spinifex-predastore.service | 22 ++++++++++++++++++++++ build/systemd/spinifex-ui.service | 16 ++++++++++++++++ build/systemd/spinifex-viperblock.service | 21 +++++++++++++++++++++ build/systemd/spinifex-vpcd.service | 19 +++++++++++++++++++ build/systemd/spinifex.target | 8 ++++++++ 17 files changed, 147 insertions(+), 147 deletions(-) rename build/logrotate/{hive => spinifex} (79%) delete mode 100644 build/systemd/hive-awsgw.service delete mode 100644 build/systemd/hive-daemon.service delete mode 100644 build/systemd/hive-nats.service delete mode 100644 build/systemd/hive-predastore.service delete mode 100644 build/systemd/hive-ui.service delete mode 100644 build/systemd/hive-viperblock.service delete mode 100644 build/systemd/hive-vpcd.service delete mode 100644 build/systemd/hive.target create mode 100644 build/systemd/spinifex-awsgw.service create mode 100644 build/systemd/spinifex-daemon.service create mode 100644 build/systemd/spinifex-nats.service create mode 100644 build/systemd/spinifex-predastore.service create mode 100644 build/systemd/spinifex-ui.service create mode 100644 build/systemd/spinifex-viperblock.service create mode 100644 build/systemd/spinifex-vpcd.service create mode 100644 build/systemd/spinifex.target diff --git a/build/logrotate/hive b/build/logrotate/spinifex similarity index 79% rename from build/logrotate/hive rename to build/logrotate/spinifex index be7c8784d..e9482aeff 100644 --- a/build/logrotate/hive +++ b/build/logrotate/spinifex @@ -1,4 +1,4 @@ -/var/log/hive/*.log { +/var/log/spinifex/*.log { daily rotate 14 compress diff --git a/build/systemd/hive-awsgw.service b/build/systemd/hive-awsgw.service deleted file mode 100644 index cdbfe1e1f..000000000 --- a/build/systemd/hive-awsgw.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Hive AWS Gateway -PartOf=hive.target -After=hive-nats.service hive-daemon.service -Requires=hive-nats.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' -ExecStart=/usr/local/bin/hive service awsgw start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -Environment=HIVE_CONFIG_PATH=/etc/hive/hive.toml -Environment=HIVE_BASE_DIR=/var/lib/hive/ -Environment=HIVE_AWSGW_TLS_CERT=/etc/hive/server.pem -Environment=HIVE_AWSGW_TLS_KEY=/etc/hive/server.key - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-daemon.service b/build/systemd/hive-daemon.service deleted file mode 100644 index 1aa2efcf8..000000000 --- a/build/systemd/hive-daemon.service +++ /dev/null @@ -1,21 +0,0 @@ -[Unit] -Description=Hive Daemon (VM Orchestration) -PartOf=hive.target -After=hive-nats.service hive-viperblock.service -Requires=hive-nats.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' -ExecStart=/usr/local/bin/hive service hive start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -Environment=HIVE_CONFIG_PATH=/etc/hive/hive.toml -Environment=HIVE_BASE_DIR=/var/lib/hive/hive/ -Environment=HIVE_WAL_DIR=/var/lib/hive/hive/ - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-nats.service b/build/systemd/hive-nats.service deleted file mode 100644 index b686b1454..000000000 --- a/build/systemd/hive-nats.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Hive NATS Message Bus -PartOf=hive.target -Before=hive-predastore.service hive-daemon.service hive-awsgw.service hive-vpcd.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStart=/usr/local/bin/hive service nats start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -Environment=HIVE_CONFIG_PATH=/etc/hive/nats/nats.conf - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-predastore.service b/build/systemd/hive-predastore.service deleted file mode 100644 index 0463fb457..000000000 --- a/build/systemd/hive-predastore.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Hive Predastore (S3-compatible Object Storage) -PartOf=hive.target -After=hive-nats.service -Requires=hive-nats.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' -ExecStart=/usr/local/bin/hive service predastore start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -Environment=HIVE_PREDASTORE_CONFIG_PATH=/etc/hive/predastore/predastore.toml -Environment=HIVE_PREDASTORE_BASE_PATH=/var/lib/hive/predastore/ -Environment=HIVE_PREDASTORE_TLS_CERT=/etc/hive/server.pem -Environment=HIVE_PREDASTORE_TLS_KEY=/etc/hive/server.key - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-ui.service b/build/systemd/hive-ui.service deleted file mode 100644 index 09ec312a8..000000000 --- a/build/systemd/hive-ui.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=Hive Web UI -PartOf=hive.target -After=hive-awsgw.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStart=/usr/local/bin/hive service hive-ui start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-viperblock.service b/build/systemd/hive-viperblock.service deleted file mode 100644 index 0c61ddc07..000000000 --- a/build/systemd/hive-viperblock.service +++ /dev/null @@ -1,21 +0,0 @@ -[Unit] -Description=Hive Viperblock (Block Storage) -PartOf=hive.target -After=hive-nats.service hive-predastore.service -Requires=hive-nats.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' -ExecStart=/usr/local/bin/hive service viperblock start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -EnvironmentFile=/etc/hive/systemd.env -Environment=HIVE_CONFIG_PATH=/etc/hive/hive.toml -Environment=HIVE_BASE_DIR=/var/lib/hive/viperblock/ - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive-vpcd.service b/build/systemd/hive-vpcd.service deleted file mode 100644 index 1e9bb10f7..000000000 --- a/build/systemd/hive-vpcd.service +++ /dev/null @@ -1,19 +0,0 @@ -[Unit] -Description=Hive VPC Daemon (OVN Networking) -PartOf=hive.target -After=hive-nats.service hive-daemon.service -Requires=hive-nats.service - -[Service] -Type=simple -User=hive -Group=hive -ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' -ExecStart=/usr/local/bin/hive service vpcd start -Restart=on-failure -RestartSec=5 -OOMScoreAdjust=-500 -Environment=HIVE_CONFIG_PATH=/etc/hive/hive.toml - -[Install] -WantedBy=hive.target diff --git a/build/systemd/hive.target b/build/systemd/hive.target deleted file mode 100644 index a790aee41..000000000 --- a/build/systemd/hive.target +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Hive Infrastructure Platform -After=network-online.target -Wants=network-online.target -Wants=hive-nats.service hive-predastore.service hive-viperblock.service hive-daemon.service hive-awsgw.service hive-vpcd.service hive-ui.service - -[Install] -WantedBy=multi-user.target diff --git a/build/systemd/spinifex-awsgw.service b/build/systemd/spinifex-awsgw.service new file mode 100644 index 000000000..385803bc9 --- /dev/null +++ b/build/systemd/spinifex-awsgw.service @@ -0,0 +1,22 @@ +[Unit] +Description=Spinifex AWS Gateway +PartOf=spinifex.target +After=spinifex-nats.service spinifex-daemon.service +Requires=spinifex-nats.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' +ExecStart=/usr/local/bin/spx service awsgw start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +Environment=SPINIFEX_CONFIG_PATH=/etc/spinifex/spinifex.toml +Environment=SPINIFEX_BASE_DIR=/var/lib/spinifex/ +Environment=SPINIFEX_AWSGW_TLS_CERT=/etc/spinifex/server.pem +Environment=SPINIFEX_AWSGW_TLS_KEY=/etc/spinifex/server.key + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-daemon.service b/build/systemd/spinifex-daemon.service new file mode 100644 index 000000000..35e718560 --- /dev/null +++ b/build/systemd/spinifex-daemon.service @@ -0,0 +1,21 @@ +[Unit] +Description=Spinifex Daemon (VM Orchestration) +PartOf=spinifex.target +After=spinifex-nats.service spinifex-viperblock.service +Requires=spinifex-nats.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' +ExecStart=/usr/local/bin/spx service spinifex start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +Environment=SPINIFEX_CONFIG_PATH=/etc/spinifex/spinifex.toml +Environment=SPINIFEX_BASE_DIR=/var/lib/spinifex/spinifex/ +Environment=SPINIFEX_WAL_DIR=/var/lib/spinifex/spinifex/ + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-nats.service b/build/systemd/spinifex-nats.service new file mode 100644 index 000000000..42797b81d --- /dev/null +++ b/build/systemd/spinifex-nats.service @@ -0,0 +1,17 @@ +[Unit] +Description=Spinifex NATS Message Bus +PartOf=spinifex.target +Before=spinifex-predastore.service spinifex-daemon.service spinifex-awsgw.service spinifex-vpcd.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStart=/usr/local/bin/spx service nats start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +Environment=SPINIFEX_CONFIG_PATH=/etc/spinifex/nats/nats.conf + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-predastore.service b/build/systemd/spinifex-predastore.service new file mode 100644 index 000000000..54f2ce34c --- /dev/null +++ b/build/systemd/spinifex-predastore.service @@ -0,0 +1,22 @@ +[Unit] +Description=Spinifex Predastore (S3-compatible Object Storage) +PartOf=spinifex.target +After=spinifex-nats.service +Requires=spinifex-nats.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' +ExecStart=/usr/local/bin/spx service predastore start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +Environment=SPINIFEX_PREDASTORE_CONFIG_PATH=/etc/spinifex/predastore/predastore.toml +Environment=SPINIFEX_PREDASTORE_BASE_PATH=/var/lib/spinifex/predastore/ +Environment=SPINIFEX_PREDASTORE_TLS_CERT=/etc/spinifex/server.pem +Environment=SPINIFEX_PREDASTORE_TLS_KEY=/etc/spinifex/server.key + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-ui.service b/build/systemd/spinifex-ui.service new file mode 100644 index 000000000..db2fc1bcd --- /dev/null +++ b/build/systemd/spinifex-ui.service @@ -0,0 +1,16 @@ +[Unit] +Description=Spinifex Web UI +PartOf=spinifex.target +After=spinifex-awsgw.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStart=/usr/local/bin/spx service spinifex-ui start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-viperblock.service b/build/systemd/spinifex-viperblock.service new file mode 100644 index 000000000..684edc791 --- /dev/null +++ b/build/systemd/spinifex-viperblock.service @@ -0,0 +1,21 @@ +[Unit] +Description=Spinifex Viperblock (Block Storage) +PartOf=spinifex.target +After=spinifex-nats.service spinifex-predastore.service +Requires=spinifex-nats.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' +ExecStart=/usr/local/bin/spx service viperblock start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +EnvironmentFile=/etc/spinifex/systemd.env +Environment=SPINIFEX_CONFIG_PATH=/etc/spinifex/spinifex.toml +Environment=SPINIFEX_BASE_DIR=/var/lib/spinifex/viperblock/ + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex-vpcd.service b/build/systemd/spinifex-vpcd.service new file mode 100644 index 000000000..3520e3a50 --- /dev/null +++ b/build/systemd/spinifex-vpcd.service @@ -0,0 +1,19 @@ +[Unit] +Description=Spinifex VPC Daemon (OVN Networking) +PartOf=spinifex.target +After=spinifex-nats.service spinifex-daemon.service +Requires=spinifex-nats.service + +[Service] +Type=simple +User=spinifex +Group=spinifex +ExecStartPre=/bin/sh -c 'for i in $(seq 1 30); do nc -z 127.0.0.1 4222 && exit 0; sleep 1; done; exit 1' +ExecStart=/usr/local/bin/spx service vpcd start +Restart=on-failure +RestartSec=5 +OOMScoreAdjust=-500 +Environment=SPINIFEX_CONFIG_PATH=/etc/spinifex/spinifex.toml + +[Install] +WantedBy=spinifex.target diff --git a/build/systemd/spinifex.target b/build/systemd/spinifex.target new file mode 100644 index 000000000..dcc4d5896 --- /dev/null +++ b/build/systemd/spinifex.target @@ -0,0 +1,8 @@ +[Unit] +Description=Spinifex Infrastructure Platform +After=network-online.target +Wants=network-online.target +Wants=spinifex-nats.service spinifex-predastore.service spinifex-viperblock.service spinifex-daemon.service spinifex-awsgw.service spinifex-vpcd.service spinifex-ui.service + +[Install] +WantedBy=multi-user.target From 5d937869958ff05fab088e810b3f7bfc49684d73 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:04:12 +0000 Subject: [PATCH 06/12] refactor: rename hive to spinifex in all shell scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update scripts/: start-dev, stop-dev, dev-setup, setup, setup-ovn, etc. - Update tests/e2e/: all E2E test scripts - Update scripts/iac/: rename hive-test.sh → spinifex-test.sh, update TF files - Update config/: rename hive.service and install script - Binary refs use spx, env vars use SPINIFEX_, paths use spinifex --- config/hive.service | 49 -- ...service.sh => install-spinifex-service.sh} | 28 +- config/spinifex.service | 49 ++ scripts/clone-deps.sh | 8 +- scripts/coverage.sh | 4 +- scripts/create-multi-node.sh | 8 +- scripts/dev-setup.sh | 48 +- scripts/iac/aws/main.tf | 24 +- scripts/iac/configure-cluster.sh | 14 +- scripts/iac/proxmox/variables.tf | 4 +- scripts/iac/proxmox/vms.tf | 2 +- .../iac/{hive-test.sh => spinifex-test.sh} | 18 +- scripts/iac/test-cluster.sh | 2 +- scripts/reset-dev-env.sh | 18 +- scripts/run-bench.sh | 50 +-- scripts/run-instance.sh | 18 +- scripts/setup-ovn.sh | 20 +- scripts/setup.sh | 188 ++++---- scripts/start-dev.sh | 146 +++--- scripts/start-multi-nats.sh | 2 +- scripts/stop-dev.sh | 44 +- tests/e2e/lib/multinode-helpers.sh | 14 +- tests/e2e/run-e2e.sh | 104 ++--- tests/e2e/run-multinode-e2e.sh | 80 ++-- tests/e2e/run-pseudo-multinode-e2e.sh | 418 +++++++++--------- tests/e2e/run-vpc-e2e.sh | 4 +- 26 files changed, 682 insertions(+), 682 deletions(-) delete mode 100644 config/hive.service rename config/{install-hive-service.sh => install-spinifex-service.sh} (60%) create mode 100644 config/spinifex.service rename scripts/iac/{hive-test.sh => spinifex-test.sh} (90%) diff --git a/config/hive.service b/config/hive.service deleted file mode 100644 index 17c02c47a..000000000 --- a/config/hive.service +++ /dev/null @@ -1,49 +0,0 @@ -[Unit] -Description=Hive Services -Documentation=https://github.com/mulgadc/hive -After=network.target -Wants=network.target - -[Service] -Type=oneshot -RemainAfterExit=yes -User=root -Group=root -WorkingDirectory=/opt/hive -Environment=PATH=/opt/hive/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - -# Start NATS service -ExecStart=/opt/hive/bin/hive service nats start -ExecStartPost=/bin/sleep 3 - -# Start Predastore service -ExecStart=/opt/hive/bin/hive service predastore start -ExecStartPost=/bin/sleep 2 - -# Start Viperblock service -ExecStart=/opt/hive/bin/hive service viperblock start - -# Stop services in reverse order -ExecStop=/opt/hive/bin/hive service viperblock stop -ExecStopPost=/bin/sleep 2 -ExecStop=/opt/hive/bin/hive service predastore stop -ExecStopPost=/bin/sleep 2 -ExecStop=/opt/hive/bin/hive service nats stop - -# Restart policy -Restart=on-failure -RestartSec=10 - -# Security settings -NoNewPrivileges=true -ProtectSystem=strict -ProtectHome=true -ReadWritePaths=/opt/hive /var/log /var/run - -# Logging -StandardOutput=journal -StandardError=journal -SyslogIdentifier=hive - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/config/install-hive-service.sh b/config/install-spinifex-service.sh similarity index 60% rename from config/install-hive-service.sh rename to config/install-spinifex-service.sh index 793f94e08..da2901ca2 100755 --- a/config/install-hive-service.sh +++ b/config/install-spinifex-service.sh @@ -1,7 +1,7 @@ #!/bin/bash -# Hive Service Installation Script -# This script installs the hive systemd service on Ubuntu/Debian systems +# Spinifex Service Installation Script +# This script installs the spinifex systemd service on Ubuntu/Debian systems set -e @@ -38,7 +38,7 @@ fi # Get the directory where this script is located SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -SERVICE_FILE="$SCRIPT_DIR/hive.service" +SERVICE_FILE="$SCRIPT_DIR/spinifex.service" # Check if service file exists if [[ ! -f "$SERVICE_FILE" ]]; then @@ -46,7 +46,7 @@ if [[ ! -f "$SERVICE_FILE" ]]; then exit 1 fi -print_status "Installing Hive systemd service..." +print_status "Installing Spinifex systemd service..." # Copy service file to systemd directory cp "$SERVICE_FILE" /etc/systemd/system/ @@ -55,20 +55,20 @@ cp "$SERVICE_FILE" /etc/systemd/system/ systemctl daemon-reload # Enable the service to start on boot -systemctl enable hive.service +systemctl enable spinifex.service print_status "Service installed successfully!" print_status "You can now use the following commands:" -echo " systemctl start hive # Start the service" -echo " systemctl stop hive # Stop the service" -echo " systemctl status hive # Check service status" -echo " systemctl restart hive # Restart the service" -echo " journalctl -u hive -f # View service logs" +echo " systemctl start spinifex # Start the service" +echo " systemctl stop spinifex # Stop the service" +echo " systemctl status spinifex # Check service status" +echo " systemctl restart spinifex # Restart the service" +echo " journalctl -u spinifex -f # View service logs" -# Check if hive binary exists -if [[ ! -f "/opt/hive/bin/hive" ]]; then - print_warning "Hive binary not found at /opt/hive/bin/hive" - print_warning "Please ensure hive is installed in /opt/hive before starting the service" +# Check if spinifex binary exists +if [[ ! -f "/opt/spinifex/bin/spinifex" ]]; then + print_warning "Spinifex binary not found at /opt/spinifex/bin/spinifex" + print_warning "Please ensure spinifex is installed in /opt/spinifex before starting the service" fi print_status "Installation complete!" \ No newline at end of file diff --git a/config/spinifex.service b/config/spinifex.service new file mode 100644 index 000000000..23cbbd790 --- /dev/null +++ b/config/spinifex.service @@ -0,0 +1,49 @@ +[Unit] +Description=Spinifex Services +Documentation=https://github.com/mulgadc/spinifex +After=network.target +Wants=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +User=root +Group=root +WorkingDirectory=/opt/spinifex +Environment=PATH=/opt/spinifex/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +# Start NATS service +ExecStart=/opt/spinifex/bin/spinifex service nats start +ExecStartPost=/bin/sleep 3 + +# Start Predastore service +ExecStart=/opt/spinifex/bin/spinifex service predastore start +ExecStartPost=/bin/sleep 2 + +# Start Viperblock service +ExecStart=/opt/spinifex/bin/spinifex service viperblock start + +# Stop services in reverse order +ExecStop=/opt/spinifex/bin/spinifex service viperblock stop +ExecStopPost=/bin/sleep 2 +ExecStop=/opt/spinifex/bin/spinifex service predastore stop +ExecStopPost=/bin/sleep 2 +ExecStop=/opt/spinifex/bin/spinifex service nats stop + +# Restart policy +Restart=on-failure +RestartSec=10 + +# Security settings +NoNewPrivileges=true +ProtectSystem=strict +ProtectHome=true +ReadWritePaths=/opt/spinifex /var/log /var/run + +# Logging +StandardOutput=journal +StandardError=journal +SyslogIdentifier=spinifex + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/scripts/clone-deps.sh b/scripts/clone-deps.sh index 46af2b09b..ec10d6e59 100755 --- a/scripts/clone-deps.sh +++ b/scripts/clone-deps.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Hive Development Dependencies Setup Script +# Spinifex Development Dependencies Setup Script # This script clones Viperblock and Predastore repositories for cross-repo development # TODO: Improve, remove CLAUDE readme reference, simplify next-steps @@ -10,13 +10,13 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" MULGA_ROOT="$(cd "$PROJECT_ROOT/.." && pwd)" -echo "🏗️ Setting up Hive development environment..." +echo "🏗️ Setting up Spinifex development environment..." echo "Project root: $PROJECT_ROOT" echo "Mulga root: $MULGA_ROOT" # Check if we're in the correct directory structure if [[ ! -f "$PROJECT_ROOT/go.mod" ]]; then - echo "❌ Error: Cannot find go.mod. Please run this script from the hive repository." + echo "❌ Error: Cannot find go.mod. Please run this script from the spinifex repository." exit 1 fi @@ -70,7 +70,7 @@ fi # Verify directory structure echo "" echo "📁 Directory structure:" -ls -la "$MULGA_ROOT" | grep -E "(hive|viperblock|predastore)" || true +ls -la "$MULGA_ROOT" | grep -E "(spinifex|viperblock|predastore)" || true echo "" echo "🎉 Development environment setup complete!" diff --git a/scripts/coverage.sh b/scripts/coverage.sh index 34de0ddac..33187dd19 100755 --- a/scripts/coverage.sh +++ b/scripts/coverage.sh @@ -3,12 +3,12 @@ set -euo pipefail # Run Go tests with coverage and report total code coverage. -COVERPROFILE=$(mktemp /tmp/hive-coverage-XXXXXX.out) +COVERPROFILE=$(mktemp /tmp/spinifex-coverage-XXXXXX.out) trap 'rm -f "$COVERPROFILE"' EXIT echo "Running tests with coverage..." echo "" -LOG_IGNORE=1 go test -timeout 120s -coverprofile="$COVERPROFILE" -covermode=atomic ./hive/... 2>&1 +LOG_IGNORE=1 go test -timeout 120s -coverprofile="$COVERPROFILE" -covermode=atomic ./spinifex/... 2>&1 if [[ ! -s "$COVERPROFILE" ]]; then echo "No coverage data collected." diff --git a/scripts/create-multi-node.sh b/scripts/create-multi-node.sh index e18bb48f7..96b7e98f9 100755 --- a/scripts/create-multi-node.sh +++ b/scripts/create-multi-node.sh @@ -26,13 +26,13 @@ echo "=========================" echo "Starting init node (127.0.0.1) and joining nodes (127.0.0.2, 127.0.0.3)..." # Init blocks until all nodes join, so run in background -./bin/hive admin init \ +./bin/spx admin init \ --node node1 \ --nodes 3 \ --bind 127.0.0.1 \ --cluster-bind 127.0.0.1 \ --port 4432 \ - --hive-dir ~/node1/ \ + --spinifex-dir ~/node1/ \ --config-dir ~/node1/config/ \ --region ap-southeast-2 \ --az ap-southeast-2a & @@ -42,7 +42,7 @@ INIT_PID=$! sleep 2 # Join nodes concurrently -./bin/hive admin join \ +./bin/spx admin join \ --node node2 \ --bind 127.0.0.2 \ --cluster-bind 127.0.0.2 \ @@ -53,7 +53,7 @@ sleep 2 --az ap-southeast-2a & JOIN2_PID=$! -./bin/hive admin join \ +./bin/spx admin join \ --node node3 \ --bind 127.0.0.3 \ --cluster-bind 127.0.0.3 \ diff --git a/scripts/dev-setup.sh b/scripts/dev-setup.sh index 94c933b0d..950071c36 100755 --- a/scripts/dev-setup.sh +++ b/scripts/dev-setup.sh @@ -1,7 +1,7 @@ #!/bin/bash -# Hive Platform Development Environment Setup -# This script sets up a complete development environment for the Hive platform +# Spinifex Platform Development Environment Setup +# This script sets up a complete development environment for the Spinifex platform set -e @@ -12,17 +12,17 @@ MULGA_ROOT="$(cd "$PROJECT_ROOT/.." && pwd)" # Default configuration NATS_PORT=4222 PREDASTORE_PORT=8443 -HIVE_GATEWAY_PORT=9999 -DATA_DIR="$HOME/hive" -# Use CONFIG_DIR environment variable if set, otherwise default to ~/hive/config -CONFIG_DIR="${CONFIG_DIR:-$HOME/hive/config}" +SPINIFEX_GATEWAY_PORT=9999 +DATA_DIR="$HOME/spinifex" +# Use CONFIG_DIR environment variable if set, otherwise default to ~/spinifex/config +CONFIG_DIR="${CONFIG_DIR:-$HOME/spinifex/config}" -echo "🚀 Setting up Hive development environment..." +echo "🚀 Setting up Spinifex development environment..." echo "Project root: $PROJECT_ROOT" echo "Data directory: $DATA_DIR" # Create necessary directories -mkdir -p "$DATA_DIR"/{nats,predastore,viperblock,logs,hive} +mkdir -p "$DATA_DIR"/{nats,predastore,viperblock,logs,spinifex} mkdir -p "$CONFIG_DIR" # Function to check if command exists @@ -124,7 +124,7 @@ done echo "" echo "🔌 Checking port availability..." -ports=("$NATS_PORT:NATS" "$PREDASTORE_PORT:Predastore" "$HIVE_GATEWAY_PORT:Hive Gateway") +ports=("$NATS_PORT:NATS" "$PREDASTORE_PORT:Predastore" "$SPINIFEX_GATEWAY_PORT:Spinifex Gateway") for port_info in "${ports[@]}"; do port="${port_info%:*}" service="${port_info#*:}" @@ -135,24 +135,24 @@ for port_info in "${ports[@]}"; do fi done -# Build Hive first (needed for admin init) +# Build Spinifex first (needed for admin init) echo "" -echo "🔨 Building Hive..." +echo "🔨 Building Spinifex..." cd "$PROJECT_ROOT" make build -echo "✅ Hive built successfully" +echo "✅ Spinifex built successfully" -# Initialize Hive configuration using admin init +# Initialize Spinifex configuration using admin init #echo "" -#echo "🔐 Initializing Hive configuration..." +#echo "🔐 Initializing Spinifex configuration..." -#if [[ ! -f "$CONFIG_DIR/hive.toml" ]]; then -# echo "📋 Running hive admin init..." -# ./bin/hive admin init --config-dir "$CONFIG_DIR" -# echo "✅ Hive configuration initialized" +#if [[ ! -f "$CONFIG_DIR/spinifex.toml" ]]; then +# echo "📋 Running spx admin init..." +# ./bin/spx admin init --config-dir "$CONFIG_DIR" +# echo "✅ Spinifex configuration initialized" #else -# echo "✅ Hive configuration already exists" -# echo " To re-initialize, run: ./bin/hive admin init --force" +# echo "✅ Spinifex configuration already exists" +# echo " To re-initialize, run: ./bin/spx admin init --force" #fi # Build components @@ -182,9 +182,9 @@ fi echo "" echo "🎉 Development environment setup complete!" echo "" -echo "When running Hive for the first time, run the init function to create the" +echo "When running Spinifex for the first time, run the init function to create the" echo "default directories for data, config files and layout required." -echo "./bin/hive admin init" +echo "./bin/spx admin init" echo "" echo "🚀 To start the development environment:" echo " ./scripts/start-dev.sh" @@ -193,7 +193,7 @@ echo "🛑 To stop the development environment:" echo " ./scripts/stop-dev.sh" echo "" echo "🔧 Development endpoints:" -echo " - Hive Gateway: https://localhost:$HIVE_GATEWAY_PORT" +echo " - Spinifex Gateway: https://localhost:$SPINIFEX_GATEWAY_PORT" echo " - Predastore S3: https://localhost:$PREDASTORE_PORT" echo " - NATS: nats://localhost:$NATS_PORT" echo "" @@ -201,4 +201,4 @@ echo "📊 Monitor logs:" echo " tail -f $DATA_DIR/logs/*.log" echo "" echo "🧪 Test with AWS CLI:" -echo " aws --endpoint-url https://localhost:$HIVE_GATEWAY_PORT --no-verify-ssl ec2 describe-instances" +echo " aws --endpoint-url https://localhost:$SPINIFEX_GATEWAY_PORT --no-verify-ssl ec2 describe-instances" diff --git a/scripts/iac/aws/main.tf b/scripts/iac/aws/main.tf index 6b1a921a5..eca6e7705 100644 --- a/scripts/iac/aws/main.tf +++ b/scripts/iac/aws/main.tf @@ -79,19 +79,19 @@ data "aws_ami" "debian12" { } } -# Keypair: hive-test +# Keypair: spinifex-test resource "tls_private_key" "hive_test" { algorithm = "ED25519" } resource "aws_key_pair" "hive_test" { - key_name = "hive-test" + key_name = "spinifex-test" public_key = tls_private_key.hive_test.public_key_openssh } # Save private key locally for SSH resource "local_file" "hive_test_pem" { - filename = "${path.module}/hive-test.pem" + filename = "${path.module}/spinifex-test.pem" content = tls_private_key.hive_test.private_key_openssh file_permission = "0600" } @@ -103,7 +103,7 @@ resource "aws_vpc" "main" { enable_dns_support = true tags = { - Name = "hive-test-vpc" + Name = "spinifex-test-vpc" } } @@ -112,7 +112,7 @@ resource "aws_internet_gateway" "igw" { vpc_id = aws_vpc.main.id tags = { - Name = "hive-test-igw" + Name = "spinifex-test-igw" } } @@ -124,7 +124,7 @@ resource "aws_subnet" "public" { map_public_ip_on_launch = true tags = { - Name = "hive-test-public-subnet" + Name = "spinifex-test-public-subnet" } } @@ -137,7 +137,7 @@ resource "aws_route_table" "public" { } tags = { - Name = "hive-test-public-rt" + Name = "spinifex-test-public-rt" } } @@ -148,7 +148,7 @@ resource "aws_route_table_association" "public" { # 3: Security group resource "aws_security_group" "web_ssh" { - name = "hive-test-sg" + name = "spinifex-test-sg" description = "Allow inbound 22,80,443; allow all outbound" vpc_id = aws_vpc.main.id @@ -185,13 +185,13 @@ resource "aws_security_group" "web_ssh" { } tags = { - Name = "hive-test-sg" + Name = "spinifex-test-sg" } } # 4: Ensure 3 servers on different underlying hardware (spread placement group) resource "aws_placement_group" "spread" { - name = "hive-test-spread" + name = "spinifex-test-spread" strategy = "spread" } @@ -208,7 +208,7 @@ resource "aws_instance" "vm" { placement_group = aws_placement_group.spread.name tags = { - Name = "hive-test-vm-${count.index + 1}" + Name = "spinifex-test-vm-${count.index + 1}" } } @@ -219,6 +219,6 @@ output "instance_public_ips" { output "ssh_commands" { value = [ for ip in aws_instance.vm[*].public_ip : - "ssh -i hive-test.pem admin@${ip}" + "ssh -i spinifex-test.pem admin@${ip}" ] } diff --git a/scripts/iac/configure-cluster.sh b/scripts/iac/configure-cluster.sh index d56291dfa..47ac5113d 100755 --- a/scripts/iac/configure-cluster.sh +++ b/scripts/iac/configure-cluster.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# Configure a provisioned Hive cluster: clone repo, build, form cluster, start services. +# Configure a provisioned Spinifex cluster: clone repo, build, form cluster, start services. # Usage: configure-cluster.sh CLUSTER_NAME="${1:?Usage: configure-cluster.sh }" @@ -93,7 +93,7 @@ NODE1_IP="${MGMT_IPS[0]}" # Node 1: init echo " Starting init on node1 ($NODE1_IP)..." -remote_bg "$NODE1_IP" "export PATH=\$PATH:/usr/local/go/bin && cd ~/Development/mulga/hive && ./bin/hive admin init \ +remote_bg "$NODE1_IP" "export PATH=\$PATH:/usr/local/go/bin && cd ~/Development/mulga/hive && ./bin/spx admin init \ --node node1 \ --bind $NODE1_IP \ --cluster-bind $NODE1_IP \ @@ -103,8 +103,8 @@ remote_bg "$NODE1_IP" "export PATH=\$PATH:/usr/local/go/bin && cd ~/Development/ --nodes $NODE_COUNT \ --region $REGION \ --az $AZ \ - --hive-dir ~/hive/ \ - --config-dir ~/hive/config/" + --hive-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/" INIT_PID=$! # Wait for formation server to be ready @@ -128,14 +128,14 @@ if [ "$NODE_COUNT" -gt 1 ]; then ip="${MGMT_IPS[$i]}" node_num=$((i + 1)) echo " Starting join on node$node_num ($ip)..." - remote_bg "$ip" "export PATH=\$PATH:/usr/local/go/bin && cd ~/Development/mulga/hive && ./bin/hive admin join \ + remote_bg "$ip" "export PATH=\$PATH:/usr/local/go/bin && cd ~/Development/mulga/hive && ./bin/spx admin join \ --node node$node_num \ --bind $ip \ --cluster-bind $ip \ --cluster-routes $NODE1_IP:4248 \ --host $NODE1_IP:4432 \ - --data-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --data-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region $REGION \ --az $AZ" JOIN_PIDS+=($!) diff --git a/scripts/iac/proxmox/variables.tf b/scripts/iac/proxmox/variables.tf index cae8bdfe2..0286e9f9f 100644 --- a/scripts/iac/proxmox/variables.tf +++ b/scripts/iac/proxmox/variables.tf @@ -62,7 +62,7 @@ variable "nodes" { variable "cluster_name" { type = string - description = "Name for the Hive cluster (used in VM names and tags)" + description = "Name for the Spinifex cluster (used in VM names and tags)" validation { condition = can(regex("^[a-z0-9-]+$", var.cluster_name)) @@ -72,7 +72,7 @@ variable "cluster_name" { variable "node_count" { type = number - description = "Number of Hive VMs to create" + description = "Number of Spinifex VMs to create" default = 3 validation { diff --git a/scripts/iac/proxmox/vms.tf b/scripts/iac/proxmox/vms.tf index dc830c959..573ad12c4 100644 --- a/scripts/iac/proxmox/vms.tf +++ b/scripts/iac/proxmox/vms.tf @@ -3,7 +3,7 @@ resource "proxmox_virtual_environment_vm" "hive_node" { name = "${var.cluster_name}-${count.index + 1}" description = "Managed by Terraform" - tags = ["terraform", "hive", var.cluster_name] + tags = ["terraform", "spinifex", var.cluster_name] node_name = var.nodes[count.index % length(var.nodes)].name initialization { diff --git a/scripts/iac/hive-test.sh b/scripts/iac/spinifex-test.sh similarity index 90% rename from scripts/iac/hive-test.sh rename to scripts/iac/spinifex-test.sh index a9b8d7caf..18b4432f0 100755 --- a/scripts/iac/hive-test.sh +++ b/scripts/iac/spinifex-test.sh @@ -7,7 +7,7 @@ CLUSTERS_DIR="$TOFU_DIR/clusters" usage() { cat <<'USAGE' -Usage: hive-test.sh [options] +Usage: spinifex-test.sh [options] Commands: up Provision VMs with OpenTofu @@ -25,13 +25,13 @@ Options: --disk-size-gb=N Disk size per VM in GB (default: 32) Examples: - ./scripts/iac/hive-test.sh up hive-test1 - ./scripts/iac/hive-test.sh configure hive-test1 - ./scripts/iac/hive-test.sh test hive-test1 - ./scripts/iac/hive-test.sh status hive-test1 - ./scripts/iac/hive-test.sh ssh hive-test1 2 - ./scripts/iac/hive-test.sh down hive-test1 - ./scripts/iac/hive-test.sh full hive-test1 --node-count=3 + ./scripts/iac/spinifex-test.sh up spinifex-test1 + ./scripts/iac/spinifex-test.sh configure spinifex-test1 + ./scripts/iac/spinifex-test.sh test spinifex-test1 + ./scripts/iac/spinifex-test.sh status spinifex-test1 + ./scripts/iac/spinifex-test.sh ssh spinifex-test1 2 + ./scripts/iac/spinifex-test.sh down spinifex-test1 + ./scripts/iac/spinifex-test.sh full spinifex-test1 --node-count=3 USAGE exit 1 } @@ -195,7 +195,7 @@ cmd_status() { cmd_ssh() { if [ -z "$SSH_NODE" ]; then - echo "Usage: hive-test.sh ssh " + echo "Usage: spinifex-test.sh ssh " exit 1 fi diff --git a/scripts/iac/test-cluster.sh b/scripts/iac/test-cluster.sh index c93e13b4d..a2e00caba 100755 --- a/scripts/iac/test-cluster.sh +++ b/scripts/iac/test-cluster.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# Run smoke tests against a configured Hive cluster. +# Run smoke tests against a configured Spinifex cluster. # Usage: test-cluster.sh CLUSTER_NAME="${1:?Usage: test-cluster.sh }" diff --git a/scripts/reset-dev-env.sh b/scripts/reset-dev-env.sh index e467ff4d3..41ce24ed3 100755 --- a/scripts/reset-dev-env.sh +++ b/scripts/reset-dev-env.sh @@ -8,26 +8,26 @@ echo "Shutting down services" echo "Removing data" -rm -rf ~/hive/predastore/ +rm -rf ~/spinifex/predastore/ -rm -rf ~/hive/hive/* +rm -rf ~/spinifex/hive/* -rm -rf ~/hive/viperblock/* +rm -rf ~/spinifex/viperblock/* -rm -rf ~/hive/nats/* +rm -rf ~/spinifex/nats/* -rm -rf ~/hive/images/* +rm -rf ~/spinifex/images/* # Enable pprof for development -PPROF_ENABLED=1 PPROF_OUTPUT=/tmp/hive-vm.prof ./scripts/start-dev.sh --build +PPROF_ENABLED=1 PPROF_OUTPUT=/tmp/spinifex-vm.prof ./scripts/start-dev.sh --build # Follow INSTALL.md steps echo "Importing AMI" -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex # Step 1 SSH key -aws ec2 import-key-pair --key-name "hive-key" --public-key-material fileb://~/.ssh/hive-key.pub +aws ec2 import-key-pair --key-name "spinifex-key" --public-key-material fileb://~/.ssh/spinifex-key.pub echo "Validating key pair imported" @@ -45,7 +45,7 @@ else fi echo "Detected architecture: $ARCH, using image: $IMAGE_NAME" -./bin/hive admin images import --name "$IMAGE_NAME" +./bin/spx admin images import --name "$IMAGE_NAME" aws ec2 describe-images diff --git a/scripts/run-bench.sh b/scripts/run-bench.sh index 382577644..d203ed8ae 100755 --- a/scripts/run-bench.sh +++ b/scripts/run-bench.sh @@ -1,15 +1,15 @@ #!/bin/sh # List running instances using ubuntu image and run disk performance benchmark -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex # Initialize perf tracking variables PERF_PID="" NBDKIT_PID="" -# Check HIVE_AMI set, if not try to detect it -if [ -z "$HIVE_AMI" ]; then - echo "HIVE_AMI not set, attempting to detect..." +# Check SPINIFEX_AMI set, if not try to detect it +if [ -z "$SPINIFEX_AMI" ]; then + echo "SPINIFEX_AMI not set, attempting to detect..." ARCH=$(uname -m) if [ "$ARCH" = "x86_64" ]; then IMAGE_NAME="ami-ubuntu-24.04-x86_64" @@ -18,23 +18,23 @@ if [ -z "$HIVE_AMI" ]; then else IMAGE_NAME="ami-ubuntu-24.04-x86_64" fi - HIVE_AMI=$(aws ec2 describe-images --query "Images[?Name=='$IMAGE_NAME'].ImageId" --output text) - if [ -z "$HIVE_AMI" ]; then + SPINIFEX_AMI=$(aws ec2 describe-images --query "Images[?Name=='$IMAGE_NAME'].ImageId" --output text) + if [ -z "$SPINIFEX_AMI" ]; then echo "Error: Could not find image with Name '$IMAGE_NAME'" exit 1 fi - echo "Detected HIVE_AMI: $HIVE_AMI" + echo "Detected SPINIFEX_AMI: $SPINIFEX_AMI" fi # Get running instances matching the AMI # Retry loop: wait for instance to come online (up to 120 seconds) -echo "Finding running instances with ImageId: $HIVE_AMI" +echo "Finding running instances with ImageId: $SPINIFEX_AMI" MAX_ATTEMPTS=120 ATTEMPT=0 INSTANCE_ID="" while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do - INSTANCE_JSON=$(aws ec2 describe-instances --filters "Name=image-id,Values=$HIVE_AMI" "Name=instance-state-name,Values=running" --output json 2>/dev/null) + INSTANCE_JSON=$(aws ec2 describe-instances --filters "Name=image-id,Values=$SPINIFEX_AMI" "Name=instance-state-name,Values=running" --output json 2>/dev/null) # Extract InstanceId using jq (handle nested structure) INSTANCE_ID=$(echo "$INSTANCE_JSON" | jq -r '.Reservations[0].Instances[0].InstanceId // empty' 2>/dev/null) @@ -52,7 +52,7 @@ while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do done if [ -z "$INSTANCE_ID" ] || [ "$INSTANCE_ID" = "null" ]; then - echo "Error: No running instances found with ImageId $HIVE_AMI after $MAX_ATTEMPTS attempts" + echo "Error: No running instances found with ImageId $SPINIFEX_AMI after $MAX_ATTEMPTS attempts" echo "Available instances:" aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,ImageId,State.Name]" --output table exit 1 @@ -113,7 +113,7 @@ else # Start perf record in the background (will run until interrupted) echo "Starting perf profiling for nbdkit process (PID: $NBDKIT_PID)..." - sudo perf record -g -p "$NBDKIT_PID" -o /tmp/hive-nbdkit-perf.data > /tmp/perf.log 2>&1 & + sudo perf record -g -p "$NBDKIT_PID" -o /tmp/spinifex-nbdkit-perf.data > /tmp/perf.log 2>&1 & PERF_PID=$! echo "Perf profiling started (PID: $PERF_PID), will record during benchmark execution" fi @@ -137,7 +137,7 @@ SSH_READY=false while [ $SSH_ATTEMPTS -lt $MAX_SSH_ATTEMPTS ]; do ssh-keyscan -p "$SSH_PORT" 127.0.0.1 >> ~/.ssh/known_hosts 2>/dev/null - if ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=2 -p "$SSH_PORT" -i ~/.ssh/hive-key ec2-user@127.0.0.1 'echo ready' >/dev/null 2>&1; then + if ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=2 -p "$SSH_PORT" -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 'echo ready' >/dev/null 2>&1; then SSH_READY=true echo "SSH is ready!" break @@ -156,7 +156,7 @@ if [ "$SSH_READY" != "true" ]; then fi echo "Copying benchmark script to instance..." -scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P "$SSH_PORT" -i ~/.ssh/hive-key "$BENCH_SCRIPT" ec2-user@127.0.0.1:~/disk-performance.sh +scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P "$SSH_PORT" -i ~/.ssh/spinifex-key "$BENCH_SCRIPT" ec2-user@127.0.0.1:~/disk-performance.sh if [ $? -ne 0 ]; then echo "Error: Failed to copy benchmark script to instance" @@ -165,19 +165,19 @@ fi # Execute benchmark script echo "Running benchmark on instance..." -ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p "$SSH_PORT" -i ~/.ssh/hive-key ec2-user@127.0.0.1 'chmod +x ~/disk-performance.sh && ~/disk-performance.sh' > /tmp/hive-vm-disk.log 2>&1 +ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p "$SSH_PORT" -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 'chmod +x ~/disk-performance.sh && ~/disk-performance.sh' > /tmp/spinifex-vm-disk.log 2>&1 if [ $? -ne 0 ]; then - echo "Error: Benchmark execution failed, check /tmp/hive-vm-disk.log for details" + echo "Error: Benchmark execution failed, check /tmp/spinifex-vm-disk.log for details" # Stop perf if it was running if [ -n "$PERF_PID" ]; then echo "Stopping perf profiling..." sudo kill -INT "$PERF_PID" 2>/dev/null || true # Wait for perf to finish writing sleep 3 - if [ -f /tmp/hive-nbdkit-perf.data ]; then - sudo chmod 644 /tmp/hive-nbdkit-perf.data - echo "Perf data saved to /tmp/hive-nbdkit-perf.data" + if [ -f /tmp/spinifex-nbdkit-perf.data ]; then + sudo chmod 644 /tmp/spinifex-nbdkit-perf.data + echo "Perf data saved to /tmp/spinifex-nbdkit-perf.data" fi fi exit 1 @@ -191,19 +191,19 @@ if [ -n "$PERF_PID" ]; then # Wait for perf to finish writing data sleep 3 - if [ -f /tmp/hive-nbdkit-perf.data ]; then - sudo chmod 644 /tmp/hive-nbdkit-perf.data - echo "Perf benchmarks saved to /tmp/hive-nbdkit-perf.data" - echo "To view: sudo perf report -i /tmp/hive-nbdkit-perf.data" + if [ -f /tmp/spinifex-nbdkit-perf.data ]; then + sudo chmod 644 /tmp/spinifex-nbdkit-perf.data + echo "Perf benchmarks saved to /tmp/spinifex-nbdkit-perf.data" + echo "To view: sudo perf report -i /tmp/spinifex-nbdkit-perf.data" else - echo "Warning: Perf data file not found at /tmp/hive-nbdkit-perf.data" + echo "Warning: Perf data file not found at /tmp/spinifex-nbdkit-perf.data" fi fi # Display results echo "" echo "Benchmark completed successfully!" -echo "Results saved to /tmp/hive-vm-disk.log" +echo "Results saved to /tmp/spinifex-vm-disk.log" echo "" echo "=== Benchmark Results ===" -cat /tmp/hive-vm-disk.log +cat /tmp/spinifex-vm-disk.log diff --git a/scripts/run-instance.sh b/scripts/run-instance.sh index 43122f0b4..71ccb29d7 100755 --- a/scripts/run-instance.sh +++ b/scripts/run-instance.sh @@ -1,7 +1,7 @@ #!/bin/sh # Query images, get Ubuntu image -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex # Detect architecture ARCH=$(uname -m) @@ -14,7 +14,7 @@ else IMAGE_NAME="ami-ubuntu-24.04-x86_64" fi -# Query available instance types from Hive and pick the first micro type +# Query available instance types from Spinifex and pick the first micro type INSTANCE_TYPE=$(aws ec2 describe-instance-types --query "InstanceTypes[?contains(InstanceType, '.micro')].InstanceType | [0]" --output text) if [ -z "$INSTANCE_TYPE" ] || [ "$INSTANCE_TYPE" = "None" ]; then echo "Error: Could not find available micro instance type" @@ -28,27 +28,27 @@ echo "Detected architecture: $ARCH" echo "Looking for image with Name: $IMAGE_NAME" # Query images and extract ImageId matching the IMAGE_NAME -HIVE_AMI=$(aws ec2 describe-images --query "Images[?Name=='$IMAGE_NAME'].ImageId" --output text) +SPINIFEX_AMI=$(aws ec2 describe-images --query "Images[?Name=='$IMAGE_NAME'].ImageId" --output text) -if [ -z "$HIVE_AMI" ]; then +if [ -z "$SPINIFEX_AMI" ]; then echo "Error: Could not find image with Name '$IMAGE_NAME'" echo "Available images:" aws ec2 describe-images --query "Images[*].[Name,ImageId]" --output table exit 1 fi -export HIVE_AMI=$HIVE_AMI +export SPINIFEX_AMI=$SPINIFEX_AMI -echo "Found ImageId: $HIVE_AMI" -export HIVE_AMI +echo "Found ImageId: $SPINIFEX_AMI" +export SPINIFEX_AMI echo "Launching instance" # Launch instance aws ec2 run-instances \ - --image-id "$HIVE_AMI" \ + --image-id "$SPINIFEX_AMI" \ --instance-type "$INSTANCE_TYPE" \ - --key-name hive-key \ + --key-name spinifex-key \ --security-group-ids sg-0123456789abcdef0 \ --subnet-id subnet-6e7f829e \ --count 1 diff --git a/scripts/setup-ovn.sh b/scripts/setup-ovn.sh index fae91f580..1a78ec5c1 100755 --- a/scripts/setup-ovn.sh +++ b/scripts/setup-ovn.sh @@ -1,6 +1,6 @@ #!/bin/bash -# OVN Compute Node Setup for Hive VPC Networking +# OVN Compute Node Setup for Spinifex VPC Networking # # This script bootstraps a compute node for OVN-based VPC networking: # 1. Installs OVN/OVS packages (if not present) @@ -71,7 +71,7 @@ if [ -z "$CHASSIS_ID" ]; then echo "Auto-detected chassis ID: $CHASSIS_ID" fi -echo "=== Hive OVN Compute Node Setup ===" +echo "=== Spinifex OVN Compute Node Setup ===" echo " Management node: $MANAGEMENT" echo " OVN Remote (SB): $OVN_REMOTE" echo " Encap IP: $ENCAP_IP" @@ -161,8 +161,8 @@ echo " ovn-controller: started" echo "" echo "Step 6: Applying sysctl for overlay networking..." -sudo tee /etc/sysctl.d/99-hive-vpc.conf >/dev/null <<'SYSCTL' -# Hive VPC networking: enable IP forwarding and disable rp_filter +sudo tee /etc/sysctl.d/99-spinifex-vpc.conf >/dev/null <<'SYSCTL' +# Spinifex VPC networking: enable IP forwarding and disable rp_filter # for Geneve overlay traffic on OVS bridges. net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 @@ -226,9 +226,9 @@ fi # Create persistent systemd override so permissions survive OVS restarts OVERRIDE_DIR="/etc/systemd/system/openvswitch-switch.service.d" -if [ ! -f "$OVERRIDE_DIR/hive-perms.conf" ]; then +if [ ! -f "$OVERRIDE_DIR/spinifex-perms.conf" ]; then sudo mkdir -p "$OVERRIDE_DIR" - sudo tee "$OVERRIDE_DIR/hive-perms.conf" >/dev/null <<'OVERRIDE' + sudo tee "$OVERRIDE_DIR/spinifex-perms.conf" >/dev/null <<'OVERRIDE' [Service] ExecStartPost=/bin/chmod 0666 /var/run/openvswitch/db.sock OVERRIDE @@ -240,11 +240,11 @@ fi # Create sudoers rule for network commands that always need root # (ip tuntap, ip link set — NET_ADMIN operations) -SUDOERS_FILE="/etc/sudoers.d/hive-network" +SUDOERS_FILE="/etc/sudoers.d/spinifex-network" if [ ! -f "$SUDOERS_FILE" ]; then CURRENT_USER=$(whoami) sudo tee "$SUDOERS_FILE" >/dev/null </dev/null 2>&1; then echo " cleaned up stale .log.log files" fi -LOGROTATE_FILE="/etc/logrotate.d/ovn-hive" +LOGROTATE_FILE="/etc/logrotate.d/ovn-spinifex" sudo tee "$LOGROTATE_FILE" >/dev/null <<'LOGROTATE' /var/log/ovn/ovn-controller.log /var/log/ovn/ovn-northd.log @@ -288,7 +288,7 @@ LOGROTATE echo " logrotate config: $LOGROTATE_FILE (daily, 100M max, 3 rotations, explicit filenames)" # --- Step 10: Disable auto-start on boot --- -# start-dev.sh / stop-dev.sh manage the OVN lifecycle. Without hive services +# start-dev.sh / stop-dev.sh manage the OVN lifecycle. Without spinifex services # running, ovn-controller spins in a tight reconnect loop burning CPU. echo "" echo "Step 10: Disabling OVN auto-start on boot (start-dev.sh will manage lifecycle)..." diff --git a/scripts/setup.sh b/scripts/setup.sh index 503cca66a..55c939dba 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -1,17 +1,17 @@ #!/bin/bash -# Hive binary installer +# Spinifex binary installer # Usage: curl -sfL https://install.mulgadc.com | bash # # Environment variables: -# INSTALL_HIVE_CHANNEL Release channel: latest (default), dev -# INSTALL_HIVE_VERSION Pin to specific version (overrides channel) -# INSTALL_HIVE_TARBALL Path to local tarball (skips download, for testing/air-gapped) -# INSTALL_HIVE_SKIP_APT Set to 1 to skip apt dependency install -# INSTALL_HIVE_SKIP_AWS Set to 1 to skip AWS CLI install +# INSTALL_SPINIFEX_CHANNEL Release channel: latest (default), dev +# INSTALL_SPINIFEX_VERSION Pin to specific version (overrides channel) +# INSTALL_SPINIFEX_TARBALL Path to local tarball (skips download, for testing/air-gapped) +# INSTALL_SPINIFEX_SKIP_APT Set to 1 to skip apt dependency install +# INSTALL_SPINIFEX_SKIP_AWS Set to 1 to skip AWS CLI install set -e -INSTALL_HIVE_CHANNEL="${INSTALL_HIVE_CHANNEL:-latest}" +INSTALL_SPINIFEX_CHANNEL="${INSTALL_SPINIFEX_CHANNEL:-latest}" INSTALL_BASE_URL="${INSTALL_BASE_URL:-https://install.mulgadc.com}" # --- Colors --- @@ -60,7 +60,7 @@ detect_os() { fi ;; *) - fatal "Unsupported OS: $ID $VERSION_ID. Hive requires Debian 12+ or Ubuntu 22.04+" + fatal "Unsupported OS: $ID $VERSION_ID. Spinifex requires Debian 12+ or Ubuntu 22.04+" ;; esac @@ -82,7 +82,7 @@ detect_arch() { AWS_ARCH="aarch64" ;; *) - fatal "Unsupported architecture: $MACHINE. Hive requires x86_64 or aarch64" + fatal "Unsupported architecture: $MACHINE. Spinifex requires x86_64 or aarch64" ;; esac @@ -92,30 +92,30 @@ detect_arch() { # --- Detect service user --- detect_service_user() { # Use the real user — either the current user, or SUDO_USER if running via sudo - HIVE_USER="${SUDO_USER:-$(whoami)}" - HIVE_GROUP="$(id -gn "$HIVE_USER")" + SPINIFEX_USER="${SUDO_USER:-$(whoami)}" + SPINIFEX_GROUP="$(id -gn "$SPINIFEX_USER")" - if [ "$HIVE_USER" = "root" ]; then + if [ "$SPINIFEX_USER" = "root" ]; then fatal "Cannot determine service user. Do not run as root directly — use: curl ... | bash (as a normal user)" fi - info "Services will run as: $HIVE_USER:$HIVE_GROUP" + info "Services will run as: $SPINIFEX_USER:$SPINIFEX_GROUP" # Allow the service user to manage OVN/OVS and tap devices - $SUDO tee /etc/sudoers.d/hive-network > /dev/null << SUDOERS -# Hive VPC networking: allow service user to manage tap devices, OVS, and OVN -${HIVE_USER} ALL=(root) NOPASSWD: /sbin/ip, /usr/sbin/ip -${HIVE_USER} ALL=(root) NOPASSWD: /usr/bin/ovs-vsctl, /usr/bin/ovs-appctl -${HIVE_USER} ALL=(root) NOPASSWD: /usr/bin/ovn-nbctl, /usr/bin/ovn-sbctl + $SUDO tee /etc/sudoers.d/spinifex-network > /dev/null << SUDOERS +# Spinifex VPC networking: allow service user to manage tap devices, OVS, and OVN +${SPINIFEX_USER} ALL=(root) NOPASSWD: /sbin/ip, /usr/sbin/ip +${SPINIFEX_USER} ALL=(root) NOPASSWD: /usr/bin/ovs-vsctl, /usr/bin/ovs-appctl +${SPINIFEX_USER} ALL=(root) NOPASSWD: /usr/bin/ovn-nbctl, /usr/bin/ovn-sbctl SUDOERS - $SUDO chmod 0440 /etc/sudoers.d/hive-network - info "Sudoers rules installed for $HIVE_USER" + $SUDO chmod 0440 /etc/sudoers.d/spinifex-network + info "Sudoers rules installed for $SPINIFEX_USER" } # --- Install apt dependencies --- install_apt_deps() { - if [ "${INSTALL_HIVE_SKIP_APT}" = "1" ]; then - info "Skipping apt dependencies (INSTALL_HIVE_SKIP_APT=1)" + if [ "${INSTALL_SPINIFEX_SKIP_APT}" = "1" ]; then + info "Skipping apt dependencies (INSTALL_SPINIFEX_SKIP_APT=1)" return fi @@ -135,8 +135,8 @@ install_apt_deps() { # --- Install AWS CLI --- install_aws_cli() { - if [ "${INSTALL_HIVE_SKIP_AWS}" = "1" ]; then - info "Skipping AWS CLI (INSTALL_HIVE_SKIP_AWS=1)" + if [ "${INSTALL_SPINIFEX_SKIP_AWS}" = "1" ]; then + info "Skipping AWS CLI (INSTALL_SPINIFEX_SKIP_AWS=1)" return fi @@ -156,42 +156,42 @@ install_aws_cli() { } # --- Download tarball --- -download_hive() { - HIVE_TMPDIR=$(mktemp -d) - TARBALL="$HIVE_TMPDIR/hive.tar.gz" +download_spinifex() { + SPINIFEX_TMPDIR=$(mktemp -d) + TARBALL="$SPINIFEX_TMPDIR/hive.tar.gz" # Local tarball override — skip download (for testing and air-gapped installs) - if [ -n "$INSTALL_HIVE_TARBALL" ]; then - info "Using local tarball: $INSTALL_HIVE_TARBALL" - cp "$INSTALL_HIVE_TARBALL" "$TARBALL" + if [ -n "$INSTALL_SPINIFEX_TARBALL" ]; then + info "Using local tarball: $INSTALL_SPINIFEX_TARBALL" + cp "$INSTALL_SPINIFEX_TARBALL" "$TARBALL" info "Extracting..." - tar -xzf "$TARBALL" -C "$HIVE_TMPDIR" - EXTRACT_DIR="$HIVE_TMPDIR" + tar -xzf "$TARBALL" -C "$SPINIFEX_TMPDIR" + EXTRACT_DIR="$SPINIFEX_TMPDIR" return fi - if [ -n "$INSTALL_HIVE_VERSION" ]; then - DOWNLOAD_URL="${INSTALL_BASE_URL}/download/${INSTALL_HIVE_VERSION}/${ARCH}" - info "Downloading Hive $INSTALL_HIVE_VERSION ($ARCH)..." + if [ -n "$INSTALL_SPINIFEX_VERSION" ]; then + DOWNLOAD_URL="${INSTALL_BASE_URL}/download/${INSTALL_SPINIFEX_VERSION}/${ARCH}" + info "Downloading Spinifex $INSTALL_SPINIFEX_VERSION ($ARCH)..." else - DOWNLOAD_URL="${INSTALL_BASE_URL}/download/${INSTALL_HIVE_CHANNEL}/${ARCH}" - info "Downloading Hive ($INSTALL_HIVE_CHANNEL channel, $ARCH)..." + DOWNLOAD_URL="${INSTALL_BASE_URL}/download/${INSTALL_SPINIFEX_CHANNEL}/${ARCH}" + info "Downloading Spinifex ($INSTALL_SPINIFEX_CHANNEL channel, $ARCH)..." fi HTTP_CODE=$(curl -fsSL -w '%{http_code}' -o "$TARBALL" "$DOWNLOAD_URL" 2>/dev/null) || true if [ ! -f "$TARBALL" ] || [ "$HTTP_CODE" -ge 400 ] 2>/dev/null; then - rm -rf "$HIVE_TMPDIR" - fatal "Failed to download Hive from $DOWNLOAD_URL (HTTP $HTTP_CODE)" + rm -rf "$SPINIFEX_TMPDIR" + fatal "Failed to download Spinifex from $DOWNLOAD_URL (HTTP $HTTP_CODE)" fi # Verify checksum if available CHECKSUM_URL="${DOWNLOAD_URL}.sha256" - if curl -fsSL -o "$HIVE_TMPDIR/checksum.sha256" "$CHECKSUM_URL" 2>/dev/null; then + if curl -fsSL -o "$SPINIFEX_TMPDIR/checksum.sha256" "$CHECKSUM_URL" 2>/dev/null; then info "Verifying checksum..." - EXPECTED=$(awk '{print $1}' "$HIVE_TMPDIR/checksum.sha256") + EXPECTED=$(awk '{print $1}' "$SPINIFEX_TMPDIR/checksum.sha256") ACTUAL=$(sha256sum "$TARBALL" | awk '{print $1}') if [ "$EXPECTED" != "$ACTUAL" ]; then - rm -rf "$HIVE_TMPDIR" + rm -rf "$SPINIFEX_TMPDIR" fatal "Checksum verification failed. Expected: $EXPECTED, Got: $ACTUAL" fi info "Checksum verified" @@ -201,8 +201,8 @@ download_hive() { # Extract info "Extracting..." - tar -xzf "$TARBALL" -C "$HIVE_TMPDIR" - EXTRACT_DIR="$HIVE_TMPDIR" + tar -xzf "$TARBALL" -C "$SPINIFEX_TMPDIR" + EXTRACT_DIR="$SPINIFEX_TMPDIR" } # --- Place files --- @@ -210,8 +210,8 @@ install_files() { info "Installing files..." # Binary - $SUDO install -m 0755 "$EXTRACT_DIR/hive" /usr/local/bin/hive - info " /usr/local/bin/hive" + $SUDO install -m 0755 "$EXTRACT_DIR/spx" /usr/local/bin/spx + info " /usr/local/bin/spx" # nbdkit plugin PLUGINDIR=$(nbdkit --dump-config 2>/dev/null | grep ^plugindir= | cut -d= -f2) @@ -228,10 +228,10 @@ install_files() { info " $PLUGINDIR/nbdkit-viperblock-plugin.so" # Setup scripts - $SUDO mkdir -p /usr/local/share/hive + $SUDO mkdir -p /usr/local/share/spinifex if [ -f "$EXTRACT_DIR/setup-ovn.sh" ]; then - $SUDO install -m 0755 "$EXTRACT_DIR/setup-ovn.sh" /usr/local/share/hive/setup-ovn.sh - info " /usr/local/share/hive/setup-ovn.sh" + $SUDO install -m 0755 "$EXTRACT_DIR/setup-ovn.sh" /usr/local/share/spinifex/setup-ovn.sh + info " /usr/local/share/spinifex/setup-ovn.sh" fi } @@ -239,39 +239,39 @@ install_files() { create_directories() { info "Creating directories..." - $SUDO mkdir -p /etc/hive - $SUDO chmod 0700 /etc/hive - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /etc/hive + $SUDO mkdir -p /etc/spinifex + $SUDO chmod 0700 /etc/spinifex + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /etc/spinifex - $SUDO mkdir -p /var/lib/hive - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /var/lib/hive + $SUDO mkdir -p /var/lib/spinifex + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /var/lib/spinifex - # Symlink so services that expect BaseDir/config/ can find /etc/hive/ - if [ ! -e /var/lib/hive/config ]; then - $SUDO ln -s /etc/hive /var/lib/hive/config + # Symlink so services that expect BaseDir/config/ can find /etc/spinifex/ + if [ ! -e /var/lib/spinifex/config ]; then + $SUDO ln -s /etc/spinifex /var/lib/spinifex/config fi - # Symlink so services that write logs to BaseDir/logs/ use /var/log/hive/ - if [ ! -e /var/lib/hive/logs ]; then - $SUDO ln -s /var/log/hive /var/lib/hive/logs + # Symlink so services that write logs to BaseDir/logs/ use /var/log/spinifex/ + if [ ! -e /var/lib/spinifex/logs ]; then + $SUDO ln -s /var/log/spinifex /var/lib/spinifex/logs fi - $SUDO mkdir -p /var/log/hive - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /var/log/hive + $SUDO mkdir -p /var/log/spinifex + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /var/log/spinifex - $SUDO mkdir -p /run/hive - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /run/hive + $SUDO mkdir -p /run/spinifex + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /run/spinifex - $SUDO mkdir -p /var/lib/hive/viperblock - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /var/lib/hive/viperblock + $SUDO mkdir -p /var/lib/spinifex/viperblock + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /var/lib/spinifex/viperblock # Generate environment file with install-specific values (e.g. arch-dependent paths) - $SUDO tee /etc/hive/systemd.env > /dev/null << EOF + $SUDO tee /etc/spinifex/systemd.env > /dev/null << EOF # Generated by setup.sh — install-specific environment variables -HIVE_VIPERBLOCK_PLUGIN_PATH=${PLUGINDIR}/nbdkit-viperblock-plugin.so +SPINIFEX_VIPERBLOCK_PLUGIN_PATH=${PLUGINDIR}/nbdkit-viperblock-plugin.so EOF - $SUDO chown "$HIVE_USER:$HIVE_GROUP" /etc/hive/systemd.env - info "Generated /etc/hive/systemd.env" + $SUDO chown "$SPINIFEX_USER:$SPINIFEX_GROUP" /etc/spinifex/systemd.env + info "Generated /etc/spinifex/systemd.env" } # --- Install systemd units --- @@ -284,20 +284,20 @@ install_systemd() { for unit in "$EXTRACT_DIR"/systemd/*; do # Substitute User= and Group= with the detected service user - sed "s/^User=hive$/User=$HIVE_USER/;s/^Group=hive$/Group=$HIVE_GROUP/" \ + sed "s/^User=hive$/User=$SPINIFEX_USER/;s/^Group=hive$/Group=$SPINIFEX_GROUP/" \ "$unit" | $SUDO tee "/etc/systemd/system/$(basename "$unit")" > /dev/null $SUDO chmod 0644 "/etc/systemd/system/$(basename "$unit")" info " /etc/systemd/system/$(basename "$unit")" done $SUDO systemctl daemon-reload - info "Systemd units installed (running as $HIVE_USER:$HIVE_GROUP)" + info "Systemd units installed (running as $SPINIFEX_USER:$SPINIFEX_GROUP)" } # --- Install logrotate --- install_logrotate() { - if [ -f "$EXTRACT_DIR/logrotate-hive" ]; then - $SUDO install -m 0644 "$EXTRACT_DIR/logrotate-hive" /etc/logrotate.d/hive + if [ -f "$EXTRACT_DIR/logrotate-spinifex" ]; then + $SUDO install -m 0644 "$EXTRACT_DIR/logrotate-spinifex" /etc/logrotate.d/hive else warn "Logrotate config not found in tarball, skipping" return @@ -307,61 +307,61 @@ install_logrotate() { # --- Upgrade handling --- handle_upgrade() { - if $SUDO systemctl is-active --quiet hive.target 2>/dev/null; then - warn "Hive services are running. Stopping for upgrade..." - $SUDO systemctl stop hive.target + if $SUDO systemctl is-active --quiet spinifex.target 2>/dev/null; then + warn "Spinifex services are running. Stopping for upgrade..." + $SUDO systemctl stop spinifex.target RESTART_AFTER=true fi } restart_if_needed() { if [ "${RESTART_AFTER}" = "true" ]; then - info "Restarting Hive services..." - $SUDO systemctl start hive.target + info "Restarting Spinifex services..." + $SUDO systemctl start spinifex.target fi } # --- Print summary --- print_summary() { - INSTALLED_VERSION=$(/usr/local/bin/hive version 2>/dev/null || echo "unknown") + INSTALLED_VERSION=$(/usr/local/bin/spx version 2>/dev/null || echo "unknown") echo "" echo "============================================" - echo " Hive installed successfully" + echo " Spinifex installed successfully" echo "============================================" echo "" echo " Version: $INSTALLED_VERSION" echo " Architecture: $ARCH" - echo " Service user: $HIVE_USER" - echo " Binary: /usr/local/bin/hive" - echo " Config: /etc/hive/" - echo " Data: /var/lib/hive/" - echo " Logs: /var/log/hive/" + echo " Service user: $SPINIFEX_USER" + echo " Binary: /usr/local/bin/spx" + echo " Config: /etc/spinifex/" + echo " Data: /var/lib/spinifex/" + echo " Logs: /var/log/spinifex/" echo "" echo " Next steps:" echo "" echo " 1. Setup OVN networking:" - echo " sudo /usr/local/share/hive/setup-ovn.sh --management" + echo " sudo /usr/local/share/spinifex/setup-ovn.sh --management" echo "" echo " 2. Initialize a region:" - echo " sudo hive admin init --region --az --node node1 --nodes 1" + echo " sudo spx admin init --region --az --node node1 --nodes 1" echo "" echo " 3. Trust the CA certificate:" - echo " sudo cp /etc/hive/ca.pem /usr/local/share/ca-certificates/hive-ca.crt" + echo " sudo cp /etc/spinifex/ca.pem /usr/local/share/ca-certificates/hive-ca.crt" echo " sudo update-ca-certificates" echo "" echo " 4. Start services:" - echo " sudo systemctl start hive.target" + echo " sudo systemctl start spinifex.target" echo "" echo " 5. Verify:" - echo " export AWS_PROFILE=hive" + echo " export AWS_PROFILE=spinifex" echo " aws ec2 describe-instance-types" echo "" } # --- Main --- main() { - info "Hive installer" + info "Spinifex installer" echo "" setup_sudo @@ -371,12 +371,12 @@ main() { install_apt_deps install_aws_cli detect_service_user - download_hive + download_spinifex install_files create_directories install_systemd install_logrotate - rm -rf "$HIVE_TMPDIR" + rm -rf "$SPINIFEX_TMPDIR" restart_if_needed print_summary } diff --git a/scripts/start-dev.sh b/scripts/start-dev.sh index 6dd2c60ae..8327ebfd2 100755 --- a/scripts/start-dev.sh +++ b/scripts/start-dev.sh @@ -1,13 +1,13 @@ #!/bin/bash -# Start Hive development environment -# This script starts all required services in the correct order using Hive service commands +# Start Spinifex development environment +# This script starts all required services in the correct order using Spinifex service commands # Usage: ./scripts/start-dev.sh [--build] [data-dir] # --build: Rebuild all binaries before starting (default: skip build) -# data-dir: Optional data directory path (default: ~/hive) +# data-dir: Optional data directory path (default: ~/spinifex) # # Environment variables: -# UI=false Skip starting Hive UI (e.g., UI=false ./scripts/start-dev.sh) +# UI=false Skip starting Spinifex UI (e.g., UI=false ./scripts/start-dev.sh) set -e @@ -17,7 +17,7 @@ MULGA_ROOT="$(cd "$PROJECT_ROOT/.." && pwd)" # Parse arguments BUILD=false -DATA_DIR="$HOME/hive" +DATA_DIR="$HOME/spinifex" for arg in "$@"; do case "$arg" in --build) BUILD=true ;; @@ -31,15 +31,15 @@ CONFIG_DIR="${CONFIG_DIR:-$DATA_DIR/config}" echo "Using data directory: $DATA_DIR" echo "Using configuration directory: $CONFIG_DIR" LOGS_DIR="$DATA_DIR/logs" -WAL_DIR="$DATA_DIR/hive" +WAL_DIR="$DATA_DIR/spinifex" -echo "🚀 Starting Hive development environment..." +echo "🚀 Starting Spinifex development environment..." echo "Project root: $PROJECT_ROOT" echo "Data directory: $DATA_DIR" -# Parse services from hive.toml — defaults to all if not set +# Parse services from spinifex.toml — defaults to all if not set parse_services() { - local config_file="$CONFIG_DIR/hive.toml" + local config_file="$CONFIG_DIR/spinifex.toml" if [ -f "$config_file" ]; then local svc_line=$(grep -m1 '^services' "$config_file" | sed 's/.*\[//;s/\].*//;s/"//g;s/,/ /g') if [ -n "$svc_line" ]; then @@ -59,7 +59,7 @@ echo "Services: $SERVICES" # Detect multi-node cluster from config is_multinode() { - local config_file="$CONFIG_DIR/hive.toml" + local config_file="$CONFIG_DIR/spinifex.toml" if [ -f "$config_file" ]; then local node_count=$(grep -c '^\[nodes\.' "$config_file") [ "$node_count" -gt 1 ] @@ -71,8 +71,8 @@ is_multinode() { # Confirm configuration directory exists if [ ! -d "$CONFIG_DIR" ]; then echo "⚠️ Configuration directory $CONFIG_DIR does not exist." - echo "Please init the hive environment using the CLI." - echo "hive admin init" + echo "Please init the spinifex environment using the CLI." + echo "spx admin init" exit 1 fi @@ -177,7 +177,7 @@ check_service() { if [ "$BUILD" = "true" ]; then echo "✈️ Pre-flight, compiling latest..." - echo " Building hive..." + echo " Building spinifex..." make build echo " Building predastore..." @@ -231,14 +231,14 @@ if has_service "nats"; then echo "1️⃣ Starting NATS server..." if [ -f "$CONFIG_DIR/nats/nats.conf" ]; then - export HIVE_CONFIG_PATH=$CONFIG_DIR/nats/nats.conf + export SPINIFEX_CONFIG_PATH=$CONFIG_DIR/nats/nats.conf echo " Using NATS config file: $CONFIG_DIR/nats/nats.conf" else echo " ⚠️ NATS config file not found at $CONFIG_DIR/nats/nats.conf, using defaults" - export HIVE_NATS_HOST=0.0.0.0 - export HIVE_NATS_PORT=4222 - export HIVE_NATS_DATA_DIR=$DATA_DIR/nats/ - export HIVE_NATS_JETSTREAM=false + export SPINIFEX_NATS_HOST=0.0.0.0 + export SPINIFEX_NATS_PORT=4222 + export SPINIFEX_NATS_DATA_DIR=$DATA_DIR/nats/ + export SPINIFEX_NATS_JETSTREAM=false fi # Extract NATS listen address from config (multi-node binds to specific IP, not 127.0.0.1) @@ -250,14 +250,14 @@ if has_service "nats"; then fi fi - NATS_CMD="./bin/hive service nats start" + NATS_CMD="./bin/spx service nats start" start_service "nats" "$NATS_CMD" set_oom_score "nats" "-500" check_service "NATS" "$NATS_CHECK_HOST" "4222" # Wait for NATS JetStream to be ready before Predastore starts. # Predastore lazily opens IAM KV buckets — it starts with config-only auth - # and activates IAM auth once the hive daemon creates the KV buckets. + # and activates IAM auth once the spinifex daemon creates the KV buckets. echo "🔍 Waiting for NATS JetStream..." NATS_JS_READY=false for i in $(seq 1 15); do @@ -280,43 +280,43 @@ fi echo "" if has_service "predastore"; then echo "2️⃣ Starting Predastore..." - unset HIVE_CONFIG_PATH + unset SPINIFEX_CONFIG_PATH - export HIVE_PREDASTORE_BASE_PATH=$DATA_DIR/predastore/ - export HIVE_PREDASTORE_CONFIG_PATH=$CONFIG_DIR/predastore/predastore.toml - export HIVE_PREDASTORE_TLS_CERT=$CONFIG_DIR/server.pem - export HIVE_PREDASTORE_TLS_KEY=$CONFIG_DIR/server.key + export SPINIFEX_PREDASTORE_BASE_PATH=$DATA_DIR/predastore/ + export SPINIFEX_PREDASTORE_CONFIG_PATH=$CONFIG_DIR/predastore/predastore.toml + export SPINIFEX_PREDASTORE_TLS_CERT=$CONFIG_DIR/server.pem + export SPINIFEX_PREDASTORE_TLS_KEY=$CONFIG_DIR/server.key - # Auto-detect Predastore host:port from hive.toml [nodes..predastore] section + # Auto-detect Predastore host:port from spinifex.toml [nodes..predastore] section PREDASTORE_BIND="0.0.0.0:8443" - if [ -f "$CONFIG_DIR/hive.toml" ]; then - DETECTED_PREDASTORE_HOST=$(awk -F'"' '/\[nodes\..*\.predastore\]/{found=1} found && /^host/{print $2; exit}' "$CONFIG_DIR/hive.toml") + if [ -f "$CONFIG_DIR/spinifex.toml" ]; then + DETECTED_PREDASTORE_HOST=$(awk -F'"' '/\[nodes\..*\.predastore\]/{found=1} found && /^host/{print $2; exit}' "$CONFIG_DIR/spinifex.toml") if [ -n "$DETECTED_PREDASTORE_HOST" ]; then PREDASTORE_BIND="$DETECTED_PREDASTORE_HOST" - echo " Auto-detected Predastore bind=$PREDASTORE_BIND from hive.toml" + echo " Auto-detected Predastore bind=$PREDASTORE_BIND from spinifex.toml" fi fi - export HIVE_PREDASTORE_HOST="${PREDASTORE_BIND%%:*}" - export HIVE_PREDASTORE_PORT="${PREDASTORE_BIND##*:}" + export SPINIFEX_PREDASTORE_HOST="${PREDASTORE_BIND%%:*}" + export SPINIFEX_PREDASTORE_PORT="${PREDASTORE_BIND##*:}" - export HIVE_PREDASTORE_BACKEND=distributed + export SPINIFEX_PREDASTORE_BACKEND=distributed - # Auto-detect Predastore NODE_ID from hive.toml if not already set - if [ -z "$HIVE_PREDASTORE_NODE_ID" ]; then - if [ -f "$CONFIG_DIR/hive.toml" ]; then - DETECTED_NODE_ID=$(awk -F'= *' '/node_id/{gsub(/ /,"",$2); print $2; exit}' "$CONFIG_DIR/hive.toml") + # Auto-detect Predastore NODE_ID from spinifex.toml if not already set + if [ -z "$SPINIFEX_PREDASTORE_NODE_ID" ]; then + if [ -f "$CONFIG_DIR/spinifex.toml" ]; then + DETECTED_NODE_ID=$(awk -F'= *' '/node_id/{gsub(/ /,"",$2); print $2; exit}' "$CONFIG_DIR/spinifex.toml") if [ -n "$DETECTED_NODE_ID" ] && [ "$DETECTED_NODE_ID" != "0" ]; then - export HIVE_PREDASTORE_NODE_ID="$DETECTED_NODE_ID" - echo " Auto-detected Predastore NODE_ID=$DETECTED_NODE_ID from hive.toml" + export SPINIFEX_PREDASTORE_NODE_ID="$DETECTED_NODE_ID" + echo " Auto-detected Predastore NODE_ID=$DETECTED_NODE_ID from spinifex.toml" fi fi fi - export HIVE_PREDASTORE_NODE_ID="${HIVE_PREDASTORE_NODE_ID:-}" + export SPINIFEX_PREDASTORE_NODE_ID="${SPINIFEX_PREDASTORE_NODE_ID:-}" - PREDASTORE_CMD="./bin/hive service predastore start" + PREDASTORE_CMD="./bin/spx service predastore start" start_service "predastore" "$PREDASTORE_CMD" set_oom_score "predastore" "-500" - check_service "Predastore" "$HIVE_PREDASTORE_HOST" "$HIVE_PREDASTORE_PORT" + check_service "Predastore" "$SPINIFEX_PREDASTORE_HOST" "$SPINIFEX_PREDASTORE_PORT" else echo "2️⃣ Skipping Predastore (not a local service)" fi @@ -344,31 +344,31 @@ if has_service "viperblock"; then cd "$PROJECT_ROOT" fi - export HIVE_CONFIG_PATH=$CONFIG_DIR/hive.toml - export HIVE_VIPERBLOCK_PLUGIN_PATH=$NBD_PLUGIN_PATH - export HIVE_BASE_DIR=$VB_BASE_DIR + export SPINIFEX_CONFIG_PATH=$CONFIG_DIR/spinifex.toml + export SPINIFEX_VIPERBLOCK_PLUGIN_PATH=$NBD_PLUGIN_PATH + export SPINIFEX_BASE_DIR=$VB_BASE_DIR - VIPERBLOCK_CMD="./bin/hive service viperblock start" + VIPERBLOCK_CMD="./bin/spx service viperblock start" start_service "viperblock" "$VIPERBLOCK_CMD" set_oom_score "viperblock" "-500" else echo "3️⃣ Skipping Viperblock (not a local service)" fi -# 4️⃣ Start Hive Gateway/Daemon +# 4️⃣ Start Spinifex Gateway/Daemon echo "" if has_service "daemon"; then - echo "4️⃣. Starting Hive Gateway..." + echo "4️⃣. Starting Spinifex Gateway..." - export HIVE_CONFIG_PATH=$CONFIG_DIR/hive.toml - export HIVE_BASE_DIR=$DATA_DIR/hive/ - export HIVE_WAL_DIR=$WAL_DIR + export SPINIFEX_CONFIG_PATH=$CONFIG_DIR/spinifex.toml + export SPINIFEX_BASE_DIR=$DATA_DIR/spinifex/ + export SPINIFEX_WAL_DIR=$WAL_DIR - HIVE_CMD="./bin/hive service hive start" - start_service "hive" "$HIVE_CMD" - set_oom_score "hive" "-500" + SPINIFEX_CMD="./bin/spx service hive start" + start_service "spinifex" "$SPINIFEX_CMD" + set_oom_score "spinifex" "-500" else - echo "4️⃣. Skipping Hive Gateway (not a local service)" + echo "4️⃣. Skipping Spinifex Gateway (not a local service)" fi @@ -377,14 +377,14 @@ echo "" if has_service "awsgw"; then echo "5️⃣. Starting AWS Gateway..." - unset HIVE_NATS_HOST - unset HIVE_PREDASTORE_HOST - export HIVE_BASE_DIR=$DATA_DIR - export HIVE_CONFIG_PATH=$CONFIG_DIR/hive.toml - export HIVE_AWSGW_TLS_CERT=$CONFIG_DIR/server.pem - export HIVE_AWSGW_TLS_KEY=$CONFIG_DIR/server.key + unset SPINIFEX_NATS_HOST + unset SPINIFEX_PREDASTORE_HOST + export SPINIFEX_BASE_DIR=$DATA_DIR + export SPINIFEX_CONFIG_PATH=$CONFIG_DIR/spinifex.toml + export SPINIFEX_AWSGW_TLS_CERT=$CONFIG_DIR/server.pem + export SPINIFEX_AWSGW_TLS_KEY=$CONFIG_DIR/server.key - AWSGW_CMD="./bin/hive service awsgw start" + AWSGW_CMD="./bin/spx service awsgw start" start_service "awsgw" "$AWSGW_CMD" set_oom_score "awsgw" "-500" else @@ -397,33 +397,33 @@ echo "" if has_service "vpcd"; then echo "6️⃣. Starting vpcd (VPC daemon)..." - export HIVE_CONFIG_PATH=$CONFIG_DIR/hive.toml + export SPINIFEX_CONFIG_PATH=$CONFIG_DIR/spinifex.toml - VPCD_CMD="./bin/hive service vpcd start" + VPCD_CMD="./bin/spx service vpcd start" start_service "vpcd" "$VPCD_CMD" set_oom_score "vpcd" "-500" else echo "6️⃣. Skipping vpcd (not a local service)" fi -# 7️⃣ Start Hive UI (skip with UI=false or if not a local service) +# 7️⃣ Start Spinifex UI (skip with UI=false or if not a local service) if [ "${UI}" != "false" ] && has_service "ui"; then echo "" - echo "7️⃣. Starting Hive UI..." + echo "7️⃣. Starting Spinifex UI..." - HIVEUI_CMD="./bin/hive service hive-ui start" - start_service "hive-ui" "$HIVEUI_CMD" - set_oom_score "hive-ui" "-500" + HIVEUI_CMD="./bin/spx service spinifex-ui start" + start_service "spinifex-ui" "$HIVEUI_CMD" + set_oom_score "spinifex-ui" "-500" else echo "" - echo "7️⃣. Skipping Hive UI" + echo "7️⃣. Skipping Spinifex UI" fi echo "" echo "🔗 Service endpoints will be:" if [ "${UI}" != "false" ]; then - echo " - Hive UI: https://localhost:3000" + echo " - Spinifex UI: https://localhost:3000" fi echo " - NATS: nats://localhost:4222" echo " - Predastore: https://localhost:8443" @@ -433,7 +433,7 @@ echo "📊 Monitor background service logs:" echo " tail -f $LOGS_DIR/*.log" echo "" echo "🧪 Test with AWS CLI (once daemon is running):" -echo " export AWS_PROFILE=hive" +echo " export AWS_PROFILE=spinifex" echo " aws ec2 describe-instances" echo "" @@ -445,7 +445,7 @@ if is_multinode; then /^\[nodes\./ { node=1; daemon=0 } node && /^\[.*\.daemon\]/ { daemon=1 } daemon && /^host/ { gsub(/[" ]/, "", $3); print $3; daemon=0 } - ' "$CONFIG_DIR/hive.toml") + ' "$CONFIG_DIR/spinifex.toml") for peer in $peer_hosts; do attempts=0 @@ -469,4 +469,4 @@ fi # This will only be reached if air/daemon exits normally #echo "" -#echo "🛑 Hive development environment stopped" +#echo "🛑 Spinifex development environment stopped" diff --git a/scripts/start-multi-nats.sh b/scripts/start-multi-nats.sh index 8b1a4bb14..3bec1bb71 100755 --- a/scripts/start-multi-nats.sh +++ b/scripts/start-multi-nats.sh @@ -1,3 +1,3 @@ #!/bin/sh -HIVE_CONFIG_PATH=~/node1/config/nats/nats.conf ./bin/hive service nats start +SPINIFEX_CONFIG_PATH=~/node1/config/nats/nats.conf ./bin/spx service nats start diff --git a/scripts/stop-dev.sh b/scripts/stop-dev.sh index 5835831ba..57313650b 100755 --- a/scripts/stop-dev.sh +++ b/scripts/stop-dev.sh @@ -1,12 +1,12 @@ #!/bin/bash -# Stop Hive development environment +# Stop Spinifex development environment # This script stops all services started by start-dev.sh # Usage: ./scripts/stop-dev.sh # Note: Services are stopped using PID files, so data-dir is not required # Accept optional data directory argument -DATA_DIR="${1:-$HOME/hive}" +DATA_DIR="${1:-$HOME/spinifex}" # Always use the logs directory for PID files — start-dev.sh writes shell PIDs # there, and Go services write PIDs to their own data dirs. This ensures @@ -20,16 +20,16 @@ LOGS_DIR="$PROJECT_ROOT/data/logs" # Check if /mnt/ramdisk is mounted #if mountpoint -q /mnt/ramdisk; then - #echo "🛑 Stopping Hive development environment..." + #echo "🛑 Stopping Spinifex development environment..." #sudo umount /mnt/ramdisk #fi -echo "Stopping Hive development environment..." +echo "Stopping Spinifex development environment..." -# Parse services from hive.toml — defaults to all if not set +# Parse services from spinifex.toml — defaults to all if not set CONFIG_DIR="${CONFIG_DIR:-$DATA_DIR/config}" parse_services() { - local config_file="$CONFIG_DIR/hive.toml" + local config_file="$CONFIG_DIR/spinifex.toml" if [ -f "$config_file" ]; then local svc_line=$(grep -m1 '^services' "$config_file" | sed 's/.*\[//;s/\].*//;s/"//g;s/,/ /g') if [ -n "$svc_line" ]; then @@ -44,15 +44,15 @@ SERVICES=$(parse_services) has_service() { local svc="$1" case "$svc" in - hive) svc="daemon" ;; - hive-ui) svc="ui" ;; + spinifex) svc="daemon" ;; + spinifex-ui) svc="ui" ;; esac echo "$SERVICES" | grep -qw "$svc" } # Detect multi-node cluster from config is_multinode() { - local config_file="$CONFIG_DIR/hive.toml" + local config_file="$CONFIG_DIR/spinifex.toml" if [ -f "$config_file" ]; then # Count only top-level node sections [nodes.X], not subsections [nodes.X.Y] local node_count=$(grep -cE '^\[nodes\.[^.]+\]' "$config_file") @@ -65,10 +65,10 @@ is_multinode() { # For multi-node clusters, delegate to coordinated shutdown via NATS. # Only when called without arguments (default path). When a data-dir is # explicitly provided (e.g., E2E per-node cleanup), use per-service stop. -if is_multinode && [ -z "$HIVE_FORCE_LOCAL_STOP" ] && [ -z "$1" ]; then +if is_multinode && [ -z "$SPINIFEX_FORCE_LOCAL_STOP" ] && [ -z "$1" ]; then echo "Multi-node cluster detected. Using coordinated shutdown..." - echo " (Set HIVE_FORCE_LOCAL_STOP=1 to force per-service stop)" - exec $PROJECT_ROOT/bin/hive admin cluster shutdown + echo " (Set SPINIFEX_FORCE_LOCAL_STOP=1 to force per-service stop)" + exec $PROJECT_ROOT/bin/spx admin cluster shutdown fi # Function to stop service by PID file @@ -84,8 +84,8 @@ stop_service() { kill -SIGTERM $(cat "$pidpath/$name.pid" 2>/dev/null) 2>/dev/null || rc=$? sleep 1 else - # Correct graceful shutdown via hive binary, waits for clean exit - $PROJECT_ROOT/bin/hive service $name stop || rc=$? + # Correct graceful shutdown via spx binary, waits for clean exit + $PROJECT_ROOT/bin/spx service $name stop || rc=$? fi if [[ $rc -ne 0 ]]; then @@ -101,11 +101,11 @@ stop_service() { # Stop services in reverse order echo "Stopping services..." echo "" -# Stop Hive UI first (last to start) -has_service "hive-ui" && stop_service "hive-ui" "$PID_DIR" +# Stop Spinifex UI first (last to start) +has_service "spinifex-ui" && stop_service "spinifex-ui" "$PID_DIR" -# Stop Hive daemon/gateway (it will terminate running instances, unmount nbd devices) -has_service "hive" && stop_service "hive" "$PID_DIR" +# Stop Spinifex daemon/gateway (it will terminate running instances, unmount nbd devices) +has_service "spinifex" && stop_service "spinifex" "$PID_DIR" # Wait for all QEMU instances to exit before stopping infrastructure services. # The daemon sends system_powerdown to VMs during shutdown, but may be killed @@ -143,7 +143,7 @@ has_service "predastore" && stop_service "predastore" "$PID_DIR" # Stop NATS has_service "nats" && stop_service "nats" "$PID_DIR" -# Stop OVN networking (prevents idle CPU burn when hive isn't running) +# Stop OVN networking (prevents idle CPU burn when spinifex isn't running) if pidof systemd >/dev/null 2>&1; then echo "🛑 Stopping OVN networking..." sudo systemctl stop ovn-controller 2>/dev/null && echo "✅ ovn-controller stopped" || true @@ -154,10 +154,10 @@ if pidof systemd >/dev/null 2>&1; then fi echo "" -echo "✅ Hive development environment stopped" +echo "✅ Spinifex development environment stopped" -# Show any remaining hive-related processes -remaining=$(pgrep -af '(bin/hive|hive-ui|nats-server|predastore|viperblock|vpcd|qemu-system)' | grep -v "stop-dev.sh" || true) +# Show any remaining spinifex-related processes +remaining=$(pgrep -af '(bin/spx|spinifex-ui|nats-server|predastore|viperblock|vpcd|qemu-system)' | grep -v "stop-dev.sh" || true) if [[ -n "$remaining" ]]; then echo "" echo "⚠️ Some related processes may still be running:" diff --git a/tests/e2e/lib/multinode-helpers.sh b/tests/e2e/lib/multinode-helpers.sh index b9f0318d8..9e27cb474 100755 --- a/tests/e2e/lib/multinode-helpers.sh +++ b/tests/e2e/lib/multinode-helpers.sh @@ -348,7 +348,7 @@ get_instance_node() { for i in 1 2 3; do local data_dir="$HOME/node$i" - local instances_file="$data_dir/hive/instances.json" + local instances_file="$data_dir/spinifex/instances.json" if [ -f "$instances_file" ]; then if jq -e ".[\"$instance_id\"]" "$instances_file" > /dev/null 2>&1; then @@ -506,7 +506,7 @@ dump_all_node_logs() { echo "" echo "=== Node$i Logs ===" - for log in nats predastore viperblock hive awsgw; do + for log in nats predastore viperblock spinifex awsgw; do if [ -f "$logs_dir/$log.log" ]; then echo "" echo "--- $log.log (last 50 lines) ---" @@ -631,7 +631,7 @@ force_cleanup_all_nodes() { local logs_dir="$data_dir/logs" if [ -d "$logs_dir" ]; then - for svc in hive-ui hive awsgw viperblock predastore nats; do + for svc in spinifex-ui spinifex awsgw viperblock predastore nats; do local pidfile="$logs_dir/$svc.pid" if [ -f "$pidfile" ]; then local pid @@ -654,7 +654,7 @@ force_cleanup_all_nodes() { local logs_dir="$data_dir/logs" if [ -d "$logs_dir" ]; then - for svc in hive-ui hive awsgw viperblock predastore nats; do + for svc in spinifex-ui spinifex awsgw viperblock predastore nats; do local pidfile="$logs_dir/$svc.pid" if [ -f "$pidfile" ]; then local pid @@ -722,7 +722,7 @@ init_leader_node() { rm -rf "$HOME/node1/" # Start init in background — formation server will wait for joins - ./bin/hive admin init \ + ./bin/spinifex admin init \ --node node1 \ --bind "${NODE1_IP}" \ --cluster-bind "${NODE1_IP}" \ @@ -731,7 +731,7 @@ init_leader_node() { --port ${CLUSTER_PORT} \ --region ap-southeast-2 \ --az ap-southeast-2a \ - --hive-dir "$HOME/node1/" \ + --spinifex-dir "$HOME/node1/" \ --config-dir "$HOME/node1/config/" & LEADER_INIT_PID=$! @@ -762,7 +762,7 @@ join_follower_node() { rm -rf "$data_dir/" # Route to node1 (seed node) - other nodes discovered via NATS gossip - ./bin/hive admin join \ + ./bin/spinifex admin join \ --node "node$node_num" \ --bind "$node_ip" \ --cluster-bind "$node_ip" \ diff --git a/tests/e2e/run-e2e.sh b/tests/e2e/run-e2e.sh index e890ac94a..0a6d05bf6 100755 --- a/tests/e2e/run-e2e.sh +++ b/tests/e2e/run-e2e.sh @@ -16,28 +16,28 @@ cleanup() { if [ $EXIT_CODE -ne 0 ]; then echo "" echo "=== NATS Service Log ===" - if [ -f ~/hive/logs/nats.log ]; then - tail -100 ~/hive/logs/nats.log 2>/dev/null + if [ -f ~/spinifex/logs/nats.log ]; then + tail -100 ~/spinifex/logs/nats.log 2>/dev/null fi echo "" echo "=== Predastore Service Log ===" - if [ -f ~/hive/logs/predastore.log ]; then - tail -100 ~/hive/logs/predastore.log 2>/dev/null + if [ -f ~/spinifex/logs/predastore.log ]; then + tail -100 ~/spinifex/logs/predastore.log 2>/dev/null fi echo "" echo "=== Viperblock Service Log ===" - if [ -f ~/hive/logs/viperblock.log ]; then - tail -100 ~/hive/logs/viperblock.log 2>/dev/null + if [ -f ~/spinifex/logs/viperblock.log ]; then + tail -100 ~/spinifex/logs/viperblock.log 2>/dev/null fi echo "" - echo "=== Hive Daemon Log ===" - if [ -f ~/hive/logs/hive.log ]; then - tail -200 ~/hive/logs/hive.log 2>/dev/null + echo "=== Spinifex Daemon Log ===" + if [ -f ~/spinifex/logs/hive.log ]; then + tail -200 ~/spinifex/logs/hive.log 2>/dev/null fi echo "" echo "=== AWS Gateway Log ===" - if [ -f ~/hive/logs/awsgw.log ]; then - tail -200 ~/hive/logs/awsgw.log 2>/dev/null + if [ -f ~/spinifex/logs/awsgw.log ]; then + tail -200 ~/spinifex/logs/awsgw.log 2>/dev/null fi fi # Only stop services if we started them (not when bootstrapped) @@ -48,15 +48,15 @@ cleanup() { } trap cleanup EXIT -# Use Hive profile (hive admin init sets endpoint_url, ca_bundle, region in ~/.aws/config) -export AWS_PROFILE=hive +# Use Spinifex profile (spx admin init sets endpoint_url, ca_bundle, region in ~/.aws/config) +export AWS_PROFILE=spinifex -# Detect bootstrapped environment from hive.toml config +# Detect bootstrapped environment from spinifex.toml config BOOTSTRAPPED="false" GATEWAY_HOST="localhost" PREDASTORE_HOST="localhost" -if [ -f ~/hive/config/hive.toml ]; then - # Resolve gateway host from AWS profile endpoint_url (set by hive admin init) +if [ -f ~/spinifex/config/spinifex.toml ]; then + # Resolve gateway host from AWS profile endpoint_url (set by spx admin init) ENDPOINT_URL=$(aws configure get endpoint_url 2>/dev/null || true) if [ -n "$ENDPOINT_URL" ]; then DETECTED_GW_HOST=$(echo "$ENDPOINT_URL" | sed 's|https\?://||;s|:.*||') @@ -64,8 +64,8 @@ if [ -f ~/hive/config/hive.toml ]; then GATEWAY_HOST="$DETECTED_GW_HOST" fi fi - # Resolve predastore host from hive.toml - DETECTED_PS_HOST=$(awk -F'"' '/\[nodes\..*\.predastore\]/{found=1} found && /^host/{print $2; exit}' ~/hive/config/hive.toml) + # Resolve predastore host from spinifex.toml + DETECTED_PS_HOST=$(awk -F'"' '/\[nodes\..*\.predastore\]/{found=1} found && /^host/{print $2; exit}' ~/spinifex/config/spinifex.toml) if [ -n "$DETECTED_PS_HOST" ]; then PREDASTORE_HOST="${DETECTED_PS_HOST%%:*}" fi @@ -78,7 +78,7 @@ if [ -f ~/hive/config/hive.toml ]; then fi fi -# Helper: set up an AWS CLI profile with credentials + endpoint/CA config from the hive profile +# Helper: set up an AWS CLI profile with credentials + endpoint/CA config from the spinifex profile setup_test_profile() { local profile="$1" key_id="$2" secret="$3" aws configure set aws_access_key_id "$key_id" --profile "$profile" @@ -107,16 +107,16 @@ else fi if [ "$BOOTSTRAPPED" != "true" ]; then - ./bin/hive admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 + ./bin/spx admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 - # Trust the Hive CA certificate for AWS CLI SSL verification - echo "Adding Hive CA certificate to system trust store..." - sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt + # Trust the Spinifex CA certificate for AWS CLI SSL verification + echo "Adding Spinifex CA certificate to system trust store..." + sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt sudo update-ca-certificates # Start all services # Ensure logs directory exists for start-dev.sh - mkdir -p ~/hive/logs + mkdir -p ~/spinifex/logs ./scripts/start-dev.sh fi @@ -140,28 +140,28 @@ fi wait_for_daemon_ready "https://${GATEWAY_HOST}:9999" # Discover the cluster's availability zone and region dynamically -HIVE_AZ=$(aws ec2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) -HIVE_REGION=$(aws ec2 describe-availability-zones --query 'AvailabilityZones[0].RegionName' --output text) -echo "Discovered AZ: $HIVE_AZ, Region: $HIVE_REGION" +SPINIFEX_AZ=$(aws ec2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) +SPINIFEX_REGION=$(aws ec2 describe-availability-zones --query 'AvailabilityZones[0].RegionName' --output text) +echo "Discovered AZ: $SPINIFEX_AZ, Region: $SPINIFEX_REGION" # No need for AWS_EC2/AWS_IAM vars — endpoint_url and ca_bundle are in the profile config # Phase 1b: Cluster Stats CLI echo "Phase 1b: Cluster Stats CLI" -# Test hive get nodes — should show node1 as Ready -echo "Testing hive get nodes..." -GET_NODES_OUTPUT=$(./bin/hive get nodes --config ~/hive/config/hive.toml --timeout 5s 2>/dev/null) +# Test spx get nodes — should show node1 as Ready +echo "Testing spx get nodes..." +GET_NODES_OUTPUT=$(./bin/spx get nodes --config ~/spinifex/config/spinifex.toml --timeout 5s 2>/dev/null) echo "$GET_NODES_OUTPUT" if ! echo "$GET_NODES_OUTPUT" | grep -q "Ready"; then - echo "hive get nodes did not show any Ready nodes" + echo "spx get nodes did not show any Ready nodes" exit 1 fi -echo "hive get nodes passed" +echo "spx get nodes passed" # Test hive top nodes — should show CPU/MEM stats echo "Testing hive top nodes..." -TOP_NODES_OUTPUT=$(./bin/hive top nodes --config ~/hive/config/hive.toml --timeout 5s 2>/dev/null) +TOP_NODES_OUTPUT=$(./bin/spx top nodes --config ~/spinifex/config/spinifex.toml --timeout 5s 2>/dev/null) echo "$TOP_NODES_OUTPUT" if ! echo "$TOP_NODES_OUTPUT" | grep -q "0/"; then echo "hive top nodes did not show resource stats" @@ -169,15 +169,15 @@ if ! echo "$TOP_NODES_OUTPUT" | grep -q "0/"; then fi echo "hive top nodes passed" -# Test hive get vms — should show no VMs yet -echo "Testing hive get vms (empty)..." -GET_VMS_OUTPUT=$(./bin/hive get vms --config ~/hive/config/hive.toml --timeout 5s 2>/dev/null) +# Test spx get vms — should show no VMs yet +echo "Testing spx get vms (empty)..." +GET_VMS_OUTPUT=$(./bin/spx get vms --config ~/spinifex/config/spinifex.toml --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" if ! echo "$GET_VMS_OUTPUT" | grep -q "No VMs found"; then - echo "hive get vms should show 'No VMs found' before any launches" + echo "spx get vms should show 'No VMs found' before any launches" exit 1 fi -echo "hive get vms (empty) passed" +echo "spx get vms (empty) passed" # Phase 2: Discovery & Metadata echo "Phase 2: Discovery & Metadata" @@ -196,8 +196,8 @@ if [ "$AZ_STATE" != "available" ]; then fi echo "DescribeAvailabilityZones verified (Zone=$AZ_NAME, State=$AZ_STATE)" -# Discover available instance types from Hive -# Hive generates these based on the host CPU (e.g., m7i.micro, m8g.small, etc.) +# Discover available instance types from Spinifex +# Spinifex generates these based on the host CPU (e.g., m7i.micro, m8g.small, etc.) echo "Discovering available instance types..." AVAILABLE_TYPES=$(aws ec2 describe-instance-types --query 'InstanceTypes[*].InstanceType' --output text) echo "Available instance types: $AVAILABLE_TYPES" @@ -301,7 +301,7 @@ if [ "$BOOTSTRAPPED" = "true" ]; then AMI_ID=$(aws ec2 describe-images --query 'Images[0].ImageId' --output text) else echo "Importing pre-cached Ubuntu image..." - IMPORT_LOG=$(./bin/hive admin images import \ + IMPORT_LOG=$(./bin/spx admin images import \ --file ~/images/ubuntu-24.04.img \ --arch "$ARCH" \ --distro ubuntu \ @@ -384,15 +384,15 @@ if [ "$STATE" != "running" ]; then exit 1 fi -# Phase 5a-pre: Verify hive get vms shows running instance +# Phase 5a-pre: Verify spx get vms shows running instance echo "Phase 5a-pre: Cluster Stats CLI (with running VM)" -GET_VMS_OUTPUT=$(./bin/hive get vms --config ~/hive/config/hive.toml --timeout 5s 2>/dev/null) +GET_VMS_OUTPUT=$(./bin/spx get vms --config ~/spinifex/config/spinifex.toml --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" if ! echo "$GET_VMS_OUTPUT" | grep -q "$INSTANCE_ID"; then - echo "hive get vms did not show running instance $INSTANCE_ID" + echo "spx get vms did not show running instance $INSTANCE_ID" exit 1 fi -echo "hive get vms shows running instance" +echo "spx get vms shows running instance" # Phase 5a: Validate instance metadata fields echo "Phase 5a: Instance Metadata Validation" @@ -518,8 +518,8 @@ echo "Phase 5b: Volume Lifecycle (Attach/Detach)" echo "Testing volume create -> resize -> attach -> detach -> delete..." # Create a test volume -echo "Creating 10GB volume in ${HIVE_AZ}..." -CREATE_OUTPUT=$(aws ec2 create-volume --size 10 --availability-zone "$HIVE_AZ") +echo "Creating 10GB volume in ${SPINIFEX_AZ}..." +CREATE_OUTPUT=$(aws ec2 create-volume --size 10 --availability-zone "$SPINIFEX_AZ") TEST_VOLUME_ID=$(echo "$CREATE_OUTPUT" | jq -r '.VolumeId') if [ -z "$TEST_VOLUME_ID" ] || [ "$TEST_VOLUME_ID" == "null" ]; then @@ -735,7 +735,7 @@ echo "Describe snapshot verified (VolumeId=$DESC_VOL_ID, Size=$DESC_SIZE, Descri # Copy the snapshot echo "Copying snapshot $SNAPSHOT_ID..." -COPY_OUTPUT=$(aws ec2 copy-snapshot --source-snapshot-id "$SNAPSHOT_ID" --source-region "$HIVE_REGION" --description "e2e-copy") +COPY_OUTPUT=$(aws ec2 copy-snapshot --source-snapshot-id "$SNAPSHOT_ID" --source-region "$SPINIFEX_REGION" --description "e2e-copy") COPY_SNAPSHOT_ID=$(echo "$COPY_OUTPUT" | jq -r '.SnapshotId') if [ -z "$COPY_SNAPSHOT_ID" ] || [ "$COPY_SNAPSHOT_ID" == "null" ]; then @@ -1014,7 +1014,7 @@ echo "Reboot-stopped correctly rejected" # Phase 7a: Attach volume to stopped instance (should fail) echo "Phase 7a: Attach Volume to Stopped Instance (Error Path)" echo "Creating a volume to test attach-to-stopped..." -STOPPED_VOL_OUTPUT=$(aws ec2 create-volume --size 10 --availability-zone "$HIVE_AZ") +STOPPED_VOL_OUTPUT=$(aws ec2 create-volume --size 10 --availability-zone "$SPINIFEX_AZ") STOPPED_VOL_ID=$(echo "$STOPPED_VOL_OUTPUT" | jq -r '.VolumeId') echo "Created volume: $STOPPED_VOL_ID" @@ -1867,7 +1867,7 @@ echo "Phase 8 Step 1: Account Setup" echo "----------------------------------------" echo " Creating Team Alpha account..." -ALPHA_OUTPUT=$(./bin/hive admin account create --name "Team Alpha" 2>&1) +ALPHA_OUTPUT=$(./bin/spx admin account create --name "Team Alpha" 2>&1) echo "$ALPHA_OUTPUT" ALPHA_ACCOUNT=$(echo "$ALPHA_OUTPUT" | grep "Account ID:" | awk '{print $NF}') ALPHA_KEY_ID=$(echo "$ALPHA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') @@ -1881,7 +1881,7 @@ echo " Team Alpha: account=$ALPHA_ACCOUNT key=$ALPHA_KEY_ID" setup_test_profile hive-team-alpha "$ALPHA_KEY_ID" "$ALPHA_SECRET" echo " Creating Team Beta account..." -BETA_OUTPUT=$(./bin/hive admin account create --name "Team Beta" 2>&1) +BETA_OUTPUT=$(./bin/spx admin account create --name "Team Beta" 2>&1) echo "$BETA_OUTPUT" BETA_ACCOUNT=$(echo "$BETA_OUTPUT" | grep "Account ID:" | awk '{print $NF}') BETA_KEY_ID=$(echo "$BETA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') @@ -2416,7 +2416,7 @@ echo "----------------------------------------" # Empty account (Gamma) echo " Creating empty Gamma account..." -GAMMA_OUTPUT=$(./bin/hive admin account create --name "Team Gamma" 2>&1) +GAMMA_OUTPUT=$(./bin/spx admin account create --name "Team Gamma" 2>&1) GAMMA_KEY_ID=$(echo "$GAMMA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') GAMMA_SECRET=$(echo "$GAMMA_OUTPUT" | grep "Secret Access Key:" | awk '{print $NF}') setup_test_profile hive-team-gamma "$GAMMA_KEY_ID" "$GAMMA_SECRET" diff --git a/tests/e2e/run-multinode-e2e.sh b/tests/e2e/run-multinode-e2e.sh index 165638571..27c402a04 100755 --- a/tests/e2e/run-multinode-e2e.sh +++ b/tests/e2e/run-multinode-e2e.sh @@ -3,7 +3,7 @@ set -euo pipefail # Multi-Node E2E Test Suite (real 3-node cluster) # Runs inside node1 of a 3-node cluster provisioned by tofu (env2). -# Bootstrap has already: built hive, set up OVN, run init/join, started services, +# Bootstrap has already: built spinifex, set up OVN, run init/join, started services, # installed CA certs, imported SSH key + AMI, created VPC + subnet. # # Usage: run-multinode-e2e.sh @@ -11,7 +11,7 @@ set -euo pipefail # Ensure Go is on PATH (SSH non-interactive shells don't source .bashrc) export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH" -# Ensure we are in the hive project root +# Ensure we are in the spinifex project root cd "$(dirname "$0")/../.." # ========================================================================== @@ -36,14 +36,14 @@ NATS_MONITOR_PORT=8222 PREDASTORE_PORT=8443 AWSGW_PORT=9999 SSH_KEY_PATH="$HOME/.ssh/tf-user-ap-southeast-2" -HIVE_DATA_DIR="$HOME/hive" -HIVE_CONFIG="$HIVE_DATA_DIR/config/hive.toml" -HIVE_BIN="./bin/hive" +SPINIFEX_DATA_DIR="$HOME/spinifex" +SPINIFEX_CONFIG="$SPINIFEX_DATA_DIR/config/spinifex.toml" +SPINIFEX_BIN="./bin/spx" -# Use Hive profile for AWS CLI -export AWS_PROFILE=hive -# Trust Hive CA for AWS CLI v2 (bundles its own Python/certifi, ignores system CA store) -export AWS_CA_BUNDLE="$HIVE_DATA_DIR/config/ca.pem" +# Use Spinifex profile for AWS CLI +export AWS_PROFILE=spinifex +# Trust Spinifex CA for AWS CLI v2 (bundles its own Python/certifi, ignores system CA store) +export AWS_CA_BUNDLE="$SPINIFEX_DATA_DIR/config/ca.pem" # Track test results TESTS_PASSED=0 @@ -107,13 +107,13 @@ dump_all_node_logs() { echo "" echo "=== Node $((i+1)) ($ip) ===" if [ "$ip" = "$LOCAL_IP" ]; then - for f in "$HIVE_DATA_DIR/logs/"*.log; do + for f in "$SPINIFEX_DATA_DIR/logs/"*.log; do [ -f "$f" ] || continue echo "--- $(basename "$f") (last 50 lines) ---" tail -50 "$f" 2>/dev/null || echo "(not found)" done else - peer_ssh "$ip" 'for f in ~/hive/logs/*.log; do + peer_ssh "$ip" 'for f in ~/spinifex/logs/*.log; do [ -f "$f" ] || continue echo "--- $(basename "$f") (last 50 lines) ---" tail -50 "$f" 2>/dev/null || echo "(not found)" @@ -401,23 +401,23 @@ if [ -z "$TYPES" ] || [ "$TYPES" == "None" ]; then fi pass_test "Daemon readiness" -# Hive CLI: get nodes -echo "Checking hive get nodes..." -GET_NODES_OUTPUT=$($HIVE_BIN get nodes --config "$HIVE_CONFIG" --timeout 5s 2>/dev/null) +# Spinifex CLI: get nodes +echo "Checking spx get nodes..." +GET_NODES_OUTPUT=$($SPINIFEX_BIN get nodes --config "$SPINIFEX_CONFIG" --timeout 5s 2>/dev/null) echo "$GET_NODES_OUTPUT" READY_COUNT=$(echo "$GET_NODES_OUTPUT" | grep -c "Ready" || true) if [ "$READY_COUNT" -ge 3 ]; then - pass_test "hive get nodes ($READY_COUNT Ready)" + pass_test "spx get nodes ($READY_COUNT Ready)" else - echo " WARNING: hive get nodes shows $READY_COUNT Ready nodes (expected 3)" - fail_test "hive get nodes" + echo " WARNING: spx get nodes shows $READY_COUNT Ready nodes (expected 3)" + fail_test "spx get nodes" fi -# Hive CLI: get vms (should be empty) -echo "Checking hive get vms (empty)..." -GET_VMS_OUTPUT=$($HIVE_BIN get vms --config "$HIVE_CONFIG" --timeout 5s 2>/dev/null) +# Spinifex CLI: get vms (should be empty) +echo "Checking spx get vms (empty)..." +GET_VMS_OUTPUT=$($SPINIFEX_BIN get vms --config "$SPINIFEX_CONFIG" --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" -pass_test "hive get vms (empty)" +pass_test "spx get vms (empty)" echo "" @@ -450,7 +450,7 @@ for i in 1 2 3; do RUN_OUTPUT=$($AWS_EC2 run-instances \ --image-id "$AMI_ID" \ --instance-type "$INSTANCE_TYPE" \ - --key-name hive-key) + --key-name spinifex-key) INSTANCE_ID=$(echo "$RUN_OUTPUT" | jq -r '.Instances[0].InstanceId') if [ -z "$INSTANCE_ID" ] || [ "$INSTANCE_ID" == "null" ]; then @@ -475,7 +475,7 @@ for instance_id in "${INSTANCE_IDS[@]}"; do } done -# Check distribution via hive get vms or QEMU process check +# Check distribution via spx get vms or QEMU process check echo "" echo "Checking instance distribution across nodes..." declare -A NODE_INSTANCE_COUNT @@ -497,17 +497,17 @@ else pass_test "Instance distribution (non-deterministic)" fi -# Verify hive get vms shows all instances +# Verify spx get vms shows all instances echo "" -echo "Verifying hive get vms..." -GET_VMS_OUTPUT=$($HIVE_BIN get vms --config "$HIVE_CONFIG" --timeout 5s 2>/dev/null) +echo "Verifying spx get vms..." +GET_VMS_OUTPUT=$($SPINIFEX_BIN get vms --config "$SPINIFEX_CONFIG" --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" for instance_id in "${INSTANCE_IDS[@]}"; do if ! echo "$GET_VMS_OUTPUT" | grep -q "$instance_id"; then - echo " WARNING: hive get vms did not show $instance_id" + echo " WARNING: spx get vms did not show $instance_id" fi done -pass_test "hive get vms (with instances)" +pass_test "spx get vms (with instances)" echo "" @@ -543,7 +543,7 @@ for idx in "${!INSTANCE_IDS[@]}"; do -o BatchMode=yes \ -o LogLevel=ERROR \ -p "$SSH_PORT" \ - -i "$HOME/.ssh/hive-key" \ + -i "$HOME/.ssh/spinifex-key" \ ec2-user@"$host_ip" 'echo ready' > /dev/null 2>&1; then SSH_READY=true break @@ -566,7 +566,7 @@ for idx in "${!INSTANCE_IDS[@]}"; do -o BatchMode=yes \ -o LogLevel=ERROR \ -p "$SSH_PORT" \ - -i "$HOME/.ssh/hive-key" \ + -i "$HOME/.ssh/spinifex-key" \ ec2-user@"$host_ip" 'id' 2>&1) || { echo " ERROR: SSH 'id' command failed" fail_test "Guest SSH ($instance_id)" @@ -589,7 +589,7 @@ for idx in "${!INSTANCE_IDS[@]}"; do -o BatchMode=yes \ -o LogLevel=ERROR \ -p "$SSH_PORT" \ - -i "$HOME/.ssh/hive-key" \ + -i "$HOME/.ssh/spinifex-key" \ ec2-user@"$host_ip" 'lsblk' 2>&1) || true echo " lsblk: $(echo "$LSBLK_OUTPUT" | head -5)" @@ -605,12 +605,12 @@ echo "Phase 5: Volume Lifecycle" echo "========================================" # Discover AZ -HIVE_AZ=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) -echo "AZ: $HIVE_AZ" +SPINIFEX_AZ=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) +echo "AZ: $SPINIFEX_AZ" # Create volume echo "Creating 10GB test volume..." -CREATE_OUTPUT=$($AWS_EC2 create-volume --size 10 --availability-zone "$HIVE_AZ") +CREATE_OUTPUT=$($AWS_EC2 create-volume --size 10 --availability-zone "$SPINIFEX_AZ") TEST_VOLUME_ID=$(echo "$CREATE_OUTPUT" | jq -r '.VolumeId') if [ -z "$TEST_VOLUME_ID" ] || [ "$TEST_VOLUME_ID" == "null" ]; then echo " ERROR: Failed to create volume" @@ -772,9 +772,9 @@ echo "Phase 8: Node Failure" echo "========================================" echo "Stopping services on node2 ($NODE2_IP) to simulate node failure..." -# Stop services on node2 only — HIVE_FORCE_LOCAL_STOP prevents coordinated +# Stop services on node2 only — SPINIFEX_FORCE_LOCAL_STOP prevents coordinated # cluster shutdown which would kill all nodes via NATS -peer_ssh "$NODE2_IP" "cd ~/Development/mulga/hive && HIVE_FORCE_LOCAL_STOP=1 ./scripts/stop-dev.sh" || { +peer_ssh "$NODE2_IP" "cd ~/Development/mulga/spinifex && SPINIFEX_FORCE_LOCAL_STOP=1 ./scripts/stop-dev.sh" || { echo " WARNING: stop-dev.sh returned non-zero (may be expected)" } @@ -835,7 +835,7 @@ echo "Phase 9: Node Recovery" echo "========================================" echo "Restarting services on node2 ($NODE2_IP)..." -peer_ssh "$NODE2_IP" "cd ~/Development/mulga/hive && ./scripts/start-dev.sh" || { +peer_ssh "$NODE2_IP" "cd ~/Development/mulga/spinifex && ./scripts/start-dev.sh" || { echo " ERROR: Failed to restart services on node2" fail_test "Node2 restart" } @@ -884,9 +884,9 @@ else fail_test "Node2 gateway recovery" fi -# Verify hive get nodes shows 3 Ready again -echo " Checking hive get nodes after recovery..." -GET_NODES_RECOVER=$($HIVE_BIN get nodes --config "$HIVE_CONFIG" --timeout 10s 2>/dev/null || echo "") +# Verify spx get nodes shows 3 Ready again +echo " Checking spx get nodes after recovery..." +GET_NODES_RECOVER=$($SPINIFEX_BIN get nodes --config "$SPINIFEX_CONFIG" --timeout 10s 2>/dev/null || echo "") echo "$GET_NODES_RECOVER" READY_RECOVER=$(echo "$GET_NODES_RECOVER" | grep -c "Ready" || true) if [ "$READY_RECOVER" -ge 3 ]; then diff --git a/tests/e2e/run-pseudo-multinode-e2e.sh b/tests/e2e/run-pseudo-multinode-e2e.sh index 8c8ac15e2..471aaa67b 100755 --- a/tests/e2e/run-pseudo-multinode-e2e.sh +++ b/tests/e2e/run-pseudo-multinode-e2e.sh @@ -5,7 +5,7 @@ set -e export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH" # Pseudo Multi-Node E2E test runner -# This script sets up a 3-node Hive cluster using simulated IPs on the loopback interface +# This script sets up a 3-node Spinifex cluster using simulated IPs on the loopback interface # and runs distributed instance tests on a single VM. # Ensure we are in the project root @@ -33,7 +33,7 @@ cleanup() { # Try coordinated shutdown first (only if NATS is likely still up) if [ "$CLUSTER_SERVICES_STARTED" = "true" ]; then echo "Attempting coordinated cluster shutdown..." - if timeout 60 ./bin/hive admin cluster shutdown --force --timeout 30s --config "$HOME/node1/config/hive.toml" 2>/dev/null; then + if timeout 60 ./bin/spx admin cluster shutdown --force --timeout 30s --config "$HOME/node1/config/spinifex.toml" 2>/dev/null; then echo "Coordinated shutdown succeeded" else echo "Coordinated shutdown failed, falling back to per-node stop..." @@ -60,9 +60,9 @@ JOIN3_PID="" # Track whether cluster services have been started (for cleanup trap) CLUSTER_SERVICES_STARTED="false" -# Use Hive profile for AWS CLI -export AWS_PROFILE=hive -# Trust Hive CA for all profiles (AWS CLI v2 bundles its own Python/certifi, ignores system CA store) +# Use Spinifex profile for AWS CLI +export AWS_PROFILE=spinifex +# Trust Spinifex CA for all profiles (AWS CLI v2 bundles its own Python/certifi, ignores system CA store) export AWS_CA_BUNDLE="$HOME/node1/config/ca.pem" @@ -114,8 +114,8 @@ init_leader_node # Trust CA cert (exists before formation completes — cert generation is the first step) echo "" -echo "Adding Hive CA certificate to system trust store..." -sudo cp ~/node1/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +echo "Adding Spinifex CA certificate to system trust store..." +sudo cp ~/node1/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates # Background BOTH joins — they poll /formation/status until all 3 nodes have joined. @@ -178,39 +178,39 @@ AWS_EC2="aws --endpoint-url https://${NODE1_IP}:${AWSGW_PORT} ec2" AWS_IAM="aws --endpoint-url https://${NODE1_IP}:${AWSGW_PORT} iam" # Discover the cluster's availability zone and region dynamically -HIVE_AZ=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) -HIVE_REGION=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].RegionName' --output text) -echo "Discovered AZ: $HIVE_AZ, Region: $HIVE_REGION" +SPINIFEX_AZ=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].ZoneName' --output text) +SPINIFEX_REGION=$($AWS_EC2 describe-availability-zones --query 'AvailabilityZones[0].RegionName' --output text) +echo "Discovered AZ: $SPINIFEX_AZ, Region: $SPINIFEX_REGION" # Phase 3b: Cluster Stats CLI (Multi-Node) echo "" echo "Phase 3b: Cluster Stats CLI (Multi-Node)" echo "========================================" -# Test hive get nodes — should show all 3 nodes as Ready -echo "Testing hive get nodes..." -GET_NODES_OUTPUT=$(./bin/hive get nodes --config "$HOME/node1/config/hive.toml" --timeout 5s 2>/dev/null) +# Test spx get nodes — should show all 3 nodes as Ready +echo "Testing spx get nodes..." +GET_NODES_OUTPUT=$(./bin/spx get nodes --config "$HOME/node1/config/spinifex.toml" --timeout 5s 2>/dev/null) echo "$GET_NODES_OUTPUT" READY_COUNT=$(echo "$GET_NODES_OUTPUT" | grep -c "Ready" || true) if [ "$READY_COUNT" -lt 3 ]; then - echo "WARNING: hive get nodes shows $READY_COUNT Ready nodes (expected 3)" + echo "WARNING: spx get nodes shows $READY_COUNT Ready nodes (expected 3)" fi -echo "hive get nodes passed ($READY_COUNT Ready nodes)" +echo "spx get nodes passed ($READY_COUNT Ready nodes)" -# Test hive top nodes — should show resource stats for all nodes -echo "Testing hive top nodes..." -TOP_NODES_OUTPUT=$(./bin/hive top nodes --config "$HOME/node1/config/hive.toml" --timeout 5s 2>/dev/null) +# Test spx top nodes — should show resource stats for all nodes +echo "Testing spx top nodes..." +TOP_NODES_OUTPUT=$(./bin/spx top nodes --config "$HOME/node1/config/spinifex.toml" --timeout 5s 2>/dev/null) echo "$TOP_NODES_OUTPUT" if ! echo "$TOP_NODES_OUTPUT" | grep -q "INSTANCE TYPE"; then - echo "WARNING: hive top nodes did not show instance type capacity table" + echo "WARNING: spx top nodes did not show instance type capacity table" fi -echo "hive top nodes passed" +echo "spx top nodes passed" -# Test hive get vms — should show no VMs yet -echo "Testing hive get vms (empty)..." -GET_VMS_OUTPUT=$(./bin/hive get vms --config "$HOME/node1/config/hive.toml" --timeout 5s 2>/dev/null) +# Test spx get vms — should show no VMs yet +echo "Testing spx get vms (empty)..." +GET_VMS_OUTPUT=$(./bin/spx get vms --config "$HOME/node1/config/spinifex.toml" --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" -echo "hive get vms (empty) passed" +echo "spx get vms (empty) passed" # Verify gateway responds echo "" @@ -252,16 +252,16 @@ echo "$KEY_MATERIAL" > multinode-test-key.pem chmod 600 multinode-test-key.pem echo " Key created: multinode-test-key" -# Import Ubuntu image (use node1's config and hive-dir) +# Import Ubuntu image (use node1's config and spinifex-dir) echo "" echo "Importing Ubuntu image..." -IMPORT_LOG=$(./bin/hive admin images import \ +IMPORT_LOG=$(./bin/spx admin images import \ --file ~/images/ubuntu-24.04.img \ --arch "$ARCH" \ --distro ubuntu \ --version 24.04 \ - --config "$HOME/node1/config/hive.toml" \ - --hive-dir "$HOME/node1/" \ + --config "$HOME/node1/config/spinifex.toml" \ + --spinifex-dir "$HOME/node1/" \ --force) echo "Import output: $IMPORT_LOG" AMI_ID=$(echo "$IMPORT_LOG" | grep -o 'ami-[a-z0-9]\+') @@ -361,17 +361,17 @@ done echo "" check_instance_distribution -# Verify hive get vms shows all running instances +# Verify spx get vms shows all running instances echo "" -echo "Verifying hive get vms (with running VMs)..." -GET_VMS_OUTPUT=$(./bin/hive get vms --config "$HOME/node1/config/hive.toml" --timeout 5s 2>/dev/null) +echo "Verifying spx get vms (with running VMs)..." +GET_VMS_OUTPUT=$(./bin/spx get vms --config "$HOME/node1/config/spinifex.toml" --timeout 5s 2>/dev/null) echo "$GET_VMS_OUTPUT" for instance_id in "${INSTANCE_IDS[@]}"; do if ! echo "$GET_VMS_OUTPUT" | grep -q "$instance_id"; then - echo "WARNING: hive get vms did not show instance $instance_id" + echo "WARNING: spx get vms did not show instance $instance_id" fi done -echo "hive get vms shows launched instances" +echo "spx get vms shows launched instances" # Test 1a-ii: SSH Connectivity & Volume Verification echo "" @@ -451,7 +451,7 @@ for idx in "${!INSTANCE_IDS[@]}"; do -i "multinode-test-key.pem" \ ec2-user@"$SSH_HOST" 'hostname' 2>/dev/null) echo " VM hostname: $VM_HOSTNAME" - # Hostname uses truncated ID: hive-vm- + # Hostname uses truncated ID: spinifex-vm- SHORT_ID=$(echo "$instance_id" | sed 's/^i-//' | cut -c1-8) if echo "$VM_HOSTNAME" | grep -q "$SHORT_ID"; then echo " Hostname contains instance ID prefix ($SHORT_ID)" @@ -470,8 +470,8 @@ echo "----------------------------------------" echo "Testing volume create -> resize -> attach -> detach -> delete..." # Create a test volume -echo " Creating 10GB volume in ${HIVE_AZ}..." -CREATE_OUTPUT=$($AWS_EC2 create-volume --size 10 --availability-zone "$HIVE_AZ") +echo " Creating 10GB volume in ${SPINIFEX_AZ}..." +CREATE_OUTPUT=$($AWS_EC2 create-volume --size 10 --availability-zone "$SPINIFEX_AZ") TEST_VOLUME_ID=$(echo "$CREATE_OUTPUT" | jq -r '.VolumeId') if [ -z "$TEST_VOLUME_ID" ] || [ "$TEST_VOLUME_ID" == "null" ]; then @@ -676,7 +676,7 @@ echo " Describe verified (VolumeId=$DESC_VOL_ID, Size=$DESC_SIZE, Description=$ # Copy the snapshot echo " Copying snapshot $SNAPSHOT_ID..." -COPY_OUTPUT=$($AWS_EC2 copy-snapshot --source-snapshot-id "$SNAPSHOT_ID" --source-region "$HIVE_REGION" --description "multinode-e2e-copy") +COPY_OUTPUT=$($AWS_EC2 copy-snapshot --source-snapshot-id "$SNAPSHOT_ID" --source-region "$SPINIFEX_REGION" --description "multinode-e2e-copy") COPY_SNAPSHOT_ID=$(echo "$COPY_OUTPUT" | jq -r '.SnapshotId') if [ -z "$COPY_SNAPSHOT_ID" ] || [ "$COPY_SNAPSHOT_ID" == "null" ]; then @@ -1041,10 +1041,10 @@ else echo " ERROR: Instance failed to recover from crash" # Dump daemon logs for debugging for i in 1 2 3; do - if [ -f "$HOME/node$i/logs/hive.log" ]; then + if [ -f "$HOME/node$i/logs/spinifex.log" ]; then echo "" echo " --- node$i daemon log (last 30 lines) ---" - tail -30 "$HOME/node$i/logs/hive.log" + tail -30 "$HOME/node$i/logs/spinifex.log" fi done exit 1 @@ -1169,7 +1169,7 @@ echo "Step 1: Create Accounts" echo "----------------------------------------" echo " Creating Team Alpha account..." -ALPHA_OUTPUT=$(./bin/hive admin account create --name "Team Alpha" --config "$HOME/node1/config/hive.toml" 2>&1) +ALPHA_OUTPUT=$(./bin/spx admin account create --name "Team Alpha" --config "$HOME/node1/config/spinifex.toml" 2>&1) echo "$ALPHA_OUTPUT" ALPHA_ACCOUNT=$(echo "$ALPHA_OUTPUT" | grep "Account ID:" | awk '{print $NF}') ALPHA_KEY_ID=$(echo "$ALPHA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') @@ -1182,12 +1182,12 @@ fi echo " Team Alpha: account=$ALPHA_ACCOUNT key=$ALPHA_KEY_ID" # Configure alpha profile (in case auto-config used a different endpoint) -aws configure set aws_access_key_id "$ALPHA_KEY_ID" --profile hive-team-alpha -aws configure set aws_secret_access_key "$ALPHA_SECRET" --profile hive-team-alpha -aws configure set region us-east-1 --profile hive-team-alpha +aws configure set aws_access_key_id "$ALPHA_KEY_ID" --profile spinifex-team-alpha +aws configure set aws_secret_access_key "$ALPHA_SECRET" --profile spinifex-team-alpha +aws configure set region us-east-1 --profile spinifex-team-alpha echo " Creating Team Beta account..." -BETA_OUTPUT=$(./bin/hive admin account create --name "Team Beta" --config "$HOME/node1/config/hive.toml" 2>&1) +BETA_OUTPUT=$(./bin/spx admin account create --name "Team Beta" --config "$HOME/node1/config/spinifex.toml" 2>&1) echo "$BETA_OUTPUT" BETA_ACCOUNT=$(echo "$BETA_OUTPUT" | grep "Account ID:" | awk '{print $NF}') BETA_KEY_ID=$(echo "$BETA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') @@ -1199,9 +1199,9 @@ if [ -z "$BETA_ACCOUNT" ] || [ -z "$BETA_KEY_ID" ]; then fi echo " Team Beta: account=$BETA_ACCOUNT key=$BETA_KEY_ID" -aws configure set aws_access_key_id "$BETA_KEY_ID" --profile hive-team-beta -aws configure set aws_secret_access_key "$BETA_SECRET" --profile hive-team-beta -aws configure set region us-east-1 --profile hive-team-beta +aws configure set aws_access_key_id "$BETA_KEY_ID" --profile spinifex-team-beta +aws configure set aws_secret_access_key "$BETA_SECRET" --profile spinifex-team-beta +aws configure set region us-east-1 --profile spinifex-team-beta # Verify sequential IDs echo " Verifying sequential account IDs..." @@ -1213,7 +1213,7 @@ fi # List accounts echo " Listing accounts..." -ACCOUNT_LIST=$(./bin/hive admin account list --config "$HOME/node1/config/hive.toml" 2>&1) +ACCOUNT_LIST=$(./bin/spx admin account list --config "$HOME/node1/config/spinifex.toml" 2>&1) echo "$ACCOUNT_LIST" if echo "$ACCOUNT_LIST" | grep -q "Team Alpha" && echo "$ACCOUNT_LIST" | grep -q "Team Beta"; then echo " Account list verified" @@ -1228,15 +1228,15 @@ echo "Step 2: Account Admin Auth" echo "----------------------------------------" echo " Testing alpha admin auth..." -aws $AWS_EP ec2 describe-instances --profile hive-team-alpha > /dev/null +aws $AWS_EP ec2 describe-instances --profile spinifex-team-alpha > /dev/null echo " Alpha admin: ec2 OK" -aws $AWS_EP iam list-users --profile hive-team-alpha > /dev/null +aws $AWS_EP iam list-users --profile spinifex-team-alpha > /dev/null echo " Alpha admin: iam OK" echo " Testing beta admin auth..." -aws $AWS_EP ec2 describe-instances --profile hive-team-beta > /dev/null +aws $AWS_EP ec2 describe-instances --profile spinifex-team-beta > /dev/null echo " Beta admin: ec2 OK" -aws $AWS_EP iam list-users --profile hive-team-beta > /dev/null +aws $AWS_EP iam list-users --profile spinifex-team-beta > /dev/null echo " Beta admin: iam OK" # Step 3: Account-scoped users @@ -1246,29 +1246,29 @@ echo "----------------------------------------" # Same username in different accounts echo " Creating alice in both accounts..." -aws $AWS_EP iam create-user --user-name alice --profile hive-team-alpha > /dev/null -ALPHA_ALICE_ARN=$(aws $AWS_EP iam get-user --user-name alice --profile hive-team-alpha | jq -r '.User.Arn') +aws $AWS_EP iam create-user --user-name alice --profile spinifex-team-alpha > /dev/null +ALPHA_ALICE_ARN=$(aws $AWS_EP iam get-user --user-name alice --profile spinifex-team-alpha | jq -r '.User.Arn') echo " Alpha alice: $ALPHA_ALICE_ARN" -aws $AWS_EP iam create-user --user-name alice --profile hive-team-beta > /dev/null -BETA_ALICE_ARN=$(aws $AWS_EP iam get-user --user-name alice --profile hive-team-beta | jq -r '.User.Arn') +aws $AWS_EP iam create-user --user-name alice --profile spinifex-team-beta > /dev/null +BETA_ALICE_ARN=$(aws $AWS_EP iam get-user --user-name alice --profile spinifex-team-beta | jq -r '.User.Arn') echo " Beta alice: $BETA_ALICE_ARN" # Additional users -aws $AWS_EP iam create-user --user-name team-member --profile hive-team-alpha > /dev/null -aws $AWS_EP iam create-user --user-name dev-user --profile hive-team-beta > /dev/null +aws $AWS_EP iam create-user --user-name team-member --profile spinifex-team-alpha > /dev/null +aws $AWS_EP iam create-user --user-name dev-user --profile spinifex-team-beta > /dev/null # List users — scoped echo " Verifying scoped user lists..." -ALPHA_USERS=$(aws $AWS_EP iam list-users --profile hive-team-alpha | jq -r '.Users[].UserName' | sort | tr '\n' ',') +ALPHA_USERS=$(aws $AWS_EP iam list-users --profile spinifex-team-alpha | jq -r '.Users[].UserName' | sort | tr '\n' ',') echo " Alpha users: $ALPHA_USERS" -BETA_USERS=$(aws $AWS_EP iam list-users --profile hive-team-beta | jq -r '.Users[].UserName' | sort | tr '\n' ',') +BETA_USERS=$(aws $AWS_EP iam list-users --profile spinifex-team-beta | jq -r '.Users[].UserName' | sort | tr '\n' ',') echo " Beta users: $BETA_USERS" # Cross-account isolation echo " Verifying cross-account isolation..." set +e -CROSS_CHECK=$(aws $AWS_EP iam get-user --user-name dev-user --profile hive-team-alpha 2>&1) +CROSS_CHECK=$(aws $AWS_EP iam get-user --user-name dev-user --profile spinifex-team-alpha 2>&1) set -e if echo "$CROSS_CHECK" | grep -q "NoSuchEntity"; then echo " Alpha cannot see Beta's dev-user — isolation OK" @@ -1278,7 +1278,7 @@ else fi set +e -CROSS_CHECK2=$(aws $AWS_EP iam get-user --user-name team-member --profile hive-team-beta 2>&1) +CROSS_CHECK2=$(aws $AWS_EP iam get-user --user-name team-member --profile spinifex-team-beta 2>&1) set -e if echo "$CROSS_CHECK2" | grep -q "NoSuchEntity"; then echo " Beta cannot see Alpha's team-member — isolation OK" @@ -1292,23 +1292,23 @@ echo "" echo "Step 4: Account-Scoped Access Keys" echo "----------------------------------------" -ALPHA_ALICE_KEY=$(aws $AWS_EP iam create-access-key --user-name alice --profile hive-team-alpha) +ALPHA_ALICE_KEY=$(aws $AWS_EP iam create-access-key --user-name alice --profile spinifex-team-alpha) ALPHA_ALICE_KEY_ID=$(echo "$ALPHA_ALICE_KEY" | jq -r '.AccessKey.AccessKeyId') ALPHA_ALICE_SECRET=$(echo "$ALPHA_ALICE_KEY" | jq -r '.AccessKey.SecretAccessKey') echo " Alpha alice key: $ALPHA_ALICE_KEY_ID" -aws configure set aws_access_key_id "$ALPHA_ALICE_KEY_ID" --profile hive-alpha-alice -aws configure set aws_secret_access_key "$ALPHA_ALICE_SECRET" --profile hive-alpha-alice -aws configure set region us-east-1 --profile hive-alpha-alice +aws configure set aws_access_key_id "$ALPHA_ALICE_KEY_ID" --profile spinifex-alpha-alice +aws configure set aws_secret_access_key "$ALPHA_ALICE_SECRET" --profile spinifex-alpha-alice +aws configure set region us-east-1 --profile spinifex-alpha-alice -BETA_ALICE_KEY=$(aws $AWS_EP iam create-access-key --user-name alice --profile hive-team-beta) +BETA_ALICE_KEY=$(aws $AWS_EP iam create-access-key --user-name alice --profile spinifex-team-beta) BETA_ALICE_KEY_ID=$(echo "$BETA_ALICE_KEY" | jq -r '.AccessKey.AccessKeyId') BETA_ALICE_SECRET=$(echo "$BETA_ALICE_KEY" | jq -r '.AccessKey.SecretAccessKey') echo " Beta alice key: $BETA_ALICE_KEY_ID" -aws configure set aws_access_key_id "$BETA_ALICE_KEY_ID" --profile hive-beta-alice -aws configure set aws_secret_access_key "$BETA_ALICE_SECRET" --profile hive-beta-alice -aws configure set region us-east-1 --profile hive-beta-alice +aws configure set aws_access_key_id "$BETA_ALICE_KEY_ID" --profile spinifex-beta-alice +aws configure set aws_secret_access_key "$BETA_ALICE_SECRET" --profile spinifex-beta-alice +aws configure set region us-east-1 --profile spinifex-beta-alice # Step 5: Account-scoped policies & enforcement echo "" @@ -1326,7 +1326,7 @@ aws $AWS_EP iam create-policy \ "Action": ["ec2:DescribeInstances", "ec2:DescribeVpcs"], "Resource": "*" }] - }' --profile hive-team-alpha > /dev/null + }' --profile spinifex-team-alpha > /dev/null # Beta: broad EC2 Describe* wildcard echo " Creating EC2ReadOnly in Beta (broad Describe*)..." @@ -1339,36 +1339,36 @@ aws $AWS_EP iam create-policy \ "Action": "ec2:Describe*", "Resource": "*" }] - }' --profile hive-team-beta > /dev/null + }' --profile spinifex-team-beta > /dev/null # Attach policies echo " Attaching policies..." aws $AWS_EP iam attach-user-policy --user-name alice \ - --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-alpha + --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-alpha aws $AWS_EP iam attach-user-policy --user-name alice \ - --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-beta + --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-beta # Verify scoped enforcement echo " Verifying scoped enforcement..." # Alpha alice: narrow policy -aws $AWS_EP ec2 describe-instances --profile hive-alpha-alice > /dev/null +aws $AWS_EP ec2 describe-instances --profile spinifex-alpha-alice > /dev/null echo " Alpha alice: describe-instances — allowed" -aws $AWS_EP ec2 describe-vpcs --profile hive-alpha-alice > /dev/null +aws $AWS_EP ec2 describe-vpcs --profile spinifex-alpha-alice > /dev/null echo " Alpha alice: describe-vpcs — allowed" -expect_error "AccessDenied" aws $AWS_EP ec2 describe-key-pairs --profile hive-alpha-alice +expect_error "AccessDenied" aws $AWS_EP ec2 describe-key-pairs --profile spinifex-alpha-alice echo " Alpha alice: describe-key-pairs — denied (narrow policy)" # Beta alice: broad policy -aws $AWS_EP ec2 describe-instances --profile hive-beta-alice > /dev/null +aws $AWS_EP ec2 describe-instances --profile spinifex-beta-alice > /dev/null echo " Beta alice: describe-instances — allowed" -aws $AWS_EP ec2 describe-key-pairs --profile hive-beta-alice > /dev/null +aws $AWS_EP ec2 describe-key-pairs --profile spinifex-beta-alice > /dev/null echo " Beta alice: describe-key-pairs — allowed (Describe* wildcard)" # Both denied non-Describe -expect_error "AccessDenied" aws $AWS_EP ec2 create-key-pair --key-name x --profile hive-alpha-alice +expect_error "AccessDenied" aws $AWS_EP ec2 create-key-pair --key-name x --profile spinifex-alpha-alice echo " Alpha alice: create-key-pair — denied" -expect_error "AccessDenied" aws $AWS_EP ec2 create-key-pair --key-name x --profile hive-beta-alice +expect_error "AccessDenied" aws $AWS_EP ec2 create-key-pair --key-name x --profile spinifex-beta-alice echo " Beta alice: create-key-pair — denied" echo " Scoped enforcement verified" @@ -1381,14 +1381,14 @@ echo "----------------------------------------" # Delete Alpha's alice echo " Deleting Alpha's alice..." aws $AWS_EP iam detach-user-policy --user-name alice \ - --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-alpha + --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-alpha aws $AWS_EP iam delete-access-key --user-name alice \ - --access-key-id "$ALPHA_ALICE_KEY_ID" --profile hive-team-alpha -aws $AWS_EP iam delete-user --user-name alice --profile hive-team-alpha + --access-key-id "$ALPHA_ALICE_KEY_ID" --profile spinifex-team-alpha +aws $AWS_EP iam delete-user --user-name alice --profile spinifex-team-alpha # Verify Alpha alice gone set +e -ALPHA_CHECK=$(aws $AWS_EP iam get-user --user-name alice --profile hive-team-alpha 2>&1) +ALPHA_CHECK=$(aws $AWS_EP iam get-user --user-name alice --profile spinifex-team-alpha 2>&1) set -e if echo "$ALPHA_CHECK" | grep -q "NoSuchEntity"; then echo " Alpha alice deleted" @@ -1398,10 +1398,10 @@ else fi # Verify Beta alice unaffected -aws $AWS_EP iam get-user --user-name alice --profile hive-team-beta > /dev/null +aws $AWS_EP iam get-user --user-name alice --profile spinifex-team-beta > /dev/null echo " Beta alice still exists (isolation OK)" -aws $AWS_EP ec2 describe-instances --profile hive-beta-alice > /dev/null +aws $AWS_EP ec2 describe-instances --profile spinifex-beta-alice > /dev/null echo " Beta alice auth still works (isolation OK)" # ========================================================================== @@ -1420,8 +1420,8 @@ echo "Step 7a: Instance Scoping" echo "----------------------------------------" # Create per-account key pairs (key pairs are account-scoped, root's multinode-test-key is invisible) -$AWS_EC2 create-key-pair --key-name alpha-instance-key --profile hive-team-alpha > /dev/null -$AWS_EC2 create-key-pair --key-name beta-instance-key --profile hive-team-beta > /dev/null +$AWS_EC2 create-key-pair --key-name alpha-instance-key --profile spinifex-team-alpha > /dev/null +$AWS_EC2 create-key-pair --key-name beta-instance-key --profile spinifex-team-beta > /dev/null echo " Created per-account key pairs for instance launches" echo " Alpha launching instance..." @@ -1429,7 +1429,7 @@ ALPHA_INST_RUN=$($AWS_EC2 run-instances \ --image-id "$AMI_ID" \ --instance-type "$INSTANCE_TYPE" \ --key-name alpha-instance-key \ - --profile hive-team-alpha) + --profile spinifex-team-alpha) ALPHA_INST=$(echo "$ALPHA_INST_RUN" | jq -r '.Instances[0].InstanceId') echo " Alpha instance: $ALPHA_INST" @@ -1438,7 +1438,7 @@ BETA_INST_RUN=$($AWS_EC2 run-instances \ --image-id "$AMI_ID" \ --instance-type "$INSTANCE_TYPE" \ --key-name beta-instance-key \ - --profile hive-team-beta) + --profile spinifex-team-beta) BETA_INST=$(echo "$BETA_INST_RUN" | jq -r '.Instances[0].InstanceId') echo " Beta instance: $BETA_INST" @@ -1446,9 +1446,9 @@ echo " Beta instance: $BETA_INST" echo " Waiting for instances to reach running state..." COUNT=0 while [ $COUNT -lt 30 ]; do - A_STATE=$($AWS_EC2 describe-instances --instance-ids "$ALPHA_INST" --profile hive-team-alpha \ + A_STATE=$($AWS_EC2 describe-instances --instance-ids "$ALPHA_INST" --profile spinifex-team-alpha \ --query 'Reservations[0].Instances[0].State.Name' --output text 2>/dev/null || echo "pending") - B_STATE=$($AWS_EC2 describe-instances --instance-ids "$BETA_INST" --profile hive-team-beta \ + B_STATE=$($AWS_EC2 describe-instances --instance-ids "$BETA_INST" --profile spinifex-team-beta \ --query 'Reservations[0].Instances[0].State.Name' --output text 2>/dev/null || echo "pending") echo " Alpha=$A_STATE, Beta=$B_STATE" if [ "$A_STATE" == "running" ] && [ "$B_STATE" == "running" ]; then break; fi @@ -1462,7 +1462,7 @@ fi echo " Both instances running" # Describe isolation -ALPHA_DESC=$($AWS_EC2 describe-instances --profile hive-team-alpha \ +ALPHA_DESC=$($AWS_EC2 describe-instances --profile spinifex-team-alpha \ --query 'Reservations[].Instances[].InstanceId' --output text) if echo "$ALPHA_DESC" | grep -q "$BETA_INST"; then echo " ERROR: Alpha can see Beta's instance" @@ -1470,7 +1470,7 @@ if echo "$ALPHA_DESC" | grep -q "$BETA_INST"; then fi echo " Alpha sees only own instances" -BETA_DESC=$($AWS_EC2 describe-instances --profile hive-team-beta \ +BETA_DESC=$($AWS_EC2 describe-instances --profile spinifex-team-beta \ --query 'Reservations[].Instances[].InstanceId' --output text) if echo "$BETA_DESC" | grep -q "$ALPHA_INST"; then echo " ERROR: Beta can see Alpha's instance" @@ -1479,7 +1479,7 @@ fi echo " Beta sees only own instances" # OwnerId verification -ALPHA_OWNER=$($AWS_EC2 describe-instances --profile hive-team-alpha \ +ALPHA_OWNER=$($AWS_EC2 describe-instances --profile spinifex-team-alpha \ --query 'Reservations[0].OwnerId' --output text) if [ "$ALPHA_OWNER" != "$ALPHA_ACCOUNT" ]; then echo " ERROR: Alpha OwnerId mismatch: expected $ALPHA_ACCOUNT, got $ALPHA_OWNER" @@ -1489,15 +1489,15 @@ echo " Alpha OwnerId correct: $ALPHA_OWNER" # Cross-account operations expect_error "InvalidInstanceID.NotFound" \ - $AWS_EC2 stop-instances --instance-ids "$BETA_INST" --profile hive-team-alpha + $AWS_EC2 stop-instances --instance-ids "$BETA_INST" --profile spinifex-team-alpha echo " Alpha cannot stop Beta's instance" expect_error "InvalidInstanceID.NotFound" \ - $AWS_EC2 terminate-instances --instance-ids "$ALPHA_INST" --profile hive-team-beta + $AWS_EC2 terminate-instances --instance-ids "$ALPHA_INST" --profile spinifex-team-beta echo " Beta cannot terminate Alpha's instance" expect_error "InvalidInstanceID.NotFound" \ - $AWS_EC2 get-console-output --instance-id "$ALPHA_INST" --profile hive-team-beta + $AWS_EC2 get-console-output --instance-id "$ALPHA_INST" --profile spinifex-team-beta echo " Beta cannot get console output of Alpha's instance" echo " Instance scoping passed" @@ -1507,16 +1507,16 @@ echo "" echo "Step 7b: Volume Scoping" echo "----------------------------------------" -ALPHA_VOL=$($AWS_EC2 create-volume --availability-zone "$HIVE_AZ" --size 10 \ - --volume-type gp3 --profile hive-team-alpha | jq -r '.VolumeId') +ALPHA_VOL=$($AWS_EC2 create-volume --availability-zone "$SPINIFEX_AZ" --size 10 \ + --volume-type gp3 --profile spinifex-team-alpha | jq -r '.VolumeId') echo " Alpha volume: $ALPHA_VOL" -BETA_VOL=$($AWS_EC2 create-volume --availability-zone "$HIVE_AZ" --size 10 \ - --volume-type gp3 --profile hive-team-beta | jq -r '.VolumeId') +BETA_VOL=$($AWS_EC2 create-volume --availability-zone "$SPINIFEX_AZ" --size 10 \ + --volume-type gp3 --profile spinifex-team-beta | jq -r '.VolumeId') echo " Beta volume: $BETA_VOL" # Describe isolation -ALPHA_VOLS=$($AWS_EC2 describe-volumes --profile hive-team-alpha \ +ALPHA_VOLS=$($AWS_EC2 describe-volumes --profile spinifex-team-alpha \ --query 'Volumes[].VolumeId' --output text) if echo "$ALPHA_VOLS" | grep -q "$BETA_VOL"; then echo " ERROR: Alpha can see Beta's volume" @@ -1526,33 +1526,33 @@ echo " Alpha sees only own volumes" # Cross-account operations expect_error "InvalidVolume.NotFound" \ - $AWS_EC2 describe-volumes --volume-ids "$BETA_VOL" --profile hive-team-alpha + $AWS_EC2 describe-volumes --volume-ids "$BETA_VOL" --profile spinifex-team-alpha echo " Alpha cannot describe Beta's volume by ID" expect_error "InvalidVolume.NotFound" \ - $AWS_EC2 delete-volume --volume-id "$ALPHA_VOL" --profile hive-team-beta + $AWS_EC2 delete-volume --volume-id "$ALPHA_VOL" --profile spinifex-team-beta echo " Beta cannot delete Alpha's volume" expect_error "InvalidVolume.NotFound" \ $AWS_EC2 attach-volume --volume-id "$ALPHA_VOL" \ - --instance-id "$BETA_INST" --device /dev/sdf --profile hive-team-beta + --instance-id "$BETA_INST" --device /dev/sdf --profile spinifex-team-beta echo " Beta cannot attach Alpha's volume" # Attach Alpha's volume, then test cross-account detach $AWS_EC2 attach-volume --volume-id "$ALPHA_VOL" \ - --instance-id "$ALPHA_INST" --device /dev/sdf --profile hive-team-alpha > /dev/null + --instance-id "$ALPHA_INST" --device /dev/sdf --profile spinifex-team-alpha > /dev/null sleep 2 expect_error "InvalidVolume.NotFound" \ - $AWS_EC2 detach-volume --volume-id "$ALPHA_VOL" --profile hive-team-beta + $AWS_EC2 detach-volume --volume-id "$ALPHA_VOL" --profile spinifex-team-beta echo " Beta cannot detach Alpha's volume" expect_error "InvalidVolume.NotFound" \ - $AWS_EC2 modify-volume --volume-id "$ALPHA_VOL" --size 20 --profile hive-team-beta + $AWS_EC2 modify-volume --volume-id "$ALPHA_VOL" --size 20 --profile spinifex-team-beta echo " Beta cannot modify Alpha's volume" # Detach for later cleanup -$AWS_EC2 detach-volume --volume-id "$ALPHA_VOL" --profile hive-team-alpha > /dev/null +$AWS_EC2 detach-volume --volume-id "$ALPHA_VOL" --profile spinifex-team-alpha > /dev/null sleep 2 echo " Volume scoping passed" @@ -1562,16 +1562,16 @@ echo "" echo "Step 7c: Key Pair Scoping" echo "----------------------------------------" -$AWS_EC2 create-key-pair --key-name alpha-key --profile hive-team-alpha > /dev/null +$AWS_EC2 create-key-pair --key-name alpha-key --profile spinifex-team-alpha > /dev/null ALPHA_KEYPAIR_ID=$($AWS_EC2 describe-key-pairs --key-names alpha-key \ - --profile hive-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) + --profile spinifex-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) echo " Alpha key: alpha-key ($ALPHA_KEYPAIR_ID)" -$AWS_EC2 create-key-pair --key-name beta-key --profile hive-team-beta > /dev/null +$AWS_EC2 create-key-pair --key-name beta-key --profile spinifex-team-beta > /dev/null echo " Beta key: beta-key" # Describe isolation -ALPHA_KEYS=$($AWS_EC2 describe-key-pairs --profile hive-team-alpha \ +ALPHA_KEYS=$($AWS_EC2 describe-key-pairs --profile spinifex-team-alpha \ --query 'KeyPairs[].KeyName' --output text) if echo "$ALPHA_KEYS" | grep -q "beta-key"; then echo " ERROR: Alpha can see Beta's key" @@ -1580,12 +1580,12 @@ fi echo " Alpha sees only own keys" # Same name, different accounts -$AWS_EC2 create-key-pair --key-name shared-name --profile hive-team-alpha > /dev/null -$AWS_EC2 create-key-pair --key-name shared-name --profile hive-team-beta > /dev/null +$AWS_EC2 create-key-pair --key-name shared-name --profile spinifex-team-alpha > /dev/null +$AWS_EC2 create-key-pair --key-name shared-name --profile spinifex-team-beta > /dev/null ALPHA_SHARED_ID=$($AWS_EC2 describe-key-pairs --key-names shared-name \ - --profile hive-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) + --profile spinifex-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) BETA_SHARED_ID=$($AWS_EC2 describe-key-pairs --key-names shared-name \ - --profile hive-team-beta --query 'KeyPairs[0].KeyPairId' --output text) + --profile spinifex-team-beta --query 'KeyPairs[0].KeyPairId' --output text) if [ "$ALPHA_SHARED_ID" == "$BETA_SHARED_ID" ]; then echo " ERROR: Same KeyPairId for shared-name in both accounts" exit 1 @@ -1593,9 +1593,9 @@ fi echo " Namespace isolation: alpha=$ALPHA_SHARED_ID, beta=$BETA_SHARED_ID" # Cross-account delete (idempotent, but shouldn't affect other account) -$AWS_EC2 delete-key-pair --key-name alpha-key --profile hive-team-beta +$AWS_EC2 delete-key-pair --key-name alpha-key --profile spinifex-team-beta ALPHA_KEY_CHECK=$($AWS_EC2 describe-key-pairs --key-names alpha-key \ - --profile hive-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) + --profile spinifex-team-alpha --query 'KeyPairs[0].KeyPairId' --output text) if [ "$ALPHA_KEY_CHECK" != "$ALPHA_KEYPAIR_ID" ]; then echo " ERROR: Beta's delete affected Alpha's key" exit 1 @@ -1605,8 +1605,8 @@ echo " Cross-account delete had no effect on Alpha's key" # Import key pair — account scoped ssh-keygen -t ed25519 -f /tmp/test-import-key -N "" -q $AWS_EC2 import-key-pair --key-name imported-key \ - --public-key-material fileb:///tmp/test-import-key.pub --profile hive-team-alpha > /dev/null -BETA_IMPORT_CHECK=$($AWS_EC2 describe-key-pairs --profile hive-team-beta \ + --public-key-material fileb:///tmp/test-import-key.pub --profile spinifex-team-alpha > /dev/null +BETA_IMPORT_CHECK=$($AWS_EC2 describe-key-pairs --profile spinifex-team-beta \ --query 'KeyPairs[].KeyName' --output text) if echo "$BETA_IMPORT_CHECK" | grep -q "imported-key"; then echo " ERROR: Beta can see Alpha's imported key" @@ -1623,15 +1623,15 @@ echo "Step 7d: Snapshot Scoping" echo "----------------------------------------" ALPHA_SNAP=$($AWS_EC2 create-snapshot --volume-id "$ALPHA_VOL" \ - --description "Alpha snapshot" --profile hive-team-alpha | jq -r '.SnapshotId') + --description "Alpha snapshot" --profile spinifex-team-alpha | jq -r '.SnapshotId') echo " Alpha snapshot: $ALPHA_SNAP" BETA_SNAP=$($AWS_EC2 create-snapshot --volume-id "$BETA_VOL" \ - --description "Beta snapshot" --profile hive-team-beta | jq -r '.SnapshotId') + --description "Beta snapshot" --profile spinifex-team-beta | jq -r '.SnapshotId') echo " Beta snapshot: $BETA_SNAP" # Describe isolation -ALPHA_SNAPS=$($AWS_EC2 describe-snapshots --owner-ids self --profile hive-team-alpha \ +ALPHA_SNAPS=$($AWS_EC2 describe-snapshots --owner-ids self --profile spinifex-team-alpha \ --query 'Snapshots[].SnapshotId' --output text) if echo "$ALPHA_SNAPS" | grep -q "$BETA_SNAP"; then echo " ERROR: Alpha can see Beta's snapshot" @@ -1640,7 +1640,7 @@ fi echo " Alpha sees only own snapshots" # OwnerId verification -ALPHA_SNAP_OWNER=$($AWS_EC2 describe-snapshots --owner-ids self --profile hive-team-alpha \ +ALPHA_SNAP_OWNER=$($AWS_EC2 describe-snapshots --owner-ids self --profile spinifex-team-alpha \ --query 'Snapshots[0].OwnerId' --output text) if [ "$ALPHA_SNAP_OWNER" != "$ALPHA_ACCOUNT" ]; then echo " ERROR: Snapshot OwnerId mismatch: expected $ALPHA_ACCOUNT, got $ALPHA_SNAP_OWNER" @@ -1650,13 +1650,13 @@ echo " Alpha snapshot OwnerId correct" # Cross-account delete expect_error "UnauthorizedOperation" \ - $AWS_EC2 delete-snapshot --snapshot-id "$ALPHA_SNAP" --profile hive-team-beta + $AWS_EC2 delete-snapshot --snapshot-id "$ALPHA_SNAP" --profile spinifex-team-beta echo " Beta cannot delete Alpha's snapshot" # Cross-account snapshot from other's volume expect_error "InvalidVolume.NotFound" \ $AWS_EC2 create-snapshot --volume-id "$ALPHA_VOL" \ - --description "stolen" --profile hive-team-beta + --description "stolen" --profile spinifex-team-beta echo " Beta cannot snapshot Alpha's volume" echo " Snapshot scoping passed" @@ -1667,15 +1667,15 @@ echo "Step 7e: VPC/Subnet Scoping" echo "----------------------------------------" ALPHA_VPC=$($AWS_EC2 create-vpc --cidr-block 10.0.0.0/16 \ - --profile hive-team-alpha --query 'Vpc.VpcId' --output text) + --profile spinifex-team-alpha --query 'Vpc.VpcId' --output text) echo " Alpha VPC: $ALPHA_VPC" BETA_VPC=$($AWS_EC2 create-vpc --cidr-block 10.0.0.0/16 \ - --profile hive-team-beta --query 'Vpc.VpcId' --output text) + --profile spinifex-team-beta --query 'Vpc.VpcId' --output text) echo " Beta VPC: $BETA_VPC (same CIDR — no conflict)" # Describe isolation -ALPHA_VPCS=$($AWS_EC2 describe-vpcs --profile hive-team-alpha \ +ALPHA_VPCS=$($AWS_EC2 describe-vpcs --profile spinifex-team-alpha \ --query 'Vpcs[].VpcId' --output text) if echo "$ALPHA_VPCS" | grep -q "$BETA_VPC"; then echo " ERROR: Alpha can see Beta's VPC" @@ -1684,24 +1684,24 @@ fi echo " VPC describe isolation OK" expect_error "InvalidVpcID.NotFound" \ - $AWS_EC2 describe-vpcs --vpc-ids "$BETA_VPC" --profile hive-team-alpha + $AWS_EC2 describe-vpcs --vpc-ids "$BETA_VPC" --profile spinifex-team-alpha echo " Alpha cannot describe Beta's VPC by ID" expect_error "InvalidVpcID.NotFound" \ - $AWS_EC2 delete-vpc --vpc-id "$ALPHA_VPC" --profile hive-team-beta + $AWS_EC2 delete-vpc --vpc-id "$ALPHA_VPC" --profile spinifex-team-beta echo " Beta cannot delete Alpha's VPC" # Create subnets ALPHA_SUBNET=$($AWS_EC2 create-subnet --vpc-id "$ALPHA_VPC" --cidr-block 10.0.1.0/24 \ - --profile hive-team-alpha --query 'Subnet.SubnetId' --output text) + --profile spinifex-team-alpha --query 'Subnet.SubnetId' --output text) echo " Alpha subnet: $ALPHA_SUBNET" BETA_SUBNET=$($AWS_EC2 create-subnet --vpc-id "$BETA_VPC" --cidr-block 10.0.1.0/24 \ - --profile hive-team-beta --query 'Subnet.SubnetId' --output text) + --profile spinifex-team-beta --query 'Subnet.SubnetId' --output text) echo " Beta subnet: $BETA_SUBNET" # Subnet describe isolation -ALPHA_SUBNETS=$($AWS_EC2 describe-subnets --profile hive-team-alpha \ +ALPHA_SUBNETS=$($AWS_EC2 describe-subnets --profile spinifex-team-alpha \ --query 'Subnets[].SubnetId' --output text) if echo "$ALPHA_SUBNETS" | grep -q "$BETA_SUBNET"; then echo " ERROR: Alpha can see Beta's subnet" @@ -1711,11 +1711,11 @@ echo " Subnet describe isolation OK" expect_error "InvalidVpcID.NotFound" \ $AWS_EC2 create-subnet --vpc-id "$ALPHA_VPC" --cidr-block 10.0.2.0/24 \ - --profile hive-team-beta + --profile spinifex-team-beta echo " Beta cannot create subnet in Alpha's VPC" expect_error "InvalidSubnetID.NotFound" \ - $AWS_EC2 delete-subnet --subnet-id "$ALPHA_SUBNET" --profile hive-team-beta + $AWS_EC2 delete-subnet --subnet-id "$ALPHA_SUBNET" --profile spinifex-team-beta echo " Beta cannot delete Alpha's subnet" echo " VPC/Subnet scoping passed" @@ -1725,16 +1725,16 @@ echo "" echo "Step 7f: IGW + EIGW Scoping" echo "----------------------------------------" -ALPHA_IGW=$($AWS_EC2 create-internet-gateway --profile hive-team-alpha \ +ALPHA_IGW=$($AWS_EC2 create-internet-gateway --profile spinifex-team-alpha \ --query 'InternetGateway.InternetGatewayId' --output text) echo " Alpha IGW: $ALPHA_IGW" -BETA_IGW=$($AWS_EC2 create-internet-gateway --profile hive-team-beta \ +BETA_IGW=$($AWS_EC2 create-internet-gateway --profile spinifex-team-beta \ --query 'InternetGateway.InternetGatewayId' --output text) echo " Beta IGW: $BETA_IGW" # IGW describe isolation -ALPHA_IGWS=$($AWS_EC2 describe-internet-gateways --profile hive-team-alpha \ +ALPHA_IGWS=$($AWS_EC2 describe-internet-gateways --profile spinifex-team-alpha \ --query 'InternetGateways[].InternetGatewayId' --output text) if echo "$ALPHA_IGWS" | grep -q "$BETA_IGW"; then echo " ERROR: Alpha can see Beta's IGW" @@ -1744,40 +1744,40 @@ echo " IGW describe isolation OK" expect_error "InvalidInternetGatewayID.NotFound" \ $AWS_EC2 describe-internet-gateways --internet-gateway-ids "$BETA_IGW" \ - --profile hive-team-alpha + --profile spinifex-team-alpha echo " Alpha cannot describe Beta's IGW by ID" expect_error "InvalidInternetGatewayID.NotFound" \ $AWS_EC2 delete-internet-gateway --internet-gateway-id "$ALPHA_IGW" \ - --profile hive-team-beta + --profile spinifex-team-beta echo " Beta cannot delete Alpha's IGW" expect_error "InvalidInternetGatewayID.NotFound" \ $AWS_EC2 attach-internet-gateway --internet-gateway-id "$BETA_IGW" \ - --vpc-id "$ALPHA_VPC" --profile hive-team-alpha + --vpc-id "$ALPHA_VPC" --profile spinifex-team-alpha echo " Alpha cannot attach Beta's IGW to own VPC" # Attach Alpha's IGW, test cross-account detach $AWS_EC2 attach-internet-gateway --internet-gateway-id "$ALPHA_IGW" \ - --vpc-id "$ALPHA_VPC" --profile hive-team-alpha > /dev/null + --vpc-id "$ALPHA_VPC" --profile spinifex-team-alpha > /dev/null expect_error "InvalidInternetGatewayID.NotFound" \ $AWS_EC2 detach-internet-gateway --internet-gateway-id "$ALPHA_IGW" \ - --vpc-id "$ALPHA_VPC" --profile hive-team-beta + --vpc-id "$ALPHA_VPC" --profile spinifex-team-beta echo " Beta cannot detach Alpha's IGW" # EIGW ALPHA_EIGW=$($AWS_EC2 create-egress-only-internet-gateway --vpc-id "$ALPHA_VPC" \ - --profile hive-team-alpha \ + --profile spinifex-team-alpha \ --query 'EgressOnlyInternetGateway.EgressOnlyInternetGatewayId' --output text) echo " Alpha EIGW: $ALPHA_EIGW" BETA_EIGW=$($AWS_EC2 create-egress-only-internet-gateway --vpc-id "$BETA_VPC" \ - --profile hive-team-beta \ + --profile spinifex-team-beta \ --query 'EgressOnlyInternetGateway.EgressOnlyInternetGatewayId' --output text) echo " Beta EIGW: $BETA_EIGW" # EIGW describe isolation -ALPHA_EIGWS=$($AWS_EC2 describe-egress-only-internet-gateways --profile hive-team-alpha \ +ALPHA_EIGWS=$($AWS_EC2 describe-egress-only-internet-gateways --profile spinifex-team-alpha \ --query 'EgressOnlyInternetGateways[].EgressOnlyInternetGatewayId' --output text) if echo "$ALPHA_EIGWS" | grep -q "$BETA_EIGW"; then echo " ERROR: Alpha can see Beta's EIGW" @@ -1788,9 +1788,9 @@ echo " EIGW describe isolation OK" # Cross-account EIGW delete (verify Alpha's still exists after Beta's attempt) set +e $AWS_EC2 delete-egress-only-internet-gateway \ - --egress-only-internet-gateway-id "$ALPHA_EIGW" --profile hive-team-beta 2>/dev/null + --egress-only-internet-gateway-id "$ALPHA_EIGW" --profile spinifex-team-beta 2>/dev/null set -e -ALPHA_EIGW_CHECK=$($AWS_EC2 describe-egress-only-internet-gateways --profile hive-team-alpha \ +ALPHA_EIGW_CHECK=$($AWS_EC2 describe-egress-only-internet-gateways --profile spinifex-team-alpha \ --query 'EgressOnlyInternetGateways[].EgressOnlyInternetGatewayId' --output text) if ! echo "$ALPHA_EIGW_CHECK" | grep -q "$ALPHA_EIGW"; then echo " ERROR: Alpha's EIGW was deleted by Beta" @@ -1805,8 +1805,8 @@ echo "" echo "Step 7g: Account Settings" echo "----------------------------------------" -$AWS_EC2 enable-ebs-encryption-by-default --profile hive-team-alpha > /dev/null -BETA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile hive-team-beta \ +$AWS_EC2 enable-ebs-encryption-by-default --profile spinifex-team-alpha > /dev/null +BETA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile spinifex-team-beta \ --query 'EbsEncryptionByDefault' --output text) if [ "$BETA_ENC" != "False" ]; then echo " ERROR: Alpha's encryption setting leaked to Beta (got $BETA_ENC)" @@ -1814,18 +1814,18 @@ if [ "$BETA_ENC" != "False" ]; then fi echo " Alpha enable did not affect Beta" -$AWS_EC2 enable-ebs-encryption-by-default --profile hive-team-beta > /dev/null -$AWS_EC2 disable-ebs-encryption-by-default --profile hive-team-alpha > /dev/null -ALPHA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile hive-team-alpha \ +$AWS_EC2 enable-ebs-encryption-by-default --profile spinifex-team-beta > /dev/null +$AWS_EC2 disable-ebs-encryption-by-default --profile spinifex-team-alpha > /dev/null +ALPHA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile spinifex-team-alpha \ --query 'EbsEncryptionByDefault' --output text) -BETA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile hive-team-beta \ +BETA_ENC=$($AWS_EC2 get-ebs-encryption-by-default --profile spinifex-team-beta \ --query 'EbsEncryptionByDefault' --output text) if [ "$ALPHA_ENC" != "False" ] || [ "$BETA_ENC" != "True" ]; then echo " ERROR: Independent settings failed: alpha=$ALPHA_ENC beta=$BETA_ENC" exit 1 fi echo " Independent toggle verified: alpha=$ALPHA_ENC, beta=$BETA_ENC" -$AWS_EC2 disable-ebs-encryption-by-default --profile hive-team-beta > /dev/null +$AWS_EC2 disable-ebs-encryption-by-default --profile spinifex-team-beta > /dev/null echo " Account settings scoping passed" @@ -1834,9 +1834,9 @@ echo "" echo "Step 7h: Global Resources" echo "----------------------------------------" -ALPHA_REGIONS=$($AWS_EC2 describe-regions --profile hive-team-alpha \ +ALPHA_REGIONS=$($AWS_EC2 describe-regions --profile spinifex-team-alpha \ --query 'Regions[].RegionName' --output text) -BETA_REGIONS=$($AWS_EC2 describe-regions --profile hive-team-beta \ +BETA_REGIONS=$($AWS_EC2 describe-regions --profile spinifex-team-beta \ --query 'Regions[].RegionName' --output text) if [ "$ALPHA_REGIONS" != "$BETA_REGIONS" ]; then echo " ERROR: Regions differ between accounts" @@ -1844,9 +1844,9 @@ if [ "$ALPHA_REGIONS" != "$BETA_REGIONS" ]; then fi echo " Regions identical" -ALPHA_AZS=$($AWS_EC2 describe-availability-zones --profile hive-team-alpha \ +ALPHA_AZS=$($AWS_EC2 describe-availability-zones --profile spinifex-team-alpha \ --query 'AvailabilityZones[].ZoneName' --output text) -BETA_AZS=$($AWS_EC2 describe-availability-zones --profile hive-team-beta \ +BETA_AZS=$($AWS_EC2 describe-availability-zones --profile spinifex-team-beta \ --query 'AvailabilityZones[].ZoneName' --output text) if [ "$ALPHA_AZS" != "$BETA_AZS" ]; then echo " ERROR: AZs differ between accounts" @@ -1854,9 +1854,9 @@ if [ "$ALPHA_AZS" != "$BETA_AZS" ]; then fi echo " Availability zones identical" -ALPHA_TYPES=$($AWS_EC2 describe-instance-types --profile hive-team-alpha \ +ALPHA_TYPES=$($AWS_EC2 describe-instance-types --profile spinifex-team-alpha \ --query 'InstanceTypes[].InstanceType' --output text | tr '\t' '\n' | sort) -BETA_TYPES=$($AWS_EC2 describe-instance-types --profile hive-team-beta \ +BETA_TYPES=$($AWS_EC2 describe-instance-types --profile spinifex-team-beta \ --query 'InstanceTypes[].InstanceType' --output text | tr '\t' '\n' | sort) if [ "$ALPHA_TYPES" != "$BETA_TYPES" ]; then echo " ERROR: Instance types differ between accounts" @@ -1873,14 +1873,14 @@ echo "----------------------------------------" # Empty account (Gamma) echo " Creating empty Gamma account..." -GAMMA_OUTPUT=$(./bin/hive admin account create --name "Team Gamma" --config "$HOME/node1/config/hive.toml" 2>&1) +GAMMA_OUTPUT=$(./bin/spx admin account create --name "Team Gamma" --config "$HOME/node1/config/spinifex.toml" 2>&1) GAMMA_KEY_ID=$(echo "$GAMMA_OUTPUT" | grep "Access Key ID:" | awk '{print $NF}') GAMMA_SECRET=$(echo "$GAMMA_OUTPUT" | grep "Secret Access Key:" | awk '{print $NF}') -aws configure set aws_access_key_id "$GAMMA_KEY_ID" --profile hive-team-gamma -aws configure set aws_secret_access_key "$GAMMA_SECRET" --profile hive-team-gamma -aws configure set region us-east-1 --profile hive-team-gamma +aws configure set aws_access_key_id "$GAMMA_KEY_ID" --profile spinifex-team-gamma +aws configure set aws_secret_access_key "$GAMMA_SECRET" --profile spinifex-team-gamma +aws configure set region us-east-1 --profile spinifex-team-gamma -GAMMA_INSTANCES=$($AWS_EC2 describe-instances --profile hive-team-gamma \ +GAMMA_INSTANCES=$($AWS_EC2 describe-instances --profile spinifex-team-gamma \ --query 'Reservations' --output text) if [ -n "$GAMMA_INSTANCES" ] && [ "$GAMMA_INSTANCES" != "None" ]; then echo " ERROR: Gamma has instances" @@ -1891,7 +1891,7 @@ echo " Gamma: no instances" # Skip volume check: root-account volumes (empty TenantID) are visible to all accounts by design echo " Gamma: volumes skipped (root legacy volumes visible to all)" -GAMMA_KEYS=$($AWS_EC2 describe-key-pairs --profile hive-team-gamma \ +GAMMA_KEYS=$($AWS_EC2 describe-key-pairs --profile spinifex-team-gamma \ --query 'KeyPairs' --output text) if [ -n "$GAMMA_KEYS" ] && [ "$GAMMA_KEYS" != "None" ]; then echo " ERROR: Gamma has key pairs" @@ -1911,28 +1911,28 @@ echo " Root cannot see tenant instances" # Non-existent resource IDs — same error as cross-account expect_error "InvalidVolume.NotFound" \ - $AWS_EC2 delete-volume --volume-id vol-00000000000000000 --profile hive-team-alpha + $AWS_EC2 delete-volume --volume-id vol-00000000000000000 --profile spinifex-team-alpha echo " Non-existent volume: same error as cross-account" expect_error "InvalidSnapshot.NotFound" \ - $AWS_EC2 delete-snapshot --snapshot-id snap-00000000000000000 --profile hive-team-alpha + $AWS_EC2 delete-snapshot --snapshot-id snap-00000000000000000 --profile spinifex-team-alpha echo " Non-existent snapshot: same error as cross-account" # Race condition: parallel key creation from both accounts echo " Testing parallel key creation (race condition)..." for i in $(seq 1 5); do - $AWS_EC2 create-key-pair --key-name "race-alpha-$i" --profile hive-team-alpha > /dev/null & - $AWS_EC2 create-key-pair --key-name "race-beta-$i" --profile hive-team-beta > /dev/null & + $AWS_EC2 create-key-pair --key-name "race-alpha-$i" --profile spinifex-team-alpha > /dev/null & + $AWS_EC2 create-key-pair --key-name "race-beta-$i" --profile spinifex-team-beta > /dev/null & done wait -ALPHA_RACE_COUNT=$($AWS_EC2 describe-key-pairs --profile hive-team-alpha \ +ALPHA_RACE_COUNT=$($AWS_EC2 describe-key-pairs --profile spinifex-team-alpha \ --query 'KeyPairs[].KeyName' --output text | tr '\t' '\n' | grep -c "race-alpha" || true) if [ "$ALPHA_RACE_COUNT" -ne 5 ]; then echo " ERROR: Expected 5 race-alpha keys, got $ALPHA_RACE_COUNT" exit 1 fi -ALPHA_RACE_LEAK=$($AWS_EC2 describe-key-pairs --profile hive-team-alpha \ +ALPHA_RACE_LEAK=$($AWS_EC2 describe-key-pairs --profile spinifex-team-alpha \ --query 'KeyPairs[].KeyName' --output text | tr '\t' '\n' | grep -c "race-beta" || true) if [ "$ALPHA_RACE_LEAK" -ne 0 ]; then echo " ERROR: Alpha sees Beta's race keys (cross-contamination)" @@ -1949,14 +1949,14 @@ echo "========================================" # Terminate instances echo " Terminating account-scoped instances..." -$AWS_EC2 terminate-instances --instance-ids "$ALPHA_INST" --profile hive-team-alpha > /dev/null -$AWS_EC2 terminate-instances --instance-ids "$BETA_INST" --profile hive-team-beta > /dev/null +$AWS_EC2 terminate-instances --instance-ids "$ALPHA_INST" --profile spinifex-team-alpha > /dev/null +$AWS_EC2 terminate-instances --instance-ids "$BETA_INST" --profile spinifex-team-beta > /dev/null COUNT=0 while [ $COUNT -lt 30 ]; do - A_STATE=$($AWS_EC2 describe-instances --instance-ids "$ALPHA_INST" --profile hive-team-alpha \ + A_STATE=$($AWS_EC2 describe-instances --instance-ids "$ALPHA_INST" --profile spinifex-team-alpha \ --query 'Reservations[0].Instances[0].State.Name' --output text 2>/dev/null || echo "terminated") - B_STATE=$($AWS_EC2 describe-instances --instance-ids "$BETA_INST" --profile hive-team-beta \ + B_STATE=$($AWS_EC2 describe-instances --instance-ids "$BETA_INST" --profile spinifex-team-beta \ --query 'Reservations[0].Instances[0].State.Name' --output text 2>/dev/null || echo "terminated") if [ "$A_STATE" == "terminated" ] && [ "$B_STATE" == "terminated" ]; then break @@ -1968,53 +1968,53 @@ echo " Instances terminated" # Delete snapshots echo " Deleting snapshots..." -$AWS_EC2 delete-snapshot --snapshot-id "$ALPHA_SNAP" --profile hive-team-alpha 2>/dev/null || true -$AWS_EC2 delete-snapshot --snapshot-id "$BETA_SNAP" --profile hive-team-beta 2>/dev/null || true +$AWS_EC2 delete-snapshot --snapshot-id "$ALPHA_SNAP" --profile spinifex-team-alpha 2>/dev/null || true +$AWS_EC2 delete-snapshot --snapshot-id "$BETA_SNAP" --profile spinifex-team-beta 2>/dev/null || true # Delete volumes sleep 3 echo " Deleting volumes..." -$AWS_EC2 delete-volume --volume-id "$ALPHA_VOL" --profile hive-team-alpha 2>/dev/null || true -$AWS_EC2 delete-volume --volume-id "$BETA_VOL" --profile hive-team-beta 2>/dev/null || true +$AWS_EC2 delete-volume --volume-id "$ALPHA_VOL" --profile spinifex-team-alpha 2>/dev/null || true +$AWS_EC2 delete-volume --volume-id "$BETA_VOL" --profile spinifex-team-beta 2>/dev/null || true # Delete key pairs echo " Deleting key pairs..." for key in alpha-key alpha-instance-key shared-name imported-key; do - $AWS_EC2 delete-key-pair --key-name "$key" --profile hive-team-alpha 2>/dev/null || true + $AWS_EC2 delete-key-pair --key-name "$key" --profile spinifex-team-alpha 2>/dev/null || true done for key in beta-key beta-instance-key shared-name; do - $AWS_EC2 delete-key-pair --key-name "$key" --profile hive-team-beta 2>/dev/null || true + $AWS_EC2 delete-key-pair --key-name "$key" --profile spinifex-team-beta 2>/dev/null || true done for i in $(seq 1 5); do - $AWS_EC2 delete-key-pair --key-name "race-alpha-$i" --profile hive-team-alpha 2>/dev/null || true - $AWS_EC2 delete-key-pair --key-name "race-beta-$i" --profile hive-team-beta 2>/dev/null || true + $AWS_EC2 delete-key-pair --key-name "race-alpha-$i" --profile spinifex-team-alpha 2>/dev/null || true + $AWS_EC2 delete-key-pair --key-name "race-beta-$i" --profile spinifex-team-beta 2>/dev/null || true done # Delete EIGWs echo " Deleting EIGWs..." $AWS_EC2 delete-egress-only-internet-gateway \ - --egress-only-internet-gateway-id "$ALPHA_EIGW" --profile hive-team-alpha 2>/dev/null || true + --egress-only-internet-gateway-id "$ALPHA_EIGW" --profile spinifex-team-alpha 2>/dev/null || true $AWS_EC2 delete-egress-only-internet-gateway \ - --egress-only-internet-gateway-id "$BETA_EIGW" --profile hive-team-beta 2>/dev/null || true + --egress-only-internet-gateway-id "$BETA_EIGW" --profile spinifex-team-beta 2>/dev/null || true # Detach + delete IGWs echo " Deleting IGWs..." $AWS_EC2 detach-internet-gateway --internet-gateway-id "$ALPHA_IGW" \ - --vpc-id "$ALPHA_VPC" --profile hive-team-alpha 2>/dev/null || true + --vpc-id "$ALPHA_VPC" --profile spinifex-team-alpha 2>/dev/null || true $AWS_EC2 delete-internet-gateway --internet-gateway-id "$ALPHA_IGW" \ - --profile hive-team-alpha 2>/dev/null || true + --profile spinifex-team-alpha 2>/dev/null || true $AWS_EC2 delete-internet-gateway --internet-gateway-id "$BETA_IGW" \ - --profile hive-team-beta 2>/dev/null || true + --profile spinifex-team-beta 2>/dev/null || true # Delete subnets echo " Deleting subnets..." -$AWS_EC2 delete-subnet --subnet-id "$ALPHA_SUBNET" --profile hive-team-alpha 2>/dev/null || true -$AWS_EC2 delete-subnet --subnet-id "$BETA_SUBNET" --profile hive-team-beta 2>/dev/null || true +$AWS_EC2 delete-subnet --subnet-id "$ALPHA_SUBNET" --profile spinifex-team-alpha 2>/dev/null || true +$AWS_EC2 delete-subnet --subnet-id "$BETA_SUBNET" --profile spinifex-team-beta 2>/dev/null || true # Delete VPCs echo " Deleting VPCs..." -$AWS_EC2 delete-vpc --vpc-id "$ALPHA_VPC" --profile hive-team-alpha 2>/dev/null || true -$AWS_EC2 delete-vpc --vpc-id "$BETA_VPC" --profile hive-team-beta 2>/dev/null || true +$AWS_EC2 delete-vpc --vpc-id "$ALPHA_VPC" --profile spinifex-team-alpha 2>/dev/null || true +$AWS_EC2 delete-vpc --vpc-id "$BETA_VPC" --profile spinifex-team-beta 2>/dev/null || true echo " EC2 resources cleaned up" @@ -2023,21 +2023,21 @@ echo " Cleaning up IAM resources..." # Beta cleanup aws $AWS_EP iam detach-user-policy --user-name alice \ - --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-beta + --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-beta aws $AWS_EP iam delete-access-key --user-name alice \ - --access-key-id "$BETA_ALICE_KEY_ID" --profile hive-team-beta -aws $AWS_EP iam delete-user --user-name alice --profile hive-team-beta -aws $AWS_EP iam delete-user --user-name dev-user --profile hive-team-beta + --access-key-id "$BETA_ALICE_KEY_ID" --profile spinifex-team-beta +aws $AWS_EP iam delete-user --user-name alice --profile spinifex-team-beta +aws $AWS_EP iam delete-user --user-name dev-user --profile spinifex-team-beta aws $AWS_EP iam delete-policy \ - --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-beta + --policy-arn "arn:aws:iam::${BETA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-beta # Alpha cleanup (alice already deleted in Step 6) -aws $AWS_EP iam delete-user --user-name team-member --profile hive-team-alpha +aws $AWS_EP iam delete-user --user-name team-member --profile spinifex-team-alpha aws $AWS_EP iam delete-policy \ - --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile hive-team-alpha + --policy-arn "arn:aws:iam::${ALPHA_ACCOUNT}:policy/EC2ReadOnly" --profile spinifex-team-alpha # Clean up AWS CLI profiles -for p in hive-team-alpha hive-team-beta hive-alpha-alice hive-beta-alice hive-team-gamma; do +for p in spinifex-team-alpha spinifex-team-beta spinifex-alpha-alice spinifex-beta-alice spinifex-team-gamma; do aws configure set aws_access_key_id "" --profile $p 2>/dev/null || true aws configure set aws_secret_access_key "" --profile $p 2>/dev/null || true done @@ -2282,7 +2282,7 @@ echo " VPC networking tests passed" echo "" echo "Phase 6: Cluster Shutdown + Restart" echo "========================================" -echo "Testing hive admin cluster shutdown command..." +echo "Testing spx admin cluster shutdown command..." # Test 6a: Dry-run shutdown echo "" @@ -2290,7 +2290,7 @@ echo "Test 6a: Dry-Run Shutdown" echo "----------------------------------------" echo "Running cluster shutdown in dry-run mode..." -DRY_RUN_OUTPUT=$(./bin/hive admin cluster shutdown --dry-run --config "$HOME/node1/config/hive.toml" 2>&1) +DRY_RUN_OUTPUT=$(./bin/spx admin cluster shutdown --dry-run --config "$HOME/node1/config/spinifex.toml" 2>&1) echo "$DRY_RUN_OUTPUT" # Validate dry-run output contains expected phases @@ -2309,7 +2309,7 @@ echo "Test 6b: Coordinated Cluster Shutdown" echo "----------------------------------------" echo "Running cluster shutdown..." -./bin/hive admin cluster shutdown --force --timeout 30s --config "$HOME/node1/config/hive.toml" 2>&1 || { +./bin/spx admin cluster shutdown --force --timeout 30s --config "$HOME/node1/config/spinifex.toml" 2>&1 || { echo " WARNING: Cluster shutdown command returned non-zero exit code" } CLUSTER_SERVICES_STARTED="false" diff --git a/tests/e2e/run-vpc-e2e.sh b/tests/e2e/run-vpc-e2e.sh index 2f74ee3a2..bea623ee9 100755 --- a/tests/e2e/run-vpc-e2e.sh +++ b/tests/e2e/run-vpc-e2e.sh @@ -2,7 +2,7 @@ set -e # VPC E2E Test Suite -# Tests VPC networking operations via the AWS CLI against a running Hive cluster. +# Tests VPC networking operations via the AWS CLI against a running Spinifex cluster. # Can run with or without OVN — skips network-level tests when OVN is unavailable. # # Usage: @@ -12,7 +12,7 @@ set -e cd "$(dirname "$0")/../.." ENDPOINT="${ENDPOINT:-https://127.0.0.1:9999}" -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex AWS_EC2="aws --endpoint-url ${ENDPOINT} ec2" PASSED=0 From 9e744e5be6915e9c02d90cfdb6705c172a00f642 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:06:03 +0000 Subject: [PATCH 07/12] refactor: rename NATS queue group and topics from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - hive-workers → spinifex-workers queue group (~16 files) - hive.admin.* → spinifex.admin.* topics - hive.nodes.* → spinifex.nodes.* topics - hive.node.* → spinifex.node.* topics - hive.cluster.* → spinifex.cluster.* topics - spinifex-nats server_name already updated in Phase 5 --- cmd/spinifex/cmd/cluster.go | 4 +- cmd/spinifex/cmd/get.go | 4 +- cmd/spinifex/cmd/top.go | 2 +- spinifex/daemon/daemon.go | 114 +++++++-------- spinifex/daemon/daemon_handlers_test.go | 138 +++++++++--------- spinifex/daemon/daemon_test.go | 6 +- spinifex/daemon/shutdown.go | 2 +- spinifex/daemon/shutdown_test.go | 2 +- .../instance/ModifyInstanceAttribute_test.go | 4 +- .../ec2/instance/StartInstances_test.go | 8 +- .../ec2/instance/TerminateInstances_test.go | 4 +- spinifex/gateway/gateway.go | 2 +- spinifex/gateway/gateway_test.go | 6 +- .../ec2/instance/service_nats_test.go | 12 +- spinifex/services/viperblockd/viperblockd.go | 8 +- spinifex/types/node.go | 4 +- 16 files changed, 160 insertions(+), 160 deletions(-) diff --git a/cmd/spinifex/cmd/cluster.go b/cmd/spinifex/cmd/cluster.go index 9495dba93..1dd6dd1f2 100644 --- a/cmd/spinifex/cmd/cluster.go +++ b/cmd/spinifex/cmd/cluster.go @@ -77,7 +77,7 @@ func runClusterShutdown(cmd *cobra.Command, args []string) { // Execute phases sequentially (except INFRA which is fire-and-forget) for _, phase := range phases { - topic := "hive.cluster.shutdown." + phase + topic := "spinifex.cluster.shutdown." + phase req := daemon.ShutdownRequest{ Phase: phase, Force: force, @@ -106,7 +106,7 @@ func runClusterShutdown(cmd *cobra.Command, args []string) { // For DRAIN phase, subscribe to progress updates var progressSub *nats.Subscription if phase == "drain" { - progressSub, err = nc.Subscribe("hive.cluster.shutdown.progress", func(msg *nats.Msg) { + progressSub, err = nc.Subscribe("spinifex.cluster.shutdown.progress", func(msg *nats.Msg) { var progress daemon.ShutdownProgress if err := json.Unmarshal(msg.Data, &progress); err != nil { return diff --git a/cmd/spinifex/cmd/get.go b/cmd/spinifex/cmd/get.go index 0e5c6624b..2e5126597 100644 --- a/cmd/spinifex/cmd/get.go +++ b/cmd/spinifex/cmd/get.go @@ -154,7 +154,7 @@ func runGetNodes(cmd *cobra.Command, args []string) { defer nc.Close() timeout, _ := cmd.Flags().GetDuration("timeout") - responses, err := collectResponses(nc, "hive.node.status", timeout) + responses, err := collectResponses(nc, "spinifex.node.status", timeout) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) @@ -228,7 +228,7 @@ func runGetVMs(cmd *cobra.Command, args []string) { defer nc.Close() timeout, _ := cmd.Flags().GetDuration("timeout") - responses, err := collectResponses(nc, "hive.node.vms", timeout) + responses, err := collectResponses(nc, "spinifex.node.vms", timeout) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) diff --git a/cmd/spinifex/cmd/top.go b/cmd/spinifex/cmd/top.go index a52c26476..71653d520 100644 --- a/cmd/spinifex/cmd/top.go +++ b/cmd/spinifex/cmd/top.go @@ -56,7 +56,7 @@ func runTopNodes(cmd *cobra.Command, args []string) { defer nc.Close() timeout, _ := cmd.Flags().GetDuration("timeout") - responses, err := collectResponses(nc, "hive.node.status", timeout) + responses, err := collectResponses(nc, "spinifex.node.status", timeout) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) diff --git a/spinifex/daemon/daemon.go b/spinifex/daemon/daemon.go index 8d563d464..57cb50e7e 100644 --- a/spinifex/daemon/daemon.go +++ b/spinifex/daemon/daemon.go @@ -353,67 +353,67 @@ func (d *Daemon) subscribeAll() error { subs := []natsSub{ // ec2.RunInstances is handled by dynamic per-instance-type subscriptions // managed by ResourceManager.initSubscriptions() - {"ec2.CreateKeyPair", d.handleEC2CreateKeyPair, "hive-workers"}, - {"ec2.DeleteKeyPair", d.handleEC2DeleteKeyPair, "hive-workers"}, - {"ec2.DescribeKeyPairs", d.handleEC2DescribeKeyPairs, "hive-workers"}, - {"ec2.ImportKeyPair", d.handleEC2ImportKeyPair, "hive-workers"}, - {"ec2.DescribeImages", d.handleEC2DescribeImages, "hive-workers"}, + {"ec2.CreateKeyPair", d.handleEC2CreateKeyPair, "spinifex-workers"}, + {"ec2.DeleteKeyPair", d.handleEC2DeleteKeyPair, "spinifex-workers"}, + {"ec2.DescribeKeyPairs", d.handleEC2DescribeKeyPairs, "spinifex-workers"}, + {"ec2.ImportKeyPair", d.handleEC2ImportKeyPair, "spinifex-workers"}, + {"ec2.DescribeImages", d.handleEC2DescribeImages, "spinifex-workers"}, {"ec2.CreateImage", d.handleEC2CreateImage, ""}, - {"ec2.CreateVolume", d.handleEC2CreateVolume, "hive-workers"}, - {"ec2.DescribeVolumes", d.handleEC2DescribeVolumes, "hive-workers"}, - {"ec2.ModifyVolume", d.handleEC2ModifyVolume, "hive-workers"}, - {"ec2.DeleteVolume", d.handleEC2DeleteVolume, "hive-workers"}, - {"ec2.DescribeVolumeStatus", d.handleEC2DescribeVolumeStatus, "hive-workers"}, - {"ec2.CreateSnapshot", d.handleEC2CreateSnapshot, "hive-workers"}, - {"ec2.DescribeSnapshots", d.handleEC2DescribeSnapshots, "hive-workers"}, - {"ec2.DeleteSnapshot", d.handleEC2DeleteSnapshot, "hive-workers"}, - {"ec2.CopySnapshot", d.handleEC2CopySnapshot, "hive-workers"}, - {"ec2.CreateTags", d.handleEC2CreateTags, "hive-workers"}, - {"ec2.DeleteTags", d.handleEC2DeleteTags, "hive-workers"}, - {"ec2.DescribeTags", d.handleEC2DescribeTags, "hive-workers"}, - {"ec2.CreateEgressOnlyInternetGateway", d.handleEC2CreateEgressOnlyInternetGateway, "hive-workers"}, - {"ec2.DeleteEgressOnlyInternetGateway", d.handleEC2DeleteEgressOnlyInternetGateway, "hive-workers"}, - {"ec2.DescribeEgressOnlyInternetGateways", d.handleEC2DescribeEgressOnlyInternetGateways, "hive-workers"}, - {"ec2.CreateInternetGateway", d.handleEC2CreateInternetGateway, "hive-workers"}, - {"ec2.DeleteInternetGateway", d.handleEC2DeleteInternetGateway, "hive-workers"}, - {"ec2.DescribeInternetGateways", d.handleEC2DescribeInternetGateways, "hive-workers"}, - {"ec2.AttachInternetGateway", d.handleEC2AttachInternetGateway, "hive-workers"}, - {"ec2.DetachInternetGateway", d.handleEC2DetachInternetGateway, "hive-workers"}, - {"ec2.CreateVpc", d.handleEC2CreateVpc, "hive-workers"}, - {"ec2.DeleteVpc", d.handleEC2DeleteVpc, "hive-workers"}, - {"ec2.DescribeVpcs", d.handleEC2DescribeVpcs, "hive-workers"}, - {"ec2.CreateSubnet", d.handleEC2CreateSubnet, "hive-workers"}, - {"ec2.DeleteSubnet", d.handleEC2DeleteSubnet, "hive-workers"}, - {"ec2.DescribeSubnets", d.handleEC2DescribeSubnets, "hive-workers"}, - {"ec2.CreateNetworkInterface", d.handleEC2CreateNetworkInterface, "hive-workers"}, - {"ec2.DeleteNetworkInterface", d.handleEC2DeleteNetworkInterface, "hive-workers"}, - {"ec2.DescribeNetworkInterfaces", d.handleEC2DescribeNetworkInterfaces, "hive-workers"}, - {"ec2.ModifyInstanceAttribute", d.handleEC2ModifyInstanceAttribute, "hive-workers"}, - {"ec2.start", d.handleEC2StartStoppedInstance, "hive-workers"}, - {"ec2.terminate", d.handleEC2TerminateStoppedInstance, "hive-workers"}, - {"ec2.DescribeStoppedInstances", d.handleEC2DescribeStoppedInstances, "hive-workers"}, - {"ec2.DescribeTerminatedInstances", d.handleEC2DescribeTerminatedInstances, "hive-workers"}, + {"ec2.CreateVolume", d.handleEC2CreateVolume, "spinifex-workers"}, + {"ec2.DescribeVolumes", d.handleEC2DescribeVolumes, "spinifex-workers"}, + {"ec2.ModifyVolume", d.handleEC2ModifyVolume, "spinifex-workers"}, + {"ec2.DeleteVolume", d.handleEC2DeleteVolume, "spinifex-workers"}, + {"ec2.DescribeVolumeStatus", d.handleEC2DescribeVolumeStatus, "spinifex-workers"}, + {"ec2.CreateSnapshot", d.handleEC2CreateSnapshot, "spinifex-workers"}, + {"ec2.DescribeSnapshots", d.handleEC2DescribeSnapshots, "spinifex-workers"}, + {"ec2.DeleteSnapshot", d.handleEC2DeleteSnapshot, "spinifex-workers"}, + {"ec2.CopySnapshot", d.handleEC2CopySnapshot, "spinifex-workers"}, + {"ec2.CreateTags", d.handleEC2CreateTags, "spinifex-workers"}, + {"ec2.DeleteTags", d.handleEC2DeleteTags, "spinifex-workers"}, + {"ec2.DescribeTags", d.handleEC2DescribeTags, "spinifex-workers"}, + {"ec2.CreateEgressOnlyInternetGateway", d.handleEC2CreateEgressOnlyInternetGateway, "spinifex-workers"}, + {"ec2.DeleteEgressOnlyInternetGateway", d.handleEC2DeleteEgressOnlyInternetGateway, "spinifex-workers"}, + {"ec2.DescribeEgressOnlyInternetGateways", d.handleEC2DescribeEgressOnlyInternetGateways, "spinifex-workers"}, + {"ec2.CreateInternetGateway", d.handleEC2CreateInternetGateway, "spinifex-workers"}, + {"ec2.DeleteInternetGateway", d.handleEC2DeleteInternetGateway, "spinifex-workers"}, + {"ec2.DescribeInternetGateways", d.handleEC2DescribeInternetGateways, "spinifex-workers"}, + {"ec2.AttachInternetGateway", d.handleEC2AttachInternetGateway, "spinifex-workers"}, + {"ec2.DetachInternetGateway", d.handleEC2DetachInternetGateway, "spinifex-workers"}, + {"ec2.CreateVpc", d.handleEC2CreateVpc, "spinifex-workers"}, + {"ec2.DeleteVpc", d.handleEC2DeleteVpc, "spinifex-workers"}, + {"ec2.DescribeVpcs", d.handleEC2DescribeVpcs, "spinifex-workers"}, + {"ec2.CreateSubnet", d.handleEC2CreateSubnet, "spinifex-workers"}, + {"ec2.DeleteSubnet", d.handleEC2DeleteSubnet, "spinifex-workers"}, + {"ec2.DescribeSubnets", d.handleEC2DescribeSubnets, "spinifex-workers"}, + {"ec2.CreateNetworkInterface", d.handleEC2CreateNetworkInterface, "spinifex-workers"}, + {"ec2.DeleteNetworkInterface", d.handleEC2DeleteNetworkInterface, "spinifex-workers"}, + {"ec2.DescribeNetworkInterfaces", d.handleEC2DescribeNetworkInterfaces, "spinifex-workers"}, + {"ec2.ModifyInstanceAttribute", d.handleEC2ModifyInstanceAttribute, "spinifex-workers"}, + {"ec2.start", d.handleEC2StartStoppedInstance, "spinifex-workers"}, + {"ec2.terminate", d.handleEC2TerminateStoppedInstance, "spinifex-workers"}, + {"ec2.DescribeStoppedInstances", d.handleEC2DescribeStoppedInstances, "spinifex-workers"}, + {"ec2.DescribeTerminatedInstances", d.handleEC2DescribeTerminatedInstances, "spinifex-workers"}, // these 2 fan out to all nodes and gateway aggregates the results {"ec2.DescribeInstances", d.handleEC2DescribeInstances, ""}, {"ec2.DescribeInstanceTypes", d.handleEC2DescribeInstanceTypes, ""}, - {"ec2.EnableEbsEncryptionByDefault", d.handleEC2EnableEbsEncryptionByDefault, "hive-workers"}, - {"ec2.DisableEbsEncryptionByDefault", d.handleEC2DisableEbsEncryptionByDefault, "hive-workers"}, - {"ec2.GetEbsEncryptionByDefault", d.handleEC2GetEbsEncryptionByDefault, "hive-workers"}, - {"ec2.GetSerialConsoleAccessStatus", d.handleEC2GetSerialConsoleAccessStatus, "hive-workers"}, - {"ec2.EnableSerialConsoleAccess", d.handleEC2EnableSerialConsoleAccess, "hive-workers"}, - {"ec2.DisableSerialConsoleAccess", d.handleEC2DisableSerialConsoleAccess, "hive-workers"}, - {fmt.Sprintf("hive.admin.%s.health", d.node), d.handleHealthCheck, ""}, - {"hive.nodes.discover", d.handleNodeDiscover, ""}, - {"hive.node.status", d.handleNodeStatus, ""}, - {"hive.node.vms", d.handleNodeVMs, ""}, + {"ec2.EnableEbsEncryptionByDefault", d.handleEC2EnableEbsEncryptionByDefault, "spinifex-workers"}, + {"ec2.DisableEbsEncryptionByDefault", d.handleEC2DisableEbsEncryptionByDefault, "spinifex-workers"}, + {"ec2.GetEbsEncryptionByDefault", d.handleEC2GetEbsEncryptionByDefault, "spinifex-workers"}, + {"ec2.GetSerialConsoleAccessStatus", d.handleEC2GetSerialConsoleAccessStatus, "spinifex-workers"}, + {"ec2.EnableSerialConsoleAccess", d.handleEC2EnableSerialConsoleAccess, "spinifex-workers"}, + {"ec2.DisableSerialConsoleAccess", d.handleEC2DisableSerialConsoleAccess, "spinifex-workers"}, + {fmt.Sprintf("spinifex.admin.%s.health", d.node), d.handleHealthCheck, ""}, + {"spinifex.nodes.discover", d.handleNodeDiscover, ""}, + {"spinifex.node.status", d.handleNodeStatus, ""}, + {"spinifex.node.vms", d.handleNodeVMs, ""}, // Account creation → create default VPC for new account - {"iam.account.created", d.handleAccountCreated, "hive-workers"}, + {"iam.account.created", d.handleAccountCreated, "spinifex-workers"}, // Coordinated cluster shutdown phases (fan-out, no queue group) - {"hive.cluster.shutdown.gate", d.handleShutdownGate, ""}, - {"hive.cluster.shutdown.drain", d.handleShutdownDrain, ""}, - {"hive.cluster.shutdown.storage", d.handleShutdownStorage, ""}, - {"hive.cluster.shutdown.persist", d.handleShutdownPersist, ""}, - {"hive.cluster.shutdown.infra", d.handleShutdownInfra, ""}, + {"spinifex.cluster.shutdown.gate", d.handleShutdownGate, ""}, + {"spinifex.cluster.shutdown.drain", d.handleShutdownDrain, ""}, + {"spinifex.cluster.shutdown.storage", d.handleShutdownStorage, ""}, + {"spinifex.cluster.shutdown.persist", d.handleShutdownPersist, ""}, + {"spinifex.cluster.shutdown.infra", d.handleShutdownInfra, ""}, } for _, s := range subs { @@ -2357,7 +2357,7 @@ func (rm *ResourceManager) initSubscriptions(nc *nats.Conn, handler nats.MsgHand // updateInstanceSubscriptions recalculates which instance types can fit on this // node and subscribes/unsubscribes from the corresponding NATS topics. Each type -// gets its own topic (ec2.RunInstances.{type}) with the hive-workers queue group, +// gets its own topic (ec2.RunInstances.{type}) with the spinifex-workers queue group, // so NATS only routes requests to nodes that can actually serve them. func (rm *ResourceManager) updateInstanceSubscriptions() { if rm.natsConn == nil { @@ -2373,7 +2373,7 @@ func (rm *ResourceManager) updateInstanceSubscriptions() { _, subscribed := rm.instanceSubs[topic] if canFit && !subscribed { - sub, err := rm.natsConn.QueueSubscribe(topic, "hive-workers", rm.handler) + sub, err := rm.natsConn.QueueSubscribe(topic, "spinifex-workers", rm.handler) if err != nil { slog.Error("Failed to subscribe to instance type topic", "topic", topic, "err", err) continue diff --git a/spinifex/daemon/daemon_handlers_test.go b/spinifex/daemon/daemon_handlers_test.go index 3601ab5f2..9a08bbbd2 100644 --- a/spinifex/daemon/daemon_handlers_test.go +++ b/spinifex/daemon/daemon_handlers_test.go @@ -210,7 +210,7 @@ func TestHandleEC2CreateKeyPair_RoundTrip(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateKeyPair", "hive-workers", daemon.handleEC2CreateKeyPair) + sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateKeyPair", "spinifex-workers", daemon.handleEC2CreateKeyPair) require.NoError(t, err) defer sub.Unsubscribe() @@ -235,7 +235,7 @@ func TestHandleEC2CreateTags_RoundTrip(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateTags", "hive-workers", daemon.handleEC2CreateTags) + sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateTags", "spinifex-workers", daemon.handleEC2CreateTags) require.NoError(t, err) defer sub.Unsubscribe() @@ -260,7 +260,7 @@ func TestHandleEC2DescribeImages_RoundTrip(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeImages", "hive-workers", daemon.handleEC2DescribeImages) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeImages", "spinifex-workers", daemon.handleEC2DescribeImages) require.NoError(t, err) defer sub.Unsubscribe() @@ -280,7 +280,7 @@ func TestHandleEC2DescribeVolumes_RoundTrip(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeVolumes", "hive-workers", daemon.handleEC2DescribeVolumes) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeVolumes", "spinifex-workers", daemon.handleEC2DescribeVolumes) require.NoError(t, err) defer sub.Unsubscribe() @@ -300,7 +300,7 @@ func TestHandleEC2DescribeKeyPairs_RoundTrip(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeKeyPairs", "hive-workers", daemon.handleEC2DescribeKeyPairs) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeKeyPairs", "spinifex-workers", daemon.handleEC2DescribeKeyPairs) require.NoError(t, err) defer sub.Unsubscribe() @@ -322,7 +322,7 @@ func TestHandleHealthCheck(t *testing.T) { daemon := createTestDaemon(t, natsURL) - topic := fmt.Sprintf("hive.admin.%s.health", daemon.node) + topic := fmt.Sprintf("spinifex.admin.%s.health", daemon.node) sub, err := daemon.natsConn.Subscribe(topic, daemon.handleHealthCheck) require.NoError(t, err) defer sub.Unsubscribe() @@ -358,11 +358,11 @@ func TestHandleNodeDiscover(t *testing.T) { daemon := createTestDaemon(t, natsURL) - sub, err := daemon.natsConn.Subscribe("hive.nodes.discover", daemon.handleNodeDiscover) + sub, err := daemon.natsConn.Subscribe("spinifex.nodes.discover", daemon.handleNodeDiscover) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.nodes.discover", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.nodes.discover", nil, 5*time.Second) require.NoError(t, err) require.NotNil(t, reply) @@ -380,7 +380,7 @@ func TestHandleEC2RunInstances_InvalidAMI(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -406,7 +406,7 @@ func TestHandleEC2RunInstances_InvalidKeyPair(t *testing.T) { // Seed a valid AMI so AMI validation passes seedTestAMI(t, memStore, daemon.config.Predastore.Bucket, "ami-test123") - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -450,7 +450,7 @@ func TestHandleEC2RunInstances_ValidKeyPairPassesValidation(t *testing.T) { }) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -475,7 +475,7 @@ func TestHandleEC2RunInstances_EmptyKeyNameSkipsValidation(t *testing.T) { daemon, memStore := createFullTestDaemonWithStore(t, natsURL) seedTestAMI(t, memStore, daemon.config.Predastore.Bucket, "ami-test789") - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -511,7 +511,7 @@ func TestHandleEC2RunInstances_ServiceErrorPropagated(t *testing.T) { objectstore.NewMemoryObjectStore(), ) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -836,7 +836,7 @@ func TestHandleEC2ModifyVolume_MalformedInput(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "hive-workers", daemon.handleEC2ModifyVolume) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "spinifex-workers", daemon.handleEC2ModifyVolume) require.NoError(t, err) defer sub.Unsubscribe() @@ -854,7 +854,7 @@ func TestHandleEC2ModifyVolume_VolumeNotFound(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "hive-workers", daemon.handleEC2ModifyVolume) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "spinifex-workers", daemon.handleEC2ModifyVolume) require.NoError(t, err) defer sub.Unsubscribe() @@ -880,7 +880,7 @@ func TestHandleEC2GetEbsEncryptionByDefault(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.GetEbsEncryptionByDefault", "hive-workers", daemon.handleEC2GetEbsEncryptionByDefault) + sub, err := daemon.natsConn.QueueSubscribe("ec2.GetEbsEncryptionByDefault", "spinifex-workers", daemon.handleEC2GetEbsEncryptionByDefault) require.NoError(t, err) defer sub.Unsubscribe() @@ -900,7 +900,7 @@ func TestHandleEC2GetSerialConsoleAccessStatus(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.GetSerialConsoleAccessStatus", "hive-workers", daemon.handleEC2GetSerialConsoleAccessStatus) + sub, err := daemon.natsConn.QueueSubscribe("ec2.GetSerialConsoleAccessStatus", "spinifex-workers", daemon.handleEC2GetSerialConsoleAccessStatus) require.NoError(t, err) defer sub.Unsubscribe() @@ -920,7 +920,7 @@ func TestHandleEC2EnableEbsEncryptionByDefault(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.EnableEbsEncryptionByDefault", "hive-workers", daemon.handleEC2EnableEbsEncryptionByDefault) + sub, err := daemon.natsConn.QueueSubscribe("ec2.EnableEbsEncryptionByDefault", "spinifex-workers", daemon.handleEC2EnableEbsEncryptionByDefault) require.NoError(t, err) defer sub.Unsubscribe() @@ -941,7 +941,7 @@ func TestHandleEC2DisableEbsEncryptionByDefault(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DisableEbsEncryptionByDefault", "hive-workers", daemon.handleEC2DisableEbsEncryptionByDefault) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DisableEbsEncryptionByDefault", "spinifex-workers", daemon.handleEC2DisableEbsEncryptionByDefault) require.NoError(t, err) defer sub.Unsubscribe() @@ -962,7 +962,7 @@ func TestHandleEC2EnableSerialConsoleAccess(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.EnableSerialConsoleAccess", "hive-workers", daemon.handleEC2EnableSerialConsoleAccess) + sub, err := daemon.natsConn.QueueSubscribe("ec2.EnableSerialConsoleAccess", "spinifex-workers", daemon.handleEC2EnableSerialConsoleAccess) require.NoError(t, err) defer sub.Unsubscribe() @@ -983,7 +983,7 @@ func TestHandleEC2DisableSerialConsoleAccess(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DisableSerialConsoleAccess", "hive-workers", daemon.handleEC2DisableSerialConsoleAccess) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DisableSerialConsoleAccess", "spinifex-workers", daemon.handleEC2DisableSerialConsoleAccess) require.NoError(t, err) defer sub.Unsubscribe() @@ -1164,7 +1164,7 @@ func TestHandleEC2StartStoppedInstance_MissingInstance(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "hive-workers", daemon.handleEC2StartStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "spinifex-workers", daemon.handleEC2StartStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1184,7 +1184,7 @@ func TestHandleEC2StartStoppedInstance_MissingInstanceID(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "hive-workers", daemon.handleEC2StartStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "spinifex-workers", daemon.handleEC2StartStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1214,7 +1214,7 @@ func TestHandleEC2StartStoppedInstance_NotStoppedState(t *testing.T) { err := daemon.jsManager.WriteStoppedInstance(runningVM.ID, runningVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "hive-workers", daemon.handleEC2StartStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "spinifex-workers", daemon.handleEC2StartStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1257,7 +1257,7 @@ func TestHandleEC2DescribeStoppedInstances_ReturnsStoppedInstances(t *testing.T) err := daemon.jsManager.WriteStoppedInstance(stoppedVM.ID, stoppedVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeStoppedInstances", "hive-workers", daemon.handleEC2DescribeStoppedInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeStoppedInstances", "spinifex-workers", daemon.handleEC2DescribeStoppedInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -1311,7 +1311,7 @@ func TestHandleEC2DescribeStoppedInstances_WithFilter(t *testing.T) { require.NoError(t, err) } - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeStoppedInstances", "hive-workers", daemon.handleEC2DescribeStoppedInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeStoppedInstances", "spinifex-workers", daemon.handleEC2DescribeStoppedInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -1354,7 +1354,7 @@ func TestHandleEC2TerminateStoppedInstance_MissingInstanceID(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1373,7 +1373,7 @@ func TestHandleEC2TerminateStoppedInstance_MissingInstance(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1402,7 +1402,7 @@ func TestHandleEC2TerminateStoppedInstance_NotStoppedState(t *testing.T) { err := daemon.jsManager.WriteStoppedInstance(runningVM.ID, runningVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1443,7 +1443,7 @@ func TestHandleEC2TerminateStoppedInstance_Success(t *testing.T) { err := daemon.jsManager.WriteStoppedInstance(stoppedVM.ID, stoppedVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -1649,7 +1649,7 @@ func TestHandleEC2ModifyInstanceAttribute_ChangeInstanceType(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1691,7 +1691,7 @@ func TestHandleEC2ModifyInstanceAttribute_ChangeUserData(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1737,7 +1737,7 @@ func TestHandleEC2ModifyInstanceAttribute_InstanceNotFound(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1760,7 +1760,7 @@ func TestHandleEC2ModifyInstanceAttribute_NotStopped(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1794,7 +1794,7 @@ func TestHandleEC2ModifyInstanceAttribute_ClearsStateReason(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1841,7 +1841,7 @@ func TestHandleEC2ModifyInstanceAttribute_InvalidTypeAccepted(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1884,7 +1884,7 @@ func TestHandleEC2ModifyInstanceAttribute_MissingInstanceID(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -1904,7 +1904,7 @@ func TestHandleEC2ModifyInstanceAttribute_InvalidJSON(t *testing.T) { daemon := createFullTestDaemonWithJetStream(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", daemon.handleEC2ModifyInstanceAttribute) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", daemon.handleEC2ModifyInstanceAttribute) require.NoError(t, err) defer sub.Unsubscribe() @@ -2012,7 +2012,7 @@ func TestDelegateHandlers_RoundTrip(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "hive-workers", tt.handler) + sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "spinifex-workers", tt.handler) require.NoError(t, err) defer sub.Unsubscribe() @@ -2072,11 +2072,11 @@ func TestHandleNodeStatus(t *testing.T) { daemon.Instances.VMS["i-stop-1"] = &vm.VM{ID: "i-stop-1", Status: vm.StateStopped} daemon.Instances.Mu.Unlock() - sub, err := daemon.natsConn.Subscribe("hive.node.status.test", daemon.handleNodeStatus) + sub, err := daemon.natsConn.Subscribe("spinifex.node.status.test", daemon.handleNodeStatus) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.node.status.test", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.node.status.test", nil, 5*time.Second) require.NoError(t, err) var resp types.NodeStatusResponse @@ -2098,11 +2098,11 @@ func TestHandleNodeStatus_NoVMs(t *testing.T) { daemon := createTestDaemon(t, sharedNATSURL) daemon.config.Daemon.Host = "192.168.1.1:4432" - sub, err := daemon.natsConn.Subscribe("hive.node.status.empty", daemon.handleNodeStatus) + sub, err := daemon.natsConn.Subscribe("spinifex.node.status.empty", daemon.handleNodeStatus) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.node.status.empty", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.node.status.empty", nil, 5*time.Second) require.NoError(t, err) var resp types.NodeStatusResponse @@ -2139,11 +2139,11 @@ func TestHandleNodeVMs(t *testing.T) { } daemon.Instances.Mu.Unlock() - sub, err := daemon.natsConn.Subscribe("hive.node.vms.test", daemon.handleNodeVMs) + sub, err := daemon.natsConn.Subscribe("spinifex.node.vms.test", daemon.handleNodeVMs) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.node.vms.test", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.node.vms.test", nil, 5*time.Second) require.NoError(t, err) var resp types.NodeVMsResponse @@ -2176,11 +2176,11 @@ func TestHandleNodeVMs_Empty(t *testing.T) { daemon := createTestDaemon(t, sharedNATSURL) daemon.config.Daemon.Host = "10.0.0.5:4432" - sub, err := daemon.natsConn.Subscribe("hive.node.vms.empty", daemon.handleNodeVMs) + sub, err := daemon.natsConn.Subscribe("spinifex.node.vms.empty", daemon.handleNodeVMs) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.node.vms.empty", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.node.vms.empty", nil, 5*time.Second) require.NoError(t, err) var resp types.NodeVMsResponse @@ -2203,11 +2203,11 @@ func TestHandleNodeVMs_UnknownInstanceType(t *testing.T) { } daemon.Instances.Mu.Unlock() - sub, err := daemon.natsConn.Subscribe("hive.node.vms.unknown", daemon.handleNodeVMs) + sub, err := daemon.natsConn.Subscribe("spinifex.node.vms.unknown", daemon.handleNodeVMs) require.NoError(t, err) defer sub.Unsubscribe() - reply, err := daemon.natsConn.Request("hive.node.vms.unknown", nil, 5*time.Second) + reply, err := daemon.natsConn.Request("spinifex.node.vms.unknown", nil, 5*time.Second) require.NoError(t, err) var resp types.NodeVMsResponse @@ -2326,7 +2326,7 @@ func TestDelegateHandlers_VPC(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "hive-workers", tt.handler) + sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "spinifex-workers", tt.handler) require.NoError(t, err) defer sub.Unsubscribe() @@ -2393,7 +2393,7 @@ func TestDelegateHandlers_IGW(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "hive-workers", tt.handler) + sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "spinifex-workers", tt.handler) require.NoError(t, err) defer sub.Unsubscribe() @@ -2414,7 +2414,7 @@ func TestDelegateHandlers_IGW(t *testing.T) { func TestHandleEC2CreateVpc_SuccessPath(t *testing.T) { daemon := createVPCTestDaemon(t) - sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "hive-workers", daemon.handleEC2CreateVpc) + sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "spinifex-workers", daemon.handleEC2CreateVpc) require.NoError(t, err) defer sub.Unsubscribe() @@ -2435,11 +2435,11 @@ func TestHandleEC2CreateVpc_SuccessPath(t *testing.T) { func TestHandleEC2CreateAndDescribeVpc_RoundTrip(t *testing.T) { daemon := createVPCTestDaemon(t) - createSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "hive-workers", daemon.handleEC2CreateVpc) + createSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "spinifex-workers", daemon.handleEC2CreateVpc) require.NoError(t, err) defer createSub.Unsubscribe() - describeSub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeVpcs", "hive-workers", daemon.handleEC2DescribeVpcs) + describeSub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeVpcs", "spinifex-workers", daemon.handleEC2DescribeVpcs) require.NoError(t, err) defer describeSub.Unsubscribe() @@ -2475,7 +2475,7 @@ func TestHandleEC2CreateAndDescribeVpc_RoundTrip(t *testing.T) { func TestHandleEC2CreateInternetGateway_SuccessPath(t *testing.T) { daemon := createVPCTestDaemon(t) - sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateInternetGateway", "hive-workers", daemon.handleEC2CreateInternetGateway) + sub, err := daemon.natsConn.QueueSubscribe("ec2.CreateInternetGateway", "spinifex-workers", daemon.handleEC2CreateInternetGateway) require.NoError(t, err) defer sub.Unsubscribe() @@ -2495,11 +2495,11 @@ func TestHandleEC2CreateInternetGateway_SuccessPath(t *testing.T) { func TestHandleEC2CreateSubnet_SuccessPath(t *testing.T) { daemon := createVPCTestDaemon(t) - createVpcSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "hive-workers", daemon.handleEC2CreateVpc) + createVpcSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateVpc", "spinifex-workers", daemon.handleEC2CreateVpc) require.NoError(t, err) defer createVpcSub.Unsubscribe() - createSubnetSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateSubnet", "hive-workers", daemon.handleEC2CreateSubnet) + createSubnetSub, err := daemon.natsConn.QueueSubscribe("ec2.CreateSubnet", "spinifex-workers", daemon.handleEC2CreateSubnet) require.NoError(t, err) defer createSubnetSub.Unsubscribe() @@ -2585,7 +2585,7 @@ func TestDelegateHandlers_EIGW(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "hive-workers", tt.handler) + sub, err := daemon.natsConn.QueueSubscribe(tt.topic, "spinifex-workers", tt.handler) require.NoError(t, err) defer sub.Unsubscribe() @@ -2636,7 +2636,7 @@ func TestHandleEC2ModifyVolume_Success(t *testing.T) { require.NoError(t, err) defer syncSub.Unsubscribe() - sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "hive-workers", daemon.handleEC2ModifyVolume) + sub, err := daemon.natsConn.QueueSubscribe("ec2.ModifyVolume", "spinifex-workers", daemon.handleEC2ModifyVolume) require.NoError(t, err) defer sub.Unsubscribe() @@ -2696,7 +2696,7 @@ func TestHandleEC2TerminateStoppedInstance_WithVolumes(t *testing.T) { err = daemon.jsManager.WriteStoppedInstance(stoppedVM.ID, stoppedVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -2720,7 +2720,7 @@ func TestHandleEC2TerminateStoppedInstance_WithVolumes(t *testing.T) { func TestHandleEC2DescribeInstanceTypes_CapacityFilter(t *testing.T) { daemon := createFullTestDaemon(t, sharedNATSURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeInstanceTypes", "hive-workers", daemon.handleEC2DescribeInstanceTypes) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeInstanceTypes", "spinifex-workers", daemon.handleEC2DescribeInstanceTypes) require.NoError(t, err) defer sub.Unsubscribe() @@ -2747,7 +2747,7 @@ func TestHandleEC2DescribeInstanceTypes_CapacityFilter(t *testing.T) { func TestHandleEC2DescribeInstanceTypes_NoFilter(t *testing.T) { daemon := createFullTestDaemon(t, sharedNATSURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeInstanceTypes.nofilter", "hive-workers", daemon.handleEC2DescribeInstanceTypes) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeInstanceTypes.nofilter", "spinifex-workers", daemon.handleEC2DescribeInstanceTypes) require.NoError(t, err) defer sub.Unsubscribe() @@ -2782,7 +2782,7 @@ func TestHandleEC2StartStoppedInstance_InstanceTypeNotAvailable(t *testing.T) { require.NoError(t, err) t.Cleanup(func() { _ = daemon.jsManager.DeleteStoppedInstance(stoppedVM.ID) }) - sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "hive-workers", daemon.handleEC2StartStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.start", "spinifex-workers", daemon.handleEC2StartStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() @@ -3272,7 +3272,7 @@ func TestDetachVolume_DeviceMismatch(t *testing.T) { func TestHandleEC2RunInstances_InsufficientCapacity(t *testing.T) { daemon := createFullTestDaemon(t, sharedNATSURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -3296,7 +3296,7 @@ func TestHandleEC2RunInstances_InsufficientCapacity(t *testing.T) { func TestHandleEC2RunInstances_UnsupportedInstanceType(t *testing.T) { daemon := createFullTestDaemon(t, sharedNATSURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances.badtype", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances.badtype", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -3319,7 +3319,7 @@ func TestHandleEC2RunInstances_UnsupportedInstanceType(t *testing.T) { func TestHandleEC2RunInstances_MalformedInput(t *testing.T) { daemon := createFullTestDaemon(t, sharedNATSURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances.bad", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.RunInstances.bad", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -3374,7 +3374,7 @@ func TestHandleEC2DescribeTerminatedInstances_ReturnsTerminatedInstances(t *test err := daemon.jsManager.WriteTerminatedInstance(terminatedVM.ID, terminatedVM) require.NoError(t, err) - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeTerminatedInstances", "hive-workers", daemon.handleEC2DescribeTerminatedInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeTerminatedInstances", "spinifex-workers", daemon.handleEC2DescribeTerminatedInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -3423,7 +3423,7 @@ func TestHandleEC2DescribeTerminatedInstances_WithFilter(t *testing.T) { require.NoError(t, daemon.jsManager.WriteTerminatedInstance(v.ID, v)) } - sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeTerminatedInstances", "hive-workers", daemon.handleEC2DescribeTerminatedInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.DescribeTerminatedInstances", "spinifex-workers", daemon.handleEC2DescribeTerminatedInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -3459,7 +3459,7 @@ func TestHandleEC2TerminateStoppedInstance_WritesToTerminatedKV(t *testing.T) { } require.NoError(t, daemon.jsManager.WriteStoppedInstance(stoppedVM.ID, stoppedVM)) - sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "hive-workers", daemon.handleEC2TerminateStoppedInstance) + sub, err := daemon.natsConn.QueueSubscribe("ec2.terminate", "spinifex-workers", daemon.handleEC2TerminateStoppedInstance) require.NoError(t, err) defer sub.Unsubscribe() diff --git a/spinifex/daemon/daemon_test.go b/spinifex/daemon/daemon_test.go index 43d37e81b..78566ba51 100644 --- a/spinifex/daemon/daemon_test.go +++ b/spinifex/daemon/daemon_test.go @@ -227,7 +227,7 @@ func TestHandleEC2RunInstances_MessageParsing(t *testing.T) { daemon := createFullTestDaemon(t, natsURL) // Subscribe to the ec2.launch topic with the handler - sub, err := daemon.natsConn.QueueSubscribe("ec2.launch", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.launch", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err, "Failed to subscribe to ec2.launch") defer sub.Unsubscribe() @@ -306,7 +306,7 @@ func TestHandleEC2RunInstances_ResourceManagement(t *testing.T) { daemon := createTestDaemon(t, natsURL) - sub, err := daemon.natsConn.QueueSubscribe("ec2.launch", "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe("ec2.launch", "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() @@ -1310,7 +1310,7 @@ func TestRunInstances_CountValidation(t *testing.T) { seedTestAMI(t, memStore, daemon.config.Predastore.Bucket, "ami-test") // Subscribe to the per-instance-type topic (matches production routing) - sub, err := daemon.natsConn.QueueSubscribe(topic, "hive-workers", daemon.handleEC2RunInstances) + sub, err := daemon.natsConn.QueueSubscribe(topic, "spinifex-workers", daemon.handleEC2RunInstances) require.NoError(t, err) defer sub.Unsubscribe() diff --git a/spinifex/daemon/shutdown.go b/spinifex/daemon/shutdown.go index 886b1b688..63f5df189 100644 --- a/spinifex/daemon/shutdown.go +++ b/spinifex/daemon/shutdown.go @@ -298,7 +298,7 @@ func (d *Daemon) publishShutdownProgress(phase string, total, remaining int) { slog.Error("Failed to marshal shutdown progress", "error", err) return } - if err := d.natsConn.Publish("hive.cluster.shutdown.progress", data); err != nil { + if err := d.natsConn.Publish("spinifex.cluster.shutdown.progress", data); err != nil { slog.Warn("Failed to publish shutdown progress", "error", err) } } diff --git a/spinifex/daemon/shutdown_test.go b/spinifex/daemon/shutdown_test.go index c17b62bf1..31385e7e0 100644 --- a/spinifex/daemon/shutdown_test.go +++ b/spinifex/daemon/shutdown_test.go @@ -249,7 +249,7 @@ func TestPublishShutdownProgress(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sub, err := nc.SubscribeSync("hive.cluster.shutdown.progress") + sub, err := nc.SubscribeSync("spinifex.cluster.shutdown.progress") require.NoError(t, err) defer sub.Unsubscribe() require.NoError(t, nc.Flush()) diff --git a/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go index 1a1c3da45..b9686c180 100644 --- a/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go +++ b/spinifex/gateway/ec2/instance/ModifyInstanceAttribute_test.go @@ -100,7 +100,7 @@ func TestValidateModifyInstanceAttributeInput_ValidUserData(t *testing.T) { func TestModifyInstanceAttribute_Success(t *testing.T) { _, nc := startTestNATSServer(t) - nc.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", func(msg *nats.Msg) { var input ec2.ModifyInstanceAttributeInput err := json.Unmarshal(msg.Data, &input) require.NoError(t, err) @@ -120,7 +120,7 @@ func TestModifyInstanceAttribute_Success(t *testing.T) { func TestModifyInstanceAttribute_DaemonError(t *testing.T) { _, nc := startTestNATSServer(t) - nc.QueueSubscribe("ec2.ModifyInstanceAttribute", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.ModifyInstanceAttribute", "spinifex-workers", func(msg *nats.Msg) { msg.Respond([]byte(`{"Code":"InvalidInstanceID.NotFound"}`)) }) diff --git a/spinifex/gateway/ec2/instance/StartInstances_test.go b/spinifex/gateway/ec2/instance/StartInstances_test.go index e712b5824..babdfd4a5 100644 --- a/spinifex/gateway/ec2/instance/StartInstances_test.go +++ b/spinifex/gateway/ec2/instance/StartInstances_test.go @@ -17,7 +17,7 @@ func TestStartInstances_Success(t *testing.T) { instanceID := "i-0123456789abcdef0" // Mock subscriber for the ec2.start queue group topic - nc.QueueSubscribe("ec2.start", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.start", "spinifex-workers", func(msg *nats.Msg) { var req startStoppedInstanceRequest err := json.Unmarshal(msg.Data, &req) require.NoError(t, err) @@ -51,7 +51,7 @@ func TestStartInstances_MultipleInstances(t *testing.T) { ids := []string{"i-001", "i-002", "i-003"} // Single subscriber handles all start requests via queue group - nc.QueueSubscribe("ec2.start", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.start", "spinifex-workers", func(msg *nats.Msg) { var req startStoppedInstanceRequest json.Unmarshal(msg.Data, &req) msg.Respond([]byte(`{"status":"running","instanceId":"` + req.InstanceID + `"}`)) @@ -89,7 +89,7 @@ func TestStartInstances_NilInstanceIdSkipped(t *testing.T) { _, nc := startTestNATSServer(t) instanceID := "i-valid" - nc.QueueSubscribe("ec2.start", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.start", "spinifex-workers", func(msg *nats.Msg) { msg.Respond([]byte(`{"status":"running","instanceId":"` + instanceID + `"}`)) }) @@ -138,7 +138,7 @@ func TestStartInstances_MixedSuccessAndFailure(t *testing.T) { badID := "i-bad" // Subscribe to ec2.start but only respond for goodID - nc.QueueSubscribe("ec2.start", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.start", "spinifex-workers", func(msg *nats.Msg) { var req startStoppedInstanceRequest json.Unmarshal(msg.Data, &req) if req.InstanceID == goodID { diff --git a/spinifex/gateway/ec2/instance/TerminateInstances_test.go b/spinifex/gateway/ec2/instance/TerminateInstances_test.go index 93f01bf1b..71b04b703 100644 --- a/spinifex/gateway/ec2/instance/TerminateInstances_test.go +++ b/spinifex/gateway/ec2/instance/TerminateInstances_test.go @@ -174,7 +174,7 @@ func TestTerminateInstances_StoppedInstanceFallback(t *testing.T) { // No ec2.cmd. subscriber — simulate stopped instance with no daemon owning it. // Subscribe to ec2.terminate to handle the fallback. - nc.QueueSubscribe("ec2.terminate", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.terminate", "spinifex-workers", func(msg *nats.Msg) { var req terminateStoppedInstanceRequest json.Unmarshal(msg.Data, &req) assert.Equal(t, instanceID, req.InstanceID) @@ -210,7 +210,7 @@ func TestTerminateInstances_MixedRunningAndStopped(t *testing.T) { }) // Stopped instance: no ec2.cmd subscriber, but ec2.terminate responds - nc.QueueSubscribe("ec2.terminate", "hive-workers", func(msg *nats.Msg) { + nc.QueueSubscribe("ec2.terminate", "spinifex-workers", func(msg *nats.Msg) { var req terminateStoppedInstanceRequest json.Unmarshal(msg.Data, &req) msg.Respond([]byte(`{"status":"terminated","instanceId":"` + req.InstanceID + `"}`)) diff --git a/spinifex/gateway/gateway.go b/spinifex/gateway/gateway.go index 672dc00bc..50aed393d 100644 --- a/spinifex/gateway/gateway.go +++ b/spinifex/gateway/gateway.go @@ -434,7 +434,7 @@ func (gw *GatewayConfig) DiscoverActiveNodes() int { defer sub.Unsubscribe() // Publish discovery request to all nodes - err = gw.NATSConn.PublishRequest("hive.nodes.discover", inbox, []byte("{}")) + err = gw.NATSConn.PublishRequest("spinifex.nodes.discover", inbox, []byte("{}")) if err != nil { slog.Error("DiscoverActiveNodes: Failed to publish request", "err", err) return gw.ExpectedNodes diff --git a/spinifex/gateway/gateway_test.go b/spinifex/gateway/gateway_test.go index 589c24d32..8d8b3f848 100644 --- a/spinifex/gateway/gateway_test.go +++ b/spinifex/gateway/gateway_test.go @@ -313,7 +313,7 @@ func TestDiscoverActiveNodes_WithResponders(t *testing.T) { for _, nodeName := range []string{"node-1", "node-2"} { name := nodeName - _, err := nc.Subscribe("hive.nodes.discover", func(msg *nats.Msg) { + _, err := nc.Subscribe("spinifex.nodes.discover", func(msg *nats.Msg) { resp := types.NodeDiscoverResponse{Node: name} data, _ := json.Marshal(resp) msg.Respond(data) @@ -334,7 +334,7 @@ func TestDiscoverActiveNodes_WithResponders(t *testing.T) { func TestDiscoverActiveNodes_InvalidJSON(t *testing.T) { nc := startTestNATS(t) - _, err := nc.Subscribe("hive.nodes.discover", func(msg *nats.Msg) { + _, err := nc.Subscribe("spinifex.nodes.discover", func(msg *nats.Msg) { msg.Respond([]byte("not json")) }) require.NoError(t, err) @@ -353,7 +353,7 @@ func TestDiscoverActiveNodes_DuplicateNodes(t *testing.T) { nc := startTestNATS(t) for range 2 { - _, err := nc.Subscribe("hive.nodes.discover", func(msg *nats.Msg) { + _, err := nc.Subscribe("spinifex.nodes.discover", func(msg *nats.Msg) { resp := types.NodeDiscoverResponse{Node: "same-node"} data, _ := json.Marshal(resp) msg.Respond(data) diff --git a/spinifex/handlers/ec2/instance/service_nats_test.go b/spinifex/handlers/ec2/instance/service_nats_test.go index dd68fe38a..d3384253b 100644 --- a/spinifex/handlers/ec2/instance/service_nats_test.go +++ b/spinifex/handlers/ec2/instance/service_nats_test.go @@ -99,7 +99,7 @@ func TestNATSInstanceService_RunInstances_Success(t *testing.T) { // Create mock daemon subscriber that responds with valid reservation // Subscribe to the per-instance-type topic (t3.micro from createValidRunInstancesInput) mockReservation := createValidReservation() - _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "spinifex-workers", func(msg *nats.Msg) { // Validate that request is properly formatted var input ec2.RunInstancesInput err := json.Unmarshal(msg.Data, &input) @@ -155,7 +155,7 @@ func TestNATSInstanceService_RunInstances_DaemonError(t *testing.T) { // Create mock daemon that responds with error // Subscribe to the per-instance-type topic for the requested type - _, err = nc.QueueSubscribe("ec2.RunInstances.invalid.type", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.invalid.type", "spinifex-workers", func(msg *nats.Msg) { // Send back error response errorResponse := utils.GenerateErrorPayload("InvalidInstanceType") msg.Respond(errorResponse) @@ -227,7 +227,7 @@ func TestNATSInstanceService_RunInstances_InvalidResponse(t *testing.T) { defer nc.Close() // Create mock daemon that responds with invalid JSON - _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "spinifex-workers", func(msg *nats.Msg) { // Send back malformed JSON msg.Respond([]byte(`{"invalid": json response`)) }) @@ -281,7 +281,7 @@ func TestNATSInstanceService_RunInstances_MultipleInstances(t *testing.T) { defer nc.Close() // Create mock daemon that returns multiple instances - _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "spinifex-workers", func(msg *nats.Msg) { var input ec2.RunInstancesInput json.Unmarshal(msg.Data, &input) @@ -343,7 +343,7 @@ func TestNATSInstanceService_RunInstances_QueueGroup(t *testing.T) { worker1Count := 0 worker2Count := 0 - _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "spinifex-workers", func(msg *nats.Msg) { worker1Count++ reservation := createValidReservation() responseData, _ := json.Marshal(reservation) @@ -351,7 +351,7 @@ func TestNATSInstanceService_RunInstances_QueueGroup(t *testing.T) { }) require.NoError(t, err) - _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "hive-workers", func(msg *nats.Msg) { + _, err = nc.QueueSubscribe("ec2.RunInstances.t3.micro", "spinifex-workers", func(msg *nats.Msg) { worker2Count++ reservation := createValidReservation() responseData, _ := json.Marshal(reservation) diff --git a/spinifex/services/viperblockd/viperblockd.go b/spinifex/services/viperblockd/viperblockd.go index a499d084d..76107a89a 100644 --- a/spinifex/services/viperblockd/viperblockd.go +++ b/spinifex/services/viperblockd/viperblockd.go @@ -168,7 +168,7 @@ func launchService(cfg *Config) (err error) { slog.Info("Waiting for EBS events (single-node mode)") } - if _, err := nc.QueueSubscribe("ebs.delete", "hive-workers", func(msg *nats.Msg) { + if _, err := nc.QueueSubscribe("ebs.delete", "spinifex-workers", func(msg *nats.Msg) { slog.Info("Received ebs.delete message", "data", string(msg.Data)) var ebsRequest types.EBSDeleteRequest @@ -252,7 +252,7 @@ func launchService(cfg *Config) (err error) { if cfg.NodeName != "" { return nc.Subscribe(topic, handler) } - return nc.QueueSubscribe(topic, "hive-workers", handler) + return nc.QueueSubscribe(topic, "spinifex-workers", handler) } if _, err := unmountSubscribe(unmountTopic, func(msg *nats.Msg) { slog.Info("Received message", "data", string(msg.Data)) @@ -342,7 +342,7 @@ func launchService(cfg *Config) (err error) { return fmt.Errorf("failed to subscribe to %s: %w", unmountTopic, err) } - if _, err := nc.QueueSubscribe("ebs.sync", "hive-workers", func(msg *nats.Msg) { + if _, err := nc.QueueSubscribe("ebs.sync", "spinifex-workers", func(msg *nats.Msg) { slog.Info("Received ebs.sync message", "data", string(msg.Data)) var syncRequest types.EBSSyncRequest @@ -409,7 +409,7 @@ func launchService(cfg *Config) (err error) { if cfg.NodeName != "" { return nc.Subscribe(topic, handler) } - return nc.QueueSubscribe(topic, "hive-workers", handler) + return nc.QueueSubscribe(topic, "spinifex-workers", handler) } if _, err := mountSubscribe(mountTopic, func(msg *nats.Msg) { slog.Info("Received message:", "data", string(msg.Data)) diff --git a/spinifex/types/node.go b/spinifex/types/node.go index efd2fe86e..be1758fb8 100644 --- a/spinifex/types/node.go +++ b/spinifex/types/node.go @@ -5,7 +5,7 @@ type NodeDiscoverResponse struct { Node string `json:"node"` } -// NodeStatusResponse is returned by the hive.node.status NATS topic (fan-out). +// NodeStatusResponse is returned by the spinifex.node.status NATS topic (fan-out). type NodeStatusResponse struct { Node string `json:"node"` Status string `json:"status"` @@ -40,7 +40,7 @@ type VMInfo struct { LaunchTime int64 `json:"launch_time"` } -// NodeVMsResponse is returned by the hive.node.vms NATS topic (fan-out). +// NodeVMsResponse is returned by the spinifex.node.vms NATS topic (fan-out). type NodeVMsResponse struct { Node string `json:"node"` Host string `json:"host"` From c11ac04892de205c39ad4c8751916c75fa4a7e42 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:06:55 +0000 Subject: [PATCH 08/12] refactor: rename frontend UI branding from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - package.json: name → spinifex-ui - index.html: page title → Spinifex Control Panel - sidebar-layout: Mulga Hive → Mulga Spinifex - auth.ts: localStorage key → spinifex:v1:aws-credentials - main.tsx: theme storage key → spinifex-ui-theme - spinifexui_test.go: update service name assertion --- spinifex/services/spinifexui/frontend/index.html | 2 +- spinifex/services/spinifexui/frontend/package.json | 2 +- .../frontend/src/layouts/sidebar-layout.tsx | 6 +++--- .../spinifexui/frontend/src/lib/auth.test.ts | 12 ++++++------ .../services/spinifexui/frontend/src/lib/auth.ts | 2 +- spinifex/services/spinifexui/frontend/src/main.tsx | 2 +- spinifex/services/spinifexui/spinifexui_test.go | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/spinifex/services/spinifexui/frontend/index.html b/spinifex/services/spinifexui/frontend/index.html index 6268e9a79..a8dbb1122 100644 --- a/spinifex/services/spinifexui/frontend/index.html +++ b/spinifex/services/spinifexui/frontend/index.html @@ -5,7 +5,7 @@ - +
diff --git a/spinifex/services/spinifexui/frontend/package.json b/spinifex/services/spinifexui/frontend/package.json index 812a7d7a7..97a82260a 100644 --- a/spinifex/services/spinifexui/frontend/package.json +++ b/spinifex/services/spinifexui/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "hive-ui", + "name": "spinifex-ui", "private": true, "type": "module", "scripts": { diff --git a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx index 92fe50320..201cd7a64 100644 --- a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx +++ b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx @@ -260,12 +260,12 @@ export function SidebarLayout() { {...props} > - + MH
- Mulga Hive - hive@mulgadc.com + Mulga Spinifex + spinifex@mulgadc.com
diff --git a/spinifex/services/spinifexui/frontend/src/lib/auth.test.ts b/spinifex/services/spinifexui/frontend/src/lib/auth.test.ts index 069a407ad..dd24818ba 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/auth.test.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/auth.test.ts @@ -27,7 +27,7 @@ afterEach(() => { describe("setCredentials", () => { it("stores credentials in localStorage", () => { setCredentials(validCreds) - const stored = localStorage.getItem("hive:v1:aws-credentials") + const stored = localStorage.getItem("spinifex:v1:aws-credentials") expect(JSON.parse(stored ?? "")).toEqual(validCreds) }) @@ -45,7 +45,7 @@ describe("getCredentials", () => { }) it("reads from localStorage on first call", () => { - localStorage.setItem("hive:v1:aws-credentials", JSON.stringify(validCreds)) + localStorage.setItem("spinifex:v1:aws-credentials", JSON.stringify(validCreds)) expect(getCredentials()).toEqual(validCreds) }) @@ -58,13 +58,13 @@ describe("getCredentials", () => { }) it("returns null for invalid JSON in localStorage", () => { - localStorage.setItem("hive:v1:aws-credentials", "not-json") + localStorage.setItem("spinifex:v1:aws-credentials", "not-json") expect(getCredentials()).toBeNull() }) it("returns null when stored data fails schema validation", () => { localStorage.setItem( - "hive:v1:aws-credentials", + "spinifex:v1:aws-credentials", JSON.stringify({ accessKeyId: "short", secretAccessKey: "" }), ) expect(getCredentials()).toBeNull() @@ -72,7 +72,7 @@ describe("getCredentials", () => { it("returns null when stored object is missing fields", () => { localStorage.setItem( - "hive:v1:aws-credentials", + "spinifex:v1:aws-credentials", JSON.stringify({ accessKeyId: "AKIAIOSFODNN7EXAMPLE" }), ) expect(getCredentials()).toBeNull() @@ -83,7 +83,7 @@ describe("clearCredentials", () => { it("removes credentials from localStorage", () => { setCredentials(validCreds) clearCredentials() - expect(localStorage.getItem("hive:v1:aws-credentials")).toBeNull() + expect(localStorage.getItem("spinifex:v1:aws-credentials")).toBeNull() }) it("clears the in-memory cache", () => { diff --git a/spinifex/services/spinifexui/frontend/src/lib/auth.ts b/spinifex/services/spinifexui/frontend/src/lib/auth.ts index 4718a6818..03b90b388 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/auth.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/auth.ts @@ -1,7 +1,7 @@ import { z } from "zod" // Versioned storage key - increment version when schema changes -const STORAGE_KEY = "hive:v1:aws-credentials" +const STORAGE_KEY = "spinifex:v1:aws-credentials" export const awsCredentialsSchema = z.object({ accessKeyId: z diff --git a/spinifex/services/spinifexui/frontend/src/main.tsx b/spinifex/services/spinifexui/frontend/src/main.tsx index 1200f0413..565e4d732 100644 --- a/spinifex/services/spinifexui/frontend/src/main.tsx +++ b/spinifex/services/spinifexui/frontend/src/main.tsx @@ -40,7 +40,7 @@ if (rootElement && !rootElement.innerHTML) { const root = ReactDOM.createRoot(rootElement) root.render( - + diff --git a/spinifex/services/spinifexui/spinifexui_test.go b/spinifex/services/spinifexui/spinifexui_test.go index 5ce7b0d9e..581ff1137 100644 --- a/spinifex/services/spinifexui/spinifexui_test.go +++ b/spinifex/services/spinifexui/spinifexui_test.go @@ -107,7 +107,7 @@ func TestStatus_ReturnsValidState(t *testing.T) { status, err := svc.Status() assert.NoError(t, err) - // On a dev machine the hive-ui PID file may exist, so accept either outcome + // On a dev machine the spinifex-ui PID file may exist, so accept either outcome assert.True(t, status == "stopped" || len(status) > 0, "status should be non-empty") } @@ -121,7 +121,7 @@ func TestReload_ReturnsNil(t *testing.T) { } func TestServiceName(t *testing.T) { - assert.Equal(t, "hive-ui", serviceName) + assert.Equal(t, "spinifex-ui", serviceName) } func TestSecurityHeadersMiddleware(t *testing.T) { From 55186d95f2be134b2eb48c41669d7e07d8d6b840 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:09:02 +0000 Subject: [PATCH 09/12] refactor: rename CI/CD workflows from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename hive.yml → spinifex.yml - Update workflow names, path triggers, working directories - Update release.yml tarball references - Update e2e.yml test paths - Update ui.yml frontend paths --- .github/workflows/e2e.yml | 8 +++--- .github/workflows/release.yml | 12 ++++----- .github/workflows/{hive.yml => spinifex.yml} | 28 ++++++++++---------- .github/workflows/ui.yml | 12 ++++----- 4 files changed, 30 insertions(+), 30 deletions(-) rename .github/workflows/{hive.yml => spinifex.yml} (82%) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 725f13b1c..da9d2f4d3 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,4 +1,4 @@ -name: Hive E2E Tests +name: Spinifex E2E Tests on: push: @@ -64,7 +64,7 @@ jobs: SSH_KEY=$(echo "$INVENTORY" | jq -r '.ssh_key_path') SSH_KEY="${SSH_KEY/#\~/$HOME}" ssh -o StrictHostKeyChecking=no -i "$SSH_KEY" tf-user@${WAN_IP} \ - 'cd ~/Development/mulga/hive && ./tests/e2e/run-e2e.sh' + 'cd ~/Development/mulga/spinifex && ./tests/e2e/run-e2e.sh' - name: Teardown if: always() @@ -121,7 +121,7 @@ jobs: SSH_KEY=$(echo "$INVENTORY" | jq -r '.ssh_key_path') SSH_KEY="${SSH_KEY/#\~/$HOME}" ssh -o StrictHostKeyChecking=no -i "$SSH_KEY" tf-user@${WAN_IP} \ - 'cd ~/Development/mulga/hive && ./tests/e2e/run-pseudo-multinode-e2e.sh' + 'cd ~/Development/mulga/spinifex && ./tests/e2e/run-pseudo-multinode-e2e.sh' - name: Teardown if: always() @@ -185,7 +185,7 @@ jobs: done ssh -o StrictHostKeyChecking=no -i "$SSH_KEY" tf-user@${NODE1_IP} \ - "cd ~/Development/mulga/hive && ./tests/e2e/run-multinode-e2e.sh ${NODE_IPS}" + "cd ~/Development/mulga/spinifex && ./tests/e2e/run-multinode-e2e.sh ${NODE_IPS}" - name: Teardown if: always() diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 849c207e9..e9ebdaaec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,10 +11,10 @@ jobs: distro: runs-on: ubuntu-24.04 steps: - - name: Checkout Hive + - name: Checkout Spinifex uses: actions/checkout@v6 with: - path: hive + path: spinifex - name: Checkout Predastore uses: actions/checkout@v6 @@ -35,13 +35,13 @@ jobs: uses: docker/setup-qemu-action@v3 - name: Build distribution tarballs - run: cd hive && make distro VERSION=${{ github.ref_name }} + run: cd spinifex cd hive &&cd hive && make distro VERSION=${{ github.ref_name }} - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: files: | - hive/dist/*.tar.gz - hive/dist/*.sha256 - hive/scripts/setup.sh + spinifex/dist/*.tar.gz + spinifex/dist/*.sha256 + spinifex/scripts/setup.sh generate_release_notes: true diff --git a/.github/workflows/hive.yml b/.github/workflows/spinifex.yml similarity index 82% rename from .github/workflows/hive.yml rename to .github/workflows/spinifex.yml index 6217113c2..e1a9c7de4 100644 --- a/.github/workflows/hive.yml +++ b/.github/workflows/spinifex.yml @@ -1,4 +1,4 @@ -name: Hive Build and Test +name: Spinifex Build and Test on: push: @@ -15,11 +15,11 @@ on: jobs: build_and_test: - name: Hive Build and Test + name: Spinifex Build and Test runs-on: ubuntu-24.04 steps: - - name: Checkout Hive + - name: Checkout Spinifex uses: actions/checkout@v6 with: path: hive @@ -40,13 +40,13 @@ jobs: - name: Setup Go uses: actions/setup-go@v6 with: - cache-dependency-path: "hive/go.sum" - go-version-file: "hive/go.mod" + cache-dependency-path: "spinifex/go.sum" + go-version-file: "spinifex/go.mod" - name: Setup Go Workspace run: go work init ./hive ./viperblock ./predastore - - name: Build Hive + - name: Build Spinifex run: make -C hive build - name: Run Tests with Coverage @@ -56,11 +56,11 @@ jobs: run: cd hive && scripts/diff-coverage.sh coverage.out --base HEAD~1 race_detection: - name: Hive Race Detection + name: Spinifex Race Detection runs-on: ubuntu-24.04 steps: - - name: Checkout Hive + - name: Checkout Spinifex uses: actions/checkout@v6 with: path: hive @@ -80,8 +80,8 @@ jobs: - name: Setup Go uses: actions/setup-go@v6 with: - cache-dependency-path: "hive/go.sum" - go-version-file: "hive/go.mod" + cache-dependency-path: "spinifex/go.sum" + go-version-file: "spinifex/go.mod" - name: Setup Go Workspace run: go work init ./hive ./viperblock ./predastore @@ -90,11 +90,11 @@ jobs: run: make -C hive test-race lint_and_security: - name: Hive Lint and Security + name: Spinifex Lint and Security runs-on: ubuntu-24.04 steps: - - name: Checkout Hive + - name: Checkout Spinifex uses: actions/checkout@v6 with: path: hive @@ -114,8 +114,8 @@ jobs: - name: Setup Go uses: actions/setup-go@v6 with: - cache-dependency-path: "hive/go.sum" - go-version-file: "hive/go.mod" + cache-dependency-path: "spinifex/go.sum" + go-version-file: "spinifex/go.mod" - name: Setup Go Workspace run: go work init ./hive ./viperblock ./predastore diff --git a/.github/workflows/ui.yml b/.github/workflows/ui.yml index b8c1d9bb8..1c7522690 100644 --- a/.github/workflows/ui.yml +++ b/.github/workflows/ui.yml @@ -6,7 +6,7 @@ on: - main - dev paths: - - hive/services/hiveui/frontend/** + - spinifex/services/spinifexui/frontend/** - .github/workflows/ui.yml workflow_dispatch: @@ -16,25 +16,25 @@ jobs: runs-on: ubuntu-24.04 defaults: run: - working-directory: hive/services/hiveui/frontend + working-directory: spinifex/services/spinifexui/frontend steps: - name: Checkout Code uses: actions/checkout@v6 with: - sparse-checkout: hive/services/hiveui/frontend + sparse-checkout: spinifex/services/spinifexui/frontend - name: Setup pnpm uses: pnpm/action-setup@v4 with: - package_json_file: hive/services/hiveui/frontend/package.json + package_json_file: spinifex/services/spinifexui/frontend/package.json - name: Setup Node.js uses: actions/setup-node@v6 with: cache: "pnpm" - cache-dependency-path: hive/services/hiveui/frontend/pnpm-lock.yaml - node-version-file: hive/services/hiveui/frontend/.nvmrc + cache-dependency-path: spinifex/services/spinifexui/frontend/pnpm-lock.yaml + node-version-file: spinifex/services/spinifexui/frontend/.nvmrc - name: Install Dependencies run: pnpm install --frozen-lockfile From 48012a4058bc26463e4b6fb5da92949e8254d364 Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:19:05 +0000 Subject: [PATCH 10/12] refactor: rename all documentation from hive to spinifex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename .claude/rules/hive.md → spinifex.md - Update CLAUDE.md component description - Rename doc directories: hive-admin-cli → spinifex-admin-cli, etc. - Rename doc files: hive-cluster-stats, hive-code-consolidation, etc. - Bulk update all markdown files across docs/ tree - Update internal docs: CLUSTER-INSTALL, TESTING, DEVNOTES, BRANCHES --- INSTALL.md | 4 +- README.md | 30 +- config/README.md | 88 ++--- docs/COMMANDS.md | 124 +++---- docs/DESIGN.md | 52 +-- docs/INSTALL_ORIGINAL.md | 318 +++++++++--------- docs/README.md | 4 +- docs/creating-accounts/README.md | 12 +- docs/creating-an-environment/README.md | 38 +-- docs/hybrid-sync/README.md | 20 +- .../README.md | 18 +- .../README.md | 76 ++--- .../README.md | 66 ++-- docs/launching-instances/README.md | 26 +- docs/moving-aws-workload/README.md | 20 +- docs/source-install/README.md | 30 +- .../README.md | 38 +-- docs/vpc-networking/README.md | 14 +- scripts/PERFORMANCE.md | 96 +++--- scripts/iac/README.md | 6 +- scripts/iac/aws/README.md | 18 +- scripts/iac/proxmox-template/README.md | 10 +- scripts/iac/proxmox/README.md | 26 +- spinifex/handlers/NATS_HANDLER_NAMING.md | 10 +- spinifex/services/spinifexui/README.md | 6 +- tests/e2e/TEST_COVERAGE.md | 54 +-- 26 files changed, 602 insertions(+), 602 deletions(-) rename docs/{installing-hive-airgapped => installing-spinifex-airgapped}/README.md (78%) rename docs/{installing-hive-multi-node => installing-spinifex-multi-node}/README.md (74%) rename docs/{installing-hive => installing-spinifex}/README.md (56%) rename docs/{hive-admin-cli => spinifex-admin-cli}/README.md (55%) diff --git a/INSTALL.md b/INSTALL.md index a8e01aef8..137667c3f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,3 +1,3 @@ -# Hive Installation +# Spinifex Installation -For documentation on using and installing Hive see [https://docs.mulgadc.com](https://docs.mulgadc.com/) +For documentation on using and installing Spinifex see [https://docs.mulgadc.com](https://docs.mulgadc.com/) diff --git a/README.md b/README.md index 4e1649ff6..8d931afee 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Hive: An Open Source AWS-Compatible Stack for Bare-Metal, Edge, and On-Prem Deployments +# Spinifex: An Open Source AWS-Compatible Stack for Bare-Metal, Edge, and On-Prem Deployments -(Developer Preview) - Hive developed by [Mulga Defense Corporation](https://mulgadc.com/) is an open source infrastructure platform that brings the core services of AWS—like EC2, VPC, EBS, and S3—to environments where running in the cloud isn't an option. Whether you're deploying to edge sites, private data-centers, or need to operate in low-connectivity or highly contested environments, Hive gives you AWS-style workflows on your own hardware. +(Developer Preview) - Spinifex developed by [Mulga Defense Corporation](https://mulgadc.com/) is an open source infrastructure platform that brings the core services of AWS—like EC2, VPC, EBS, and S3—to environments where running in the cloud isn't an option. Whether you're deploying to edge sites, private data-centers, or need to operate in low-connectivity or highly contested environments, Spinifex gives you AWS-style workflows on your own hardware. -## What is Hive? +## What is Spinifex? -Hive replicates essential AWS primitives—virtual machines, block volumes, and object storage—using lightweight, self-contained components that are easy to deploy and integrate. +Spinifex replicates essential AWS primitives—virtual machines, block volumes, and object storage—using lightweight, self-contained components that are easy to deploy and integrate. It’s designed for developers and operators who need: @@ -13,13 +13,13 @@ It’s designed for developers and operators who need: - Drop-in compatibility with tools like the AWS CLI, SDKs, and Terraform - A secure cloud environment you control and own the entire hardware, network and software stack -You can run Hive on a few servers in a rack, a field site, or anywhere centralized cloud services aren’t feasible. +You can run Spinifex on a few servers in a rack, a field site, or anywhere centralized cloud services aren’t feasible. ## Core Components -### Hive (Compute Service – EC2 Alternative) +### Spinifex (Compute Service – EC2 Alternative) -Hive is a minimal VM orchestration layer built on top of QEMU, exposing APIs similar to EC2. It manages lifecycle operations like start, stop, and terminate, using QEMU’s QMP interface. Designed to be straightforward and scriptable, Hive lets you launch VMs using the AWS CLI, SDKs, or Terraform—without needing Kubernetes or heavyweight orchestrators. Keep in mind, you can also setup a Kubernetes environment using Hive with underlying instances. +Spinifex is a minimal VM orchestration layer built on top of QEMU, exposing APIs similar to EC2. It manages lifecycle operations like start, stop, and terminate, using QEMU’s QMP interface. Designed to be straightforward and scriptable, Spinifex lets you launch VMs using the AWS CLI, SDKs, or Terraform—without needing Kubernetes or heavyweight orchestrators. Keep in mind, you can also setup a Kubernetes environment using Spinifex with underlying instances. - EC2-like VM management on bare metal - Launches with cloud-init metadata support @@ -54,21 +54,21 @@ AWS-Compatible Interfaces – Provision infrastructure with awscli, Terraform, o ## Installation -Installation requires an Ubuntu / Debian system. See the detailed documentation at [https://docs.mulgadc.com](https://docs.mulgadc.com/) for maintaining and installing Hive. +Installation requires an Ubuntu / Debian system. See the detailed documentation at [https://docs.mulgadc.com](https://docs.mulgadc.com/) for maintaining and installing Spinifex. ### Single node install The installation is straightforward to set up and running on a single node for testing purposes. ```bash -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex export AWS_REGION=ap-southeast-2-sc ``` ```bash curl https://install.mulgadc.com/ | bash -hive admin init --region $AWS_REGION +spx admin init --region $AWS_REGION aws ec2 describe-instance-types ``` @@ -79,7 +79,7 @@ For a complete development environment see the [Source Install](https://docs.mul ### Component Repositories -Hive coordinates these independent components: +Spinifex coordinates these independent components: - **[Predastore](https://github.com/mulgadc/predastore)** - S3-compatible object storage - **[Viperblock](https://github.com/mulgadc/viperblock)** - EBS-compatible block storage @@ -90,7 +90,7 @@ Each component can be developed independently. See component-specific documentat ### Built by Engineers, For Engineers -Hive is developed by experienced infrastructure engineers with deep AWS expertise, including former AWS team members who understand the intricacies of building production-grade cloud services. Our team brings decades of combined experience from AWS, enterprise infrastructure, and edge computing environments. +Spinifex is developed by experienced infrastructure engineers with deep AWS expertise, including former AWS team members who understand the intricacies of building production-grade cloud services. Our team brings decades of combined experience from AWS, enterprise infrastructure, and edge computing environments. **Real-World Experience:** @@ -101,7 +101,7 @@ Hive is developed by experienced infrastructure engineers with deep AWS expertis ### AI-Assisted Development -While Hive is architected and implemented by experienced engineers, we leverage **Claude Code** (Anthropic's AI coding assistant) to accelerate certain development tasks. This approach combines human expertise with AI efficiency: +While Spinifex is architected and implemented by experienced engineers, we leverage **Claude Code** (Anthropic's AI coding assistant) to accelerate certain development tasks. This approach combines human expertise with AI efficiency: **How We Use Claude Code:** @@ -117,8 +117,8 @@ While Hive is architected and implemented by experienced engineers, we leverage - **Performance Optimization**: Real-world performance tuning and benchmarking - **Production Operations**: Deployment strategies and operational procedures -This hybrid approach ensures Hive benefits from both proven engineering expertise and modern development acceleration, while maintaining the quality and reliability standards required for production infrastructure. +This hybrid approach ensures Spinifex benefits from both proven engineering expertise and modern development acceleration, while maintaining the quality and reliability standards required for production infrastructure. ## License -Hive is open source under the Apache 2.0 License. You're free to use, modify, and deploy it—anywhere you need reliable infrastructure without depending on centralized cloud platforms. +Spinifex is open source under the Apache 2.0 License. You're free to use, modify, and deploy it—anywhere you need reliable infrastructure without depending on centralized cloud platforms. diff --git a/config/README.md b/config/README.md index 69faa1467..8fcb009f2 100644 --- a/config/README.md +++ b/config/README.md @@ -1,71 +1,71 @@ -# Hive Systemd Service +# Spinifex Systemd Service -This directory contains the systemd service configuration for running Hive services on Ubuntu and Debian systems. +This directory contains the systemd service configuration for running Spinifex services on Ubuntu and Debian systems. ## Files -- `hive.service` - The systemd service file that manages all Hive services -- `install-hive-service.sh` - Installation script to set up the service +- `spinifex.service` - The systemd service file that manages all Spinifex services +- `install-spinifex-service.sh` - Installation script to set up the service - `README.md` - This documentation file ## Installation ### Prerequisites -1. Ensure Hive is installed in `/opt/hive/` -2. Ensure the `hive` binary is available at `/opt/hive/bin/hive` +1. Ensure Spinifex is installed in `/opt/spinifex/` +2. Ensure the `spx` binary is available at `/opt/spinifex/bin/spx` 3. Run the installation script as root ### Setup Configuration ``` -/opt/hive/bin/hive admin init +/opt/spinifex/bin/spx admin init ``` -This will init the Hive environment and create the default configuration files in the home directory, e.g `~/hive/`. +This will init the Spinifex environment and create the default configuration files in the home directory, e.g `~/spinifex/`. ``` -/home/username/hive: +/home/username/spinifex: amis config images logs nats predastore state viperblock volumes -/home/username/hive/amis: +/home/username/spinifex/amis: -/home/username/hive/config: -awsgw hive.toml nats predastore server.key server.pem +/home/username/spinifex/config: +awsgw spinifex.toml nats predastore server.key server.pem -/home/username/hive/config/awsgw: +/home/username/spinifex/config/awsgw: awsgw.toml -/home/username/hive/config/nats: +/home/username/spinifex/config/nats: nats.conf -/home/username/hive/config/predastore: +/home/username/spinifex/config/predastore: predastore.toml -/home/username/hive/images: +/home/username/spinifex/images: -/home/username/hive/logs: -awsgw.log awsgw.pid hive.log hive.pid nats.log nats.pid predastore.log predastore.pid viperblock.log viperblock.pid +/home/username/spinifex/logs: +awsgw.log awsgw.pid spinifex.log spinifex.pid nats.log nats.pid predastore.log predastore.pid viperblock.log viperblock.pid -/home/username/hive/nats: +/home/username/spinifex/nats: -/home/username/hive/predastore: +/home/username/spinifex/predastore: data -/home/username/hive/predastore/data: +/home/username/spinifex/predastore/data: predastore -/home/ben/hive/state: +/home/ben/spinifex/state: -/home/ben/hive/viperblock: +/home/ben/spinifex/viperblock: -/home/ben/hive/volumes: +/home/ben/spinifex/volumes: ``` ### Quick Installation ```bash -sudo ./config/install-hive-service.sh +sudo ./config/install-spinifex-service.sh ``` ### Manual Installation @@ -74,7 +74,7 @@ If you prefer to install manually: 1. Copy the service file: ```bash - sudo cp config/hive.service /etc/systemd/system/ + sudo cp config/spinifex.service /etc/systemd/system/ ``` 2. Reload systemd: @@ -84,44 +84,44 @@ If you prefer to install manually: 3. Enable the service: ```bash - sudo systemctl enable hive.service + sudo systemctl enable spinifex.service ``` ## Service Management ### Start the service ```bash -sudo systemctl start hive +sudo systemctl start spinifex ``` ### Stop the service ```bash -sudo systemctl stop hive +sudo systemctl stop spinifex ``` ### Check service status ```bash -sudo systemctl status hive +sudo systemctl status spinifex ``` ### Restart the service ```bash -sudo systemctl restart hive +sudo systemctl restart spinifex ``` ### View service logs ```bash -sudo journalctl -u hive -f +sudo journalctl -u spinifex -f ``` ### Disable auto-start ```bash -sudo systemctl disable hive +sudo systemctl disable spinifex ``` ## Service Details -The `hive.service` file: +The `spinifex.service` file: - Starts services in the correct order: NATS → Predastore → Viperblock - Includes proper delays between service starts to ensure dependencies are ready @@ -143,41 +143,41 @@ The service starts the following components in order: ### Check if the service is running ```bash -sudo systemctl is-active hive +sudo systemctl is-active spinifex ``` ### View recent logs ```bash -sudo journalctl -u hive --since "1 hour ago" +sudo journalctl -u spinifex --since "1 hour ago" ``` ### Check service configuration ```bash -sudo systemctl cat hive +sudo systemctl cat spinifex ``` ### Verify binary exists ```bash -ls -la /opt/hive/bin/hive +ls -la /opt/spinifex/bin/spx ``` ### Test service commands manually ```bash -/opt/hive/bin/hive service nats start -/opt/hive/bin/hive service predastore start -/opt/hive/bin/hive service viperblock start +/opt/spinifex/bin/spx service nats start +/opt/spinifex/bin/spx service predastore start +/opt/spinifex/bin/spx service viperblock start ``` ## Customization If you need to modify the service configuration: -1. Edit the service file: `sudo nano /etc/systemd/system/hive.service` +1. Edit the service file: `sudo nano /etc/systemd/system/spinifex.service` 2. Reload systemd: `sudo systemctl daemon-reload` -3. Restart the service: `sudo systemctl restart hive` +3. Restart the service: `sudo systemctl restart spinifex` ## Security Notes - The service runs as root, which is necessary for system-level services - Security hardening is enabled with `ProtectSystem=strict` and `NoNewPrivileges=true` -- Only specific paths are writable: `/opt/hive`, `/var/log`, `/var/run` \ No newline at end of file +- Only specific paths are writable: `/opt/spinifex`, `/var/log`, `/var/run` \ No newline at end of file diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index c8c379c84..4265b66ea 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -1,36 +1,36 @@ # Command Implementation Matrix -## Hive Admin CLI +## Spinifex Admin CLI Platform management commands not exposed via the AWS gateway API. These are CLI-only commands. ### Service Management -Service lifecycle commands for starting, stopping, and checking status of all Hive cluster services. Each service subcommand supports `start`, `stop`, and `status` operations. +Service lifecycle commands for starting, stopping, and checking status of all Spinifex cluster services. Each service subcommand supports `start`, `stop`, and `status` operations. | Command | Flags | Prerequisites | Basic Logic | Status | |---------|-------|---------------|-------------|--------| -| `hive service predastore start` | `--port` (default: 8443), `--host` (default: 0.0.0.0), `--base-path`, `--config-path`, `--debug`, `--tls-cert`, `--tls-key`, `--backend` (distributed/filesystem, default: distributed), `--node-id` (default: 0), `--pprof`, `--pprof-output` | TLS cert/key, base-path, config-path required | Creates predastore service instance with S3-compatible storage backend → starts service | **DONE** | -| `hive service predastore stop` | — | Predastore must be running | Stops the predastore service | **DONE** | -| `hive service predastore status` | — | None | Reports predastore service status | **DONE** | -| `hive service viperblock start` | `--s3-host` (default: 0.0.0.0:8443), `--s3-bucket` (default: predastore), `--s3-region` (default: ap-southeast-2), `--plugin-path` (default: /opt/hive/lib/nbdkit-viperblock-plugin.so) | `--config` required, plugin-path must exist on disk | Loads cluster config → connects to NATS and Predastore → starts viperblock block storage service with NBD plugin | **DONE** | -| `hive service viperblock stop` | — | Viperblock must be running | Stops the viperblock service | **DONE** | -| `hive service viperblock status` | — | None | Reports viperblock service status | **DONE** | -| `hive service nats start` | `--port` (default: 4222), `--host` (default: 0.0.0.0), `--debug`, `--data-dir`, `--jetstream` | None | Starts embedded NATS server with optional JetStream | **DONE** | -| `hive service nats stop` | — | NATS must be running | Stops the NATS service | **DONE** | -| `hive service nats status` | — | None | Reports NATS service status | **DONE** | -| `hive service hive start` | `--wal-dir` | `--config` required | Loads cluster config → starts hive daemon (VM orchestration, NATS subscriptions, health endpoint) | **DONE** | -| `hive service hive stop` | — | Hive daemon must be running | Stops the hive daemon service | **DONE** | -| `hive service hive status` | — | None | Reports hive daemon service status | **DONE** | -| `hive service awsgw start` | `--host` (default: 0.0.0.0:9999), `--tls-cert`, `--tls-key`, `--debug` | `--config` required | Loads cluster config → starts AWS-compatible gateway with SigV4 auth, IAM policy enforcement, TLS | **DONE** | -| `hive service awsgw stop` | — | AWS gateway must be running | Stops the AWS gateway service | **DONE** | -| `hive service awsgw status` | — | None | Reports AWS gateway service status | **DONE** | -| `hive service hive-ui start` | `--port` (default: 3000), `--host` (default: 0.0.0.0), `--tls-cert`, `--tls-key` | None | Starts embedded web UI server serving the React frontend. Aliases: `ui`, `hiveui` | **DONE** | -| `hive service hive-ui stop` | — | hive-ui must be running | Stops the hive-ui service | **DONE** | -| `hive service hive-ui status` | — | None | Reports hive-ui service status | **DONE** | -| `hive service vpcd start` | — | `--config` required, OVN/OVS installed | Loads cluster config → starts VPC daemon (subscribes to `vpc.*` NATS events, translates to OVN logical switches/ports/routers) | **DONE** | -| `hive service vpcd stop` | — | vpcd must be running | Stops the vpcd service | **DONE** | -| `hive service vpcd status` | — | None | Reports vpcd service status | **DONE** | +| `spx service predastore start` | `--port` (default: 8443), `--host` (default: 0.0.0.0), `--base-path`, `--config-path`, `--debug`, `--tls-cert`, `--tls-key`, `--backend` (distributed/filesystem, default: distributed), `--node-id` (default: 0), `--pprof`, `--pprof-output` | TLS cert/key, base-path, config-path required | Creates predastore service instance with S3-compatible storage backend → starts service | **DONE** | +| `spx service predastore stop` | — | Predastore must be running | Stops the predastore service | **DONE** | +| `spx service predastore status` | — | None | Reports predastore service status | **DONE** | +| `spx service viperblock start` | `--s3-host` (default: 0.0.0.0:8443), `--s3-bucket` (default: predastore), `--s3-region` (default: ap-southeast-2), `--plugin-path` (default: /opt/spinifex/lib/nbdkit-viperblock-plugin.so) | `--config` required, plugin-path must exist on disk | Loads cluster config → connects to NATS and Predastore → starts viperblock block storage service with NBD plugin | **DONE** | +| `spx service viperblock stop` | — | Viperblock must be running | Stops the viperblock service | **DONE** | +| `spx service viperblock status` | — | None | Reports viperblock service status | **DONE** | +| `spx service nats start` | `--port` (default: 4222), `--host` (default: 0.0.0.0), `--debug`, `--data-dir`, `--jetstream` | None | Starts embedded NATS server with optional JetStream | **DONE** | +| `spx service nats stop` | — | NATS must be running | Stops the NATS service | **DONE** | +| `spx service nats status` | — | None | Reports NATS service status | **DONE** | +| `spx service spinifex start` | `--wal-dir` | `--config` required | Loads cluster config → starts spinifex daemon (VM orchestration, NATS subscriptions, health endpoint) | **DONE** | +| `spx service spinifex stop` | — | Spinifex daemon must be running | Stops the spinifex daemon service | **DONE** | +| `spx service spinifex status` | — | None | Reports spinifex daemon service status | **DONE** | +| `spx service awsgw start` | `--host` (default: 0.0.0.0:9999), `--tls-cert`, `--tls-key`, `--debug` | `--config` required | Loads cluster config → starts AWS-compatible gateway with SigV4 auth, IAM policy enforcement, TLS | **DONE** | +| `spx service awsgw stop` | — | AWS gateway must be running | Stops the AWS gateway service | **DONE** | +| `spx service awsgw status` | — | None | Reports AWS gateway service status | **DONE** | +| `spx service spinifex-ui start` | `--port` (default: 3000), `--host` (default: 0.0.0.0), `--tls-cert`, `--tls-key` | None | Starts embedded web UI server serving the React frontend. Aliases: `ui`, `spinifexui` | **DONE** | +| `spx service spinifex-ui stop` | — | spinifex-ui must be running | Stops the spinifex-ui service | **DONE** | +| `spx service spinifex-ui status` | — | None | Reports spinifex-ui service status | **DONE** | +| `spx service vpcd start` | — | `--config` required, OVN/OVS installed | Loads cluster config → starts VPC daemon (subscribes to `vpc.*` NATS events, translates to OVN logical switches/ports/routers) | **DONE** | +| `spx service vpcd stop` | — | vpcd must be running | Stops the vpcd service | **DONE** | +| `spx service vpcd status` | — | None | Reports vpcd service status | **DONE** | ### Cluster Inspection @@ -38,41 +38,41 @@ Operational commands for inspecting cluster state. These fan out NATS requests t | Command | Flags | Prerequisites | Basic Logic | Output Columns | Status | |---------|-------|---------------|-------------|----------------|--------| -| `hive get nodes` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Loads config → publishes to `hive.node.status` fan-out topic → collects responses within timeout → merges config-known nodes with NATS responders → nodes that don't respond shown as `NotReady` | NAME, STATUS, IP, REGION, AZ, UPTIME, VMs, SERVICES | **DONE** | -| `hive get vms` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Publishes to `hive.node.vms` fan-out topic → collects VM info from all nodes → sorts by node then instance ID → prints table. Alias: `hive get instances` | INSTANCE, STATUS, TYPE, VCPU, MEM, NODE, IP, AGE | **DONE** | +| `spx get nodes` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Loads config → publishes to `spinifex.node.status` fan-out topic → collects responses within timeout → merges config-known nodes with NATS responders → nodes that don't respond shown as `NotReady` | NAME, STATUS, IP, REGION, AZ, UPTIME, VMs, SERVICES | **DONE** | +| `spx get vms` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Publishes to `spinifex.node.vms` fan-out topic → collects VM info from all nodes → sorts by node then instance ID → prints table. Alias: `spx get instances` | INSTANCE, STATUS, TYPE, VCPU, MEM, NODE, IP, AGE | **DONE** | ### Resource Monitoring | Command | Flags | Prerequisites | Basic Logic | Output | Status | |---------|-------|---------------|-------------|--------|--------| -| `hive top nodes` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Publishes to `hive.node.status` fan-out topic → collects CPU/memory usage per node → aggregates instance type capacity across all nodes → prints two tables: per-node resource usage and cluster-wide instance type availability | Table 1: NAME, CPU (used/total), MEM (used/total), VMs. Table 2: INSTANCE TYPE, AVAILABLE, VCPU, MEMORY | **DONE** | +| `spx top nodes` | `--timeout` (default: 3s) | Cluster must be running (NATS) | Publishes to `spinifex.node.status` fan-out topic → collects CPU/memory usage per node → aggregates instance type capacity across all nodes → prints two tables: per-node resource usage and cluster-wide instance type availability | Table 1: NAME, CPU (used/total), MEM (used/total), VMs. Table 2: INSTANCE TYPE, AVAILABLE, VCPU, MEMORY | **DONE** | ### Cluster Initialization | Command | Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------|---------------|-------------|------------|--------| -| `hive admin init` | `--nodes`, `--node`, `--bind`, `--port`, `--region`, `--az`, `--cluster-name`, `--cluster-bind`, `--cluster-routes`, `--predastore-nodes`, `--services`, `--formation-timeout`, `--force` | None (first-time setup) | Generates root IAM credentials (AKIA-prefixed access key + secret) → creates master.key (AES-256, 32 bytes, 0600) → writes bootstrap.json (consumed on first start) → generates CA + server TLS certificates → creates NATS config with auth token → writes hive.toml, awsgw.toml, predastore.toml → configures AWS CLI `hive` profile → creates directory structure under `~/hive/` | 1. Init creates all config files
2. Root credentials printed once
3. master.key is 32 bytes, mode 0600
4. bootstrap.json consumed on first start
5. `--force` re-initializes existing config
6. AWS CLI profile `hive` auto-configured | **DONE** | -| `hive admin join` | `--host` (required), `--node` (required), `--bind`, `--port`, `--region`, `--az`, `--cluster-bind`, `--cluster-routes`, `--data-dir`, `--services` | Leader node must be running | Connects to leader node → retrieves cluster configuration → configures local node to join cluster and participate in distributed operations | 1. Join existing cluster
2. Missing host (error)
3. Missing node name (error) | **DONE** | +| `spx admin init` | `--nodes`, `--node`, `--bind`, `--port`, `--region`, `--az`, `--cluster-name`, `--cluster-bind`, `--cluster-routes`, `--predastore-nodes`, `--services`, `--formation-timeout`, `--force` | None (first-time setup) | Generates root IAM credentials (AKIA-prefixed access key + secret) → creates master.key (AES-256, 32 bytes, 0600) → writes bootstrap.json (consumed on first start) → generates CA + server TLS certificates → creates NATS config with auth token → writes spinifex.toml, awsgw.toml, predastore.toml → configures AWS CLI `spx` profile → creates directory structure under `~/spinifex/` | 1. Init creates all config files
2. Root credentials printed once
3. master.key is 32 bytes, mode 0600
4. bootstrap.json consumed on first start
5. `--force` re-initializes existing config
6. AWS CLI profile `spx` auto-configured | **DONE** | +| `spx admin join` | `--host` (required), `--node` (required), `--bind`, `--port`, `--region`, `--az`, `--cluster-bind`, `--cluster-routes`, `--data-dir`, `--services` | Leader node must be running | Connects to leader node → retrieves cluster configuration → configures local node to join cluster and participate in distributed operations | 1. Join existing cluster
2. Missing host (error)
3. Missing node name (error) | **DONE** | ### Cluster Operations | Command | Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------|---------------|-------------|------------|--------| -| `hive admin cluster shutdown` | — | Cluster must be running | Gracefully shuts down the entire cluster | 1. Shutdown running cluster
2. All nodes stop cleanly | **DONE** | +| `spx admin cluster shutdown` | — | Cluster must be running | Gracefully shuts down the entire cluster | 1. Shutdown running cluster
2. All nodes stop cleanly | **DONE** | ### Account Management | Command | Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------|---------------|-------------|------------|--------| -| `hive admin account create` | `--name` | Cluster must be running (NATS), master key must exist | Connects to NATS → CAS loop on `hive-account-counter:next_id` for sequential 12-digit ID → creates Account record in `hive-accounts` KV → creates `admin` user in new account → creates access key for admin → creates AdministratorAccess policy (Action:*, Resource:*) → attaches policy → prints credentials | 1. Create first account (ID 000000000001)
2. Sequential IDs (000000000002, etc.)
3. Admin user has full access
4. Credentials printed once | **DONE** | -| `hive admin account list` | — | Cluster must be running (NATS), master key must exist | Connects to NATS → IAMService.ListAccounts() → prints table with Account ID, Name, Status, Created | 1. List all accounts
2. Empty list (only global account) | **DONE** | +| `spx admin account create` | `--name` | Cluster must be running (NATS), master key must exist | Connects to NATS → CAS loop on `spinifex-account-counter:next_id` for sequential 12-digit ID → creates Account record in `spinifex-accounts` KV → creates `admin` user in new account → creates access key for admin → creates AdministratorAccess policy (Action:*, Resource:*) → attaches policy → prints credentials | 1. Create first account (ID 000000000001)
2. Sequential IDs (000000000002, etc.)
3. Admin user has full access
4. Credentials printed once | **DONE** | +| `spx admin account list` | — | Cluster must be running (NATS), master key must exist | Connects to NATS → IAMService.ListAccounts() → prints table with Account ID, Name, Status, Created | 1. List all accounts
2. Empty list (only global account) | **DONE** | ### Image Management | Command | Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------|---------------|-------------|------------|--------| -| `hive admin images import` | `--name` | Cluster must be running, image file must exist locally | Imports a local disk image (QCOW2) as an AMI → uploads to Predastore S3 → registers as available AMI | 1. Import valid QCOW2 image
2. Image appears in `describe-images` | **DONE** | -| `hive admin images list` | — | None | Lists available OS images that can be imported or downloaded | 1. List available images | **DONE** | +| `spx admin images import` | `--name` | Cluster must be running, image file must exist locally | Imports a local disk image (QCOW2) as an AMI → uploads to Predastore S3 → registers as available AMI | 1. Import valid QCOW2 image
2. Image appears in `describe-images` | **DONE** | +| `spx admin images list` | — | None | Lists available OS images that can be imported or downloaded | 1. List available images | **DONE** | ## AWS Commands @@ -87,7 +87,7 @@ Operational commands for inspecting cluster state. These fan out NATS requests t | `terminate-instances` | `--instance-ids`, `DeleteOnTermination` (per-volume flag, default true) | `--dry-run` | `run-instances` (instance must exist) | Gateway sends NATS to target node → daemon kills QEMU process → cleans up NBD mounts → deletes volumes with `DeleteOnTermination=true` via `volumeService.DeleteVolume()` (S3 cleanup of vol/, vol-efi/, vol-cloudinit/) → internal volumes (EFI, cloud-init) always cleaned up via `ebs.delete` NATS → volumes with `DeleteOnTermination=false` left in available state → state→terminated | 1. Terminate running instance
2. Terminate stopped instance
3. Terminate with DeleteOnTermination=true deletes volumes
4. Terminate with DeleteOnTermination=false preserves volumes
5. Terminate already-terminated (idempotent)
6. Internal volumes (EFI, cloud-init) always cleaned up
7. Invalid instance ID | **DONE** | | `reboot-instances` | — | `--instance-ids`, `--dry-run` | `run-instances` (instance must be running) | Gateway sends NATS to target node → daemon issues QMP `system_reset` → instance reboots without stopping | 1. Reboot running instance
2. Reboot stopped instance (error)
3. Verify instance stays in running state after reboot | **NOT STARTED** (parser test exists) | | `describe-instance-types` | `--filters` (capacity filter only) | `--instance-types`, `--max-results`, `--next-token`, `--dry-run`, all other filters | None | Gateway fans out NATS `ec2.DescribeInstanceTypes` to all nodes → each daemon reports supported types (t3.micro/small/medium/large) with vCPU/memory specs → gateway deduplicates and returns | 1. List all instance types
2. Filter by specific type
3. Filter with `capacity=true` shows available slots
4. Verify vCPU/memory specs match hardware | **DONE** | -| `modify-instance-attribute` | `--instance-id`, `--instance-type`, `--user-data` | `--disable-api-termination`, `--ebs-optimized`, `--source-dest-check`, `--instance-initiated-shutdown-behavior`, `--block-device-mappings`, `--groups`, `--ena-support`, `--sriov-net-support` | Instance must be stopped (in NATS KV) | Gateway validates input (exactly one attribute per call, instance ID format) → NATS `ec2.ModifyInstanceAttribute` with `hive-workers` queue group → daemon loads stopped instance from JetStream KV → applies attribute change → writes back to KV → returns `{}` on success. **InstanceType**: updates vm.InstanceType, Config, and Instance fields; clears StateReason (enables recovery from instance-type-missing bug). **UserData**: stores decoded content in vm.UserData and re-encodes to base64 for RunInstancesInput (cloud-init on next start). No instance type pre-validation (matches AWS — invalid types accepted, fail at StartInstances time). | 1. Change instance type while stopped
2. Change user data while stopped
3. Modify running instance (error: NotFound — running instances not in KV)
4. Instance not found (error: InvalidInstanceID.NotFound)
5. Instance not stopped (error: IncorrectInstanceState)
6. Invalid instance type accepted (fails on start with InsufficientInstanceCapacity)
7. StateReason cleared on type change (recovery from capacity-unavailable)
8. Missing/malformed instance ID (error: InvalidInstanceID.Malformed)
9. No attribute set (error: InvalidParameterValue)
10. Multiple attributes in one call (error: InvalidParameterValue) | **DONE** | +| `modify-instance-attribute` | `--instance-id`, `--instance-type`, `--user-data` | `--disable-api-termination`, `--ebs-optimized`, `--source-dest-check`, `--instance-initiated-shutdown-behavior`, `--block-device-mappings`, `--groups`, `--ena-support`, `--sriov-net-support` | Instance must be stopped (in NATS KV) | Gateway validates input (exactly one attribute per call, instance ID format) → NATS `ec2.ModifyInstanceAttribute` with `spinifex-workers` queue group → daemon loads stopped instance from JetStream KV → applies attribute change → writes back to KV → returns `{}` on success. **InstanceType**: updates vm.InstanceType, Config, and Instance fields; clears StateReason (enables recovery from instance-type-missing bug). **UserData**: stores decoded content in vm.UserData and re-encodes to base64 for RunInstancesInput (cloud-init on next start). No instance type pre-validation (matches AWS — invalid types accepted, fail at StartInstances time). | 1. Change instance type while stopped
2. Change user data while stopped
3. Modify running instance (error: NotFound — running instances not in KV)
4. Instance not found (error: InvalidInstanceID.NotFound)
5. Instance not stopped (error: IncorrectInstanceState)
6. Invalid instance type accepted (fails on start with InsufficientInstanceCapacity)
7. StateReason cleared on type change (recovery from capacity-unavailable)
8. Missing/malformed instance ID (error: InvalidInstanceID.Malformed)
9. No attribute set (error: InvalidParameterValue)
10. Multiple attributes in one call (error: InvalidParameterValue) | **DONE** | | `get-console-output` | `--instance-id` | `--latest` (always returns latest), `--dry-run` | Instance must be running on a node | Gateway sends NATS `ec2.{instanceId}.GetConsoleOutput` (per-instance topic, routed to owning node) → daemon reads console log file from disk → returns last 64KB base64-encoded with timestamp. Always available regardless of serial console access setting (matches AWS behavior). | 1. Get output from running instance
2. Empty log file returns empty output
3. Instance not found (error: InvalidInstanceID.NotFound) | **DONE** | | `monitor-instances` | — | `--instance-ids` | Instance must exist | Enable basic monitoring (CPU, disk, network) → store metrics in NATS KV → return monitoring state | 1. Enable monitoring
2. Verify monitoring state in describe-instances | **NOT STARTED** | | `unmonitor-instances` | — | `--instance-ids` | Instance must exist | Disable detailed monitoring → revert to basic monitoring → return monitoring state | 1. Disable monitoring
2. Verify monitoring state reverts in describe-instances | **NOT STARTED** | @@ -121,7 +121,7 @@ Operational commands for inspecting cluster state. These fan out NATS requests t |---------|-------------------|---------------|---------------|-------------|------------|--------| | `describe-volumes` | `--volume-ids` (fast-path lookup), `DeleteOnTermination` (from persisted VolumeMetadata) | `--filters`, `--max-results`, `--next-token`, `--dry-run` | None | NATS `ec2.DescribeVolumes` → daemon queries viperblock for volume metadata → returns volume list with state, size, attachments, type, DeleteOnTermination flag | 1. List all volumes
2. Filter by volume ID
3. Filter by attachment state
4. Non-existent volume returns empty
5. DeleteOnTermination reflects persisted value | **DONE** | | `modify-volume` | `--volume-id`, `--size`, `--volume-type`, `--iops` | `--throughput`, `--dry-run`, `--multi-attach-enabled` | Volume must exist | NATS `ec2.ModifyVolume` → daemon sends resize request to viperblock → NBD does not support live resize, instance must be stopped → returns modification state | 1. Increase volume size
2. Modify volume type
3. Decrease size (error - not supported)
4. Modify attached volume (requires stop/start) | **DONE** | -| `create-volume` | `--size`, `--availability-zone`, `--volume-type` (gp3 only), `--snapshot-id` (creates volume from snapshot) | `--iops` (hardcoded 3000), `--encrypted` (hardcoded false), `--throughput`, `--tag-specifications` | Valid AZ configured via `hive init` | Gateway validates input → NATS `ec2.CreateVolume` → daemon generates vol-ID via viperblock → creates volume (empty or from snapshot) of specified size → persists config.json to Predastore S3 → returns vol-ID with state=available | 1. Create 80GB gp3 volume
2. Boundary sizes (1 GiB min, 16384 GiB max)
3. Invalid AZ (error)
4. Verify volume in describe-volumes
5. Unsupported volume type (error - only gp3)
6. Size out of range (error)
7. Create from snapshot | **DONE** | +| `create-volume` | `--size`, `--availability-zone`, `--volume-type` (gp3 only), `--snapshot-id` (creates volume from snapshot) | `--iops` (hardcoded 3000), `--encrypted` (hardcoded false), `--throughput`, `--tag-specifications` | Valid AZ configured via `spinifex init` | Gateway validates input → NATS `ec2.CreateVolume` → daemon generates vol-ID via viperblock → creates volume (empty or from snapshot) of specified size → persists config.json to Predastore S3 → returns vol-ID with state=available | 1. Create 80GB gp3 volume
2. Boundary sizes (1 GiB min, 16384 GiB max)
3. Invalid AZ (error)
4. Verify volume in describe-volumes
5. Unsupported volume type (error - only gp3)
6. Size out of range (error)
7. Create from snapshot | **DONE** | | `delete-volume` | `--volume-id` | `--dry-run` | Volume must exist and be detached (state=available) | Gateway validates vol- prefix → NATS `ec2.DeleteVolume` → daemon confirms state=available and no AttachedInstance → NATS `ebs.delete` to viperblockd (stops nbdkit/WAL) → deletes S3 objects under vol-id/, vol-id-efi/, vol-id-cloudinit/ → returns success | 1. Delete detached volume
2. Delete attached volume (error: VolumeInUse)
3. Delete non-existent volume (error: InvalidVolume.NotFound)
4. Verify volume gone from describe-volumes
5. Malformed volume ID (error: InvalidVolumeID.Malformed)
6. Double delete (idempotent NotFound) | **DONE** | | `attach-volume` | `--volume-id`, `--instance-id`, `--device` (optional, auto-assigns `/dev/sd[f-p]`) | `--dry-run` | Volume must exist (available), instance must exist (running) | Gateway sends to `ec2.cmd.{instanceId}` → daemon validates volume (Predastore) → `ebs.mount` via NATS (viperblock starts NBD server) → QMP `blockdev-add` (nbd-{volId}) → QMP `device_add` (virtio-blk-pci, vdisk-{volId}) → three-phase rollback on failure → update EBSRequests + BlockDeviceMappings → persist to JetStream + Predastore → respond with VolumeAttachment | 1. Attach volume to running instance
2. Auto-assign device name
3. Attach already-attached volume (VolumeInUse)
4. Attach to non-existent instance (InvalidInstanceID.NotFound)
5. Attach to stopped instance (IncorrectInstanceState)
6. Volume not found (InvalidVolume.NotFound)
7. All device slots full (AttachmentLimitExceeded)
8. Volume persists across stop/start | **DONE** | | `detach-volume` | `--volume-id`, `--instance-id` (optional, resolved via DescribeVolumes), `--device` (optional cross-check), `--force` | `--dry-run` | Volume must be attached, instance must be running | Gateway resolves InstanceId if omitted (via DescribeVolumes) → sends to `ec2.cmd.{instanceId}` → daemon validates (running, attached, not boot/EFI/CloudInit, device match) → three-phase hot-unplug: QMP `device_del` (force continues on failure) → QMP `blockdev-del` (abort if fails, preserves state to prevent double-attach) → `ebs.unmount` via NATS (best-effort) → remove from EBSRequests + BlockDeviceMappings → update volume metadata to available → persist state → respond with VolumeAttachment (state=detaching) | 1. Detach with explicit InstanceId
2. Detach without InstanceId (gateway resolution)
3. Detach with correct --device cross-check
4. Missing VolumeId (InvalidParameterValue)
5. Volume not attached (IncorrectState)
6. Nonexistent volume (InvalidVolume.NotFound)
7. Nonexistent instance (InvalidInstanceID.NotFound)
8. Instance not running (IncorrectInstanceState)
9. Device mismatch (InvalidParameterValue)
10. Boot volume protection (OperationNotPermitted)
11. Force flag (continues past device_del failure)
12. Volume reusability (re-attach after detach) | **DONE** | @@ -150,8 +150,8 @@ Operational commands for inspecting cluster state. These fan out NATS requests t | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| -| `describe-regions` | *(returns configured region, endpoint, opt-in status from config — input params ignored)* | `--region-names`, `--filters`, `--all-regions`, `--dry-run` | None | Return configured region from hive init config with Endpoint and OptInStatus → local-only response, no NATS | 1. List all regions
2. Filter by region name
3. Verify endpoint URL returned
4. Verify OptInStatus returned | **DONE** | -| `describe-availability-zones` | *(returns configured AZ, region, zone ID, state, opt-in status from config — input params ignored)* | `--zone-names`, `--filters`, `--all-availability-zones` | None | Return configured AZ from hive init config with zone ID, state, group name, network border group → local-only response, no NATS | 1. List all AZs
2. Filter by zone name
3. Verify zone state is available
4. Verify region name matches config | **DONE** | +| `describe-regions` | *(returns configured region, endpoint, opt-in status from config — input params ignored)* | `--region-names`, `--filters`, `--all-regions`, `--dry-run` | None | Return configured region from spinifex init config with Endpoint and OptInStatus → local-only response, no NATS | 1. List all regions
2. Filter by region name
3. Verify endpoint URL returned
4. Verify OptInStatus returned | **DONE** | +| `describe-availability-zones` | *(returns configured AZ, region, zone ID, state, opt-in status from config — input params ignored)* | `--zone-names`, `--filters`, `--all-availability-zones` | None | Return configured AZ from spinifex init config with zone ID, state, group name, network border group → local-only response, no NATS | 1. List all AZs
2. Filter by zone name
3. Verify zone state is available
4. Verify region name matches config | **DONE** | ### EC2 - Account Attributes @@ -165,12 +165,12 @@ Persistence layer works (NATS JetStream KV), but stored values are not yet enfor | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| -| `enable-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.EnableEbsEncryptionByDefault` with `hive-workers` queue group → daemon stores `EbsEncryptionByDefault=true` in JetStream KV (`hive-ec2-account-settings` bucket) → return `EbsEncryptionByDefault=true`. Enforcement deferred: stored value not yet checked by CreateVolume/CreateSnapshot. | 1. Enable encryption
2. Verify via get | **STARTED** (enforcement pending) | -| `disable-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.DisableEbsEncryptionByDefault` with `hive-workers` queue group → daemon stores `EbsEncryptionByDefault=false` in JetStream KV → return `EbsEncryptionByDefault=false`. | 1. Disable encryption
2. Verify via get | **STARTED** (enforcement pending) | -| `get-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.GetEbsEncryptionByDefault` with `hive-workers` queue group → daemon reads `EbsEncryptionByDefault` from JetStream KV → return current state. | 1. Get default state
2. Verify matches last enable/disable | **STARTED** (enforcement pending) | -| `enable-serial-console-access` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.EnableSerialConsoleAccess` with `hive-workers` queue group → daemon stores `SerialConsoleAccessEnabled=true` in JetStream KV (`hive-ec2-account-settings` bucket) → return enabled=true. Stored for future interactive serial console support (not currently enforced by any operation). | 1. Enable access
2. Verify via get | **STARTED** (enforcement pending) | -| `disable-serial-console-access` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.DisableSerialConsoleAccess` with `hive-workers` queue group → daemon stores `SerialConsoleAccessEnabled=false` in JetStream KV → return enabled=false. Stored for future interactive serial console support (not currently enforced by any operation). | 1. Disable access
2. Verify via get | **STARTED** (enforcement pending) | -| `get-serial-console-access-status` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.GetSerialConsoleAccessStatus` with `hive-workers` queue group → daemon reads `SerialConsoleAccessEnabled` from JetStream KV → return current state. | 1. Get current status
2. Verify matches last enable/disable | **DONE** | +| `enable-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.EnableEbsEncryptionByDefault` with `spinifex-workers` queue group → daemon stores `EbsEncryptionByDefault=true` in JetStream KV (`spinifex-ec2-account-settings` bucket) → return `EbsEncryptionByDefault=true`. Enforcement deferred: stored value not yet checked by CreateVolume/CreateSnapshot. | 1. Enable encryption
2. Verify via get | **STARTED** (enforcement pending) | +| `disable-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.DisableEbsEncryptionByDefault` with `spinifex-workers` queue group → daemon stores `EbsEncryptionByDefault=false` in JetStream KV → return `EbsEncryptionByDefault=false`. | 1. Disable encryption
2. Verify via get | **STARTED** (enforcement pending) | +| `get-ebs-encryption-by-default` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.GetEbsEncryptionByDefault` with `spinifex-workers` queue group → daemon reads `EbsEncryptionByDefault` from JetStream KV → return current state. | 1. Get default state
2. Verify matches last enable/disable | **STARTED** (enforcement pending) | +| `enable-serial-console-access` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.EnableSerialConsoleAccess` with `spinifex-workers` queue group → daemon stores `SerialConsoleAccessEnabled=true` in JetStream KV (`spinifex-ec2-account-settings` bucket) → return enabled=true. Stored for future interactive serial console support (not currently enforced by any operation). | 1. Enable access
2. Verify via get | **STARTED** (enforcement pending) | +| `disable-serial-console-access` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.DisableSerialConsoleAccess` with `spinifex-workers` queue group → daemon stores `SerialConsoleAccessEnabled=false` in JetStream KV → return enabled=false. Stored for future interactive serial console support (not currently enforced by any operation). | 1. Disable access
2. Verify via get | **STARTED** (enforcement pending) | +| `get-serial-console-access-status` | *(no flags needed)* | `--dry-run` | None | Gateway validates input → NATS `ec2.GetSerialConsoleAccessStatus` with `spinifex-workers` queue group → daemon reads `SerialConsoleAccessEnabled` from JetStream KV → return current state. | 1. Get current status
2. Verify matches last enable/disable | **DONE** | | `enable-snapshot-block-public-access` | — | `--state` | None | Store snapshot block public access state in JetStream KV | 1. Enable with block-all-sharing
2. Enable with block-new-sharing | **NOT STARTED** (enforcement pending) | | `disable-snapshot-block-public-access` | — | `--dry-run` | None | Clear snapshot block public access state in JetStream KV | 1. Disable access | **NOT STARTED** (enforcement pending) | | `get-snapshot-block-public-access-state` | — | `--dry-run` | None | Read snapshot block public access state from JetStream KV | 1. Get current state | **NOT STARTED** (enforcement pending) | @@ -182,13 +182,13 @@ Persistence layer works (NATS JetStream KV), but stored values are not yet enfor ### EC2 - Egress-Only Internet Gateway -Gateway routing and KV CRUD are wired up but no OVN/OVS integration exists. EIGWs are stored in `hive-eigw` KV bucket but have no effect on network topology (no vpcd events published, unlike IGW which publishes `vpc.igw-attach`/`vpc.igw-detach`). +Gateway routing and KV CRUD are wired up but no OVN/OVS integration exists. EIGWs are stored in `spinifex-eigw` KV bucket but have no effect on network topology (no vpcd events published, unlike IGW which publishes `vpc.igw-attach`/`vpc.igw-detach`). | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| -| `create-egress-only-internet-gateway` | `--vpc-id`, `--tag-specifications` | `--client-token`, `--dry-run` | VPC must exist | Gateway validates VpcId → NATS `ec2.CreateEgressOnlyInternetGateway` → daemon generates eigw-ID → creates EgressOnlyIGWRecord in `hive-eigw` KV bucket with state=attached (always attached at creation, unlike IGW) → returns EgressOnlyInternetGateway with attachment | 1. Create with valid VpcId
2. Missing VpcId (error: MissingParameter)
3. Create with inline tags
4. Verify ID format eigw-{16hex} | **STARTED** (KV only, no OVN) | -| `delete-egress-only-internet-gateway` | `--egress-only-internet-gateway-id` | `--dry-run` | EIGW must exist | NATS `ec2.DeleteEgressOnlyInternetGateway` → daemon verifies EIGW exists in KV → deletes from `hive-eigw` KV → returns ReturnCode=true. No detach required (unlike IGW). | 1. Delete existing EIGW
2. Delete non-existent EIGW (error)
3. Missing ID (error: MissingParameter) | **STARTED** (KV only, no OVN) | -| `describe-egress-only-internet-gateways` | `--egress-only-internet-gateway-ids` | `--filters`, `--max-results`, `--next-token`, `--dry-run` | None | NATS `ec2.DescribeEgressOnlyInternetGateways` → daemon lists all keys from `hive-eigw` KV bucket → filters by ID if specified → always includes Attachments array → returns list | 1. Describe all EIGWs
2. Filter by specific ID
3. Non-existent ID returns empty list | **STARTED** (KV only, no OVN) | +| `create-egress-only-internet-gateway` | `--vpc-id`, `--tag-specifications` | `--client-token`, `--dry-run` | VPC must exist | Gateway validates VpcId → NATS `ec2.CreateEgressOnlyInternetGateway` → daemon generates eigw-ID → creates EgressOnlyIGWRecord in `spinifex-eigw` KV bucket with state=attached (always attached at creation, unlike IGW) → returns EgressOnlyInternetGateway with attachment | 1. Create with valid VpcId
2. Missing VpcId (error: MissingParameter)
3. Create with inline tags
4. Verify ID format eigw-{16hex} | **STARTED** (KV only, no OVN) | +| `delete-egress-only-internet-gateway` | `--egress-only-internet-gateway-id` | `--dry-run` | EIGW must exist | NATS `ec2.DeleteEgressOnlyInternetGateway` → daemon verifies EIGW exists in KV → deletes from `spinifex-eigw` KV → returns ReturnCode=true. No detach required (unlike IGW). | 1. Delete existing EIGW
2. Delete non-existent EIGW (error)
3. Missing ID (error: MissingParameter) | **STARTED** (KV only, no OVN) | +| `describe-egress-only-internet-gateways` | `--egress-only-internet-gateway-ids` | `--filters`, `--max-results`, `--next-token`, `--dry-run` | None | NATS `ec2.DescribeEgressOnlyInternetGateways` → daemon lists all keys from `spinifex-eigw` KV bucket → filters by ID if specified → always includes Attachments array → returns list | 1. Describe all EIGWs
2. Filter by specific ID
3. Non-existent ID returns empty list | **STARTED** (KV only, no OVN) | ### EC2 - Placement Groups @@ -254,19 +254,19 @@ Gateway routing and KV CRUD are wired up but no OVN/OVS integration exists. EIGW ### EC2 - VPC Networking (Core) -Requires OVN/OVS (`apt install openvswitch-switch ovn-host`). VPC/Subnet/ENI CRUD stores metadata in NATS KV and publishes events to vpcd (the network topology daemon) which translates to OVN logical switches, ports, and routers. Single AZ for Hive v1. IPAM uses CAS-based allocation from NATS KV (`hive-vpc-ipam` bucket). +Requires OVN/OVS (`apt install openvswitch-switch ovn-host`). VPC/Subnet/ENI CRUD stores metadata in NATS KV and publishes events to vpcd (the network topology daemon) which translates to OVN logical switches, ports, and routers. Single AZ for Spinifex v1. IPAM uses CAS-based allocation from NATS KV (`spinifex-vpc-ipam` bucket). | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| -| `create-vpc` | `--cidr-block`, `--tag-specifications` | `--instance-tenancy`, `--dry-run` | None | Gateway validates CidrBlock (required, valid CIDR, /16–/28 prefix) → NATS `ec2.CreateVpc` → daemon allocates unique VNI from `hive-vpc-vni-counter` KV → generates vpc-ID → stores VPCRecord in `hive-vpc-vpcs` KV → publishes `vpc.create` event to vpcd (creates OVN logical switch) → returns VPC with state=available | 1. Create VPC with /16 CIDR
2. Invalid CIDR format (error: InvalidVpcRange)
3. CIDR prefix outside /16–/28 (error)
4. Verify in describe-vpcs
5. Tags applied at creation | **DONE** | -| `delete-vpc` | `--vpc-id` | `--dry-run` | VPC must be empty (no subnets) | Gateway validates VpcId → NATS `ec2.DeleteVpc` → daemon checks for dependent subnets in `hive-vpc-subnets` KV → returns DependencyViolation if subnets exist → deletes from `hive-vpc-vpcs` KV → publishes `vpc.delete` event to vpcd (removes OVN resources) | 1. Delete empty VPC
2. Delete VPC with subnets (DependencyViolation)
3. Delete non-existent VPC (error) | **DONE** | -| `describe-vpcs` | `--vpc-ids` | `--filters`, `--max-results`, `--dry-run` | None | NATS `ec2.DescribeVpcs` → daemon lists all keys from `hive-vpc-vpcs` KV → filters by VPC IDs if specified → returns error for non-existent requested IDs → returns VPC list with CIDR, state, CIDR associations | 1. List all VPCs
2. Filter by VPC ID
3. Non-existent VPC ID returns error | **DONE** | +| `create-vpc` | `--cidr-block`, `--tag-specifications` | `--instance-tenancy`, `--dry-run` | None | Gateway validates CidrBlock (required, valid CIDR, /16–/28 prefix) → NATS `ec2.CreateVpc` → daemon allocates unique VNI from `spinifex-vpc-vni-counter` KV → generates vpc-ID → stores VPCRecord in `spinifex-vpc-vpcs` KV → publishes `vpc.create` event to vpcd (creates OVN logical switch) → returns VPC with state=available | 1. Create VPC with /16 CIDR
2. Invalid CIDR format (error: InvalidVpcRange)
3. CIDR prefix outside /16–/28 (error)
4. Verify in describe-vpcs
5. Tags applied at creation | **DONE** | +| `delete-vpc` | `--vpc-id` | `--dry-run` | VPC must be empty (no subnets) | Gateway validates VpcId → NATS `ec2.DeleteVpc` → daemon checks for dependent subnets in `spinifex-vpc-subnets` KV → returns DependencyViolation if subnets exist → deletes from `spinifex-vpc-vpcs` KV → publishes `vpc.delete` event to vpcd (removes OVN resources) | 1. Delete empty VPC
2. Delete VPC with subnets (DependencyViolation)
3. Delete non-existent VPC (error) | **DONE** | +| `describe-vpcs` | `--vpc-ids` | `--filters`, `--max-results`, `--dry-run` | None | NATS `ec2.DescribeVpcs` → daemon lists all keys from `spinifex-vpc-vpcs` KV → filters by VPC IDs if specified → returns error for non-existent requested IDs → returns VPC list with CIDR, state, CIDR associations | 1. List all VPCs
2. Filter by VPC ID
3. Non-existent VPC ID returns error | **DONE** | | `modify-vpc-attribute` | — | `--vpc-id`, `--enable-dns-support`, `--enable-dns-hostnames` | VPC must exist | NATS `ec2.ModifyVpcAttribute` → daemon updates VPC attribute in KV → return success | 1. Enable DNS support
2. Enable DNS hostnames
3. Missing VPC ID (error) | **NOT STARTED** | | `associate-vpc-cidr-block` | — | `--vpc-id`, `--cidr-block` | VPC must exist | NATS `ec2.AssociateVpcCidrBlock` → daemon adds secondary CIDR to VPC metadata → return association | 1. Add secondary CIDR
2. Overlapping CIDR (error)
3. Max CIDR blocks exceeded (error) | **NOT STARTED** | | `disassociate-vpc-cidr-block` | — | `--association-id` | Association must exist | NATS `ec2.DisassociateVpcCidrBlock` → daemon removes secondary CIDR from VPC → return success | 1. Remove secondary CIDR
2. Remove primary CIDR (error) | **NOT STARTED** | -| `create-subnet` | `--vpc-id`, `--cidr-block`, `--availability-zone`, `--tag-specifications` | `--dry-run` | VPC must exist | Gateway validates VpcId + CidrBlock (required, valid CIDR, /16–/28 prefix) → NATS `ec2.CreateSubnet` → daemon verifies parent VPC exists → validates subnet CIDR is within VPC CIDR range → checks for overlapping subnets in same VPC → calculates available IPs (total hosts - 5 AWS-reserved: .0/.1/.2/.3/.255) → generates subnet-ID → stores SubnetRecord in `hive-vpc-subnets` KV → publishes `vpc.create-subnet` event to vpcd → defaults AZ from config if omitted | 1. Create subnet within VPC CIDR
2. Subnet CIDR outside VPC range (error: InvalidSubnetRange)
3. Overlapping subnet CIDRs (error: InvalidSubnetConflict)
4. CIDR prefix outside /16–/28 (error)
5. Missing VPC or CIDR (error: MissingParameter) | **DONE** | -| `delete-subnet` | `--subnet-id` | `--dry-run` | Subnet must exist | NATS `ec2.DeleteSubnet` → daemon verifies subnet exists → deletes from `hive-vpc-subnets` KV → publishes `vpc.delete-subnet` event to vpcd | 1. Delete existing subnet
2. Delete non-existent subnet (error) | **DONE** | -| `describe-subnets` | `--subnet-ids`, `--filters` (vpc-id) | `--max-results`, `--dry-run` | None | NATS `ec2.DescribeSubnets` → daemon lists all keys from `hive-vpc-subnets` KV → applies vpc-id filter if present → filters by subnet IDs if specified → recalculates available IPs from CIDR → returns error for non-existent requested IDs | 1. List all subnets
2. Filter by VPC ID
3. Filter by subnet ID
4. Non-existent subnet returns error | **DONE** | +| `create-subnet` | `--vpc-id`, `--cidr-block`, `--availability-zone`, `--tag-specifications` | `--dry-run` | VPC must exist | Gateway validates VpcId + CidrBlock (required, valid CIDR, /16–/28 prefix) → NATS `ec2.CreateSubnet` → daemon verifies parent VPC exists → validates subnet CIDR is within VPC CIDR range → checks for overlapping subnets in same VPC → calculates available IPs (total hosts - 5 AWS-reserved: .0/.1/.2/.3/.255) → generates subnet-ID → stores SubnetRecord in `spinifex-vpc-subnets` KV → publishes `vpc.create-subnet` event to vpcd → defaults AZ from config if omitted | 1. Create subnet within VPC CIDR
2. Subnet CIDR outside VPC range (error: InvalidSubnetRange)
3. Overlapping subnet CIDRs (error: InvalidSubnetConflict)
4. CIDR prefix outside /16–/28 (error)
5. Missing VPC or CIDR (error: MissingParameter) | **DONE** | +| `delete-subnet` | `--subnet-id` | `--dry-run` | Subnet must exist | NATS `ec2.DeleteSubnet` → daemon verifies subnet exists → deletes from `spinifex-vpc-subnets` KV → publishes `vpc.delete-subnet` event to vpcd | 1. Delete existing subnet
2. Delete non-existent subnet (error) | **DONE** | +| `describe-subnets` | `--subnet-ids`, `--filters` (vpc-id) | `--max-results`, `--dry-run` | None | NATS `ec2.DescribeSubnets` → daemon lists all keys from `spinifex-vpc-subnets` KV → applies vpc-id filter if present → filters by subnet IDs if specified → recalculates available IPs from CIDR → returns error for non-existent requested IDs | 1. List all subnets
2. Filter by VPC ID
3. Filter by subnet ID
4. Non-existent subnet returns error | **DONE** | | `modify-subnet-attribute` | — | `--subnet-id`, `--map-public-ip-on-launch`, `--assign-ipv6-address-on-creation` | Subnet must exist | NATS `ec2.ModifySubnetAttribute` → daemon updates subnet attribute in KV → return success | 1. Enable auto-assign public IP
2. Missing subnet ID (error) | **NOT STARTED** | | `associate-subnet-cidr-block` | — | `--subnet-id`, `--ipv6-cidr-block` | Subnet must exist | NATS `ec2.AssociateSubnetCidrBlock` → daemon adds IPv6 CIDR to subnet → return association | 1. Add IPv6 CIDR
2. Missing subnet ID (error) | **NOT STARTED** | | `disassociate-subnet-cidr-block` | — | `--association-id` | Association must exist | NATS `ec2.DisassociateSubnetCidrBlock` → daemon removes IPv6 CIDR from subnet → return success | 1. Remove IPv6 CIDR
2. Invalid association (error) | **NOT STARTED** | @@ -277,11 +277,11 @@ Requires OVN/OVS (`apt install openvswitch-switch ovn-host`). VPC/Subnet/ENI CRU | `authorize-security-group-egress` | — | `--group-id`, `--protocol`, `--port`, `--cidr` | SG must exist | Add outbound rule → create OVS OpenFlow rule → persist to metadata | 1. Allow HTTPS outbound
2. Restrict to specific CIDR | **NOT STARTED** | | `revoke-security-group-ingress` | — | `--group-id`, `--protocol`, `--port`, `--cidr` | SG must exist, rule must exist | Remove inbound rule → delete OVS OpenFlow rule → update metadata | 1. Revoke existing rule
2. Revoke non-existent rule (error) | **NOT STARTED** | | `revoke-security-group-egress` | — | `--group-id`, `--protocol`, `--port`, `--cidr` | SG must exist, rule must exist | Remove outbound rule → delete OVS OpenFlow rule → update metadata | 1. Revoke existing rule
2. Revoke non-existent rule (error) | **NOT STARTED** | -| `create-internet-gateway` | `--tag-specifications` | `--dry-run` | None | NATS `ec2.CreateInternetGateway` → daemon generates igw-ID → creates IGWRecord in `hive-igw` KV bucket with state=available (not attached) → returns InternetGateway with empty Attachments | 1. Create IGW
2. Verify in describe-internet-gateways
3. Tags applied at creation | **DONE** | +| `create-internet-gateway` | `--tag-specifications` | `--dry-run` | None | NATS `ec2.CreateInternetGateway` → daemon generates igw-ID → creates IGWRecord in `spinifex-igw` KV bucket with state=available (not attached) → returns InternetGateway with empty Attachments | 1. Create IGW
2. Verify in describe-internet-gateways
3. Tags applied at creation | **DONE** | | `attach-internet-gateway` | `--internet-gateway-id`, `--vpc-id` | `--dry-run` | IGW and VPC must exist | NATS `ec2.AttachInternetGateway` → daemon validates IGW exists and is not already attached (ResourceAlreadyAssociated) → sets VpcId on record → state=attached → publishes `vpc.igw-attach` event to vpcd (creates OVN external switch, gateway port, SNAT rules) | 1. Attach IGW to VPC
2. Attach already-attached IGW (ResourceAlreadyAssociated)
3. Non-existent IGW (error)
4. Missing params (MissingParameter) | **DONE** | | `detach-internet-gateway` | `--internet-gateway-id`, `--vpc-id` | `--dry-run` | IGW must be attached to specified VPC | NATS `ec2.DetachInternetGateway` → daemon validates IGW exists and is attached to specified VPC (GatewayNotAttached if wrong VPC) → clears VpcId → state=available → publishes `vpc.igw-detach` event to vpcd (removes OVN resources) | 1. Detach attached IGW
2. Detach from wrong VPC (GatewayNotAttached)
3. Detach unattached IGW (error) | **DONE** | -| `delete-internet-gateway` | `--internet-gateway-id` | `--dry-run` | IGW must be detached | NATS `ec2.DeleteInternetGateway` → daemon validates IGW exists and VpcId is empty (DependencyViolation if attached) → deletes from `hive-igw` KV | 1. Delete detached IGW
2. Delete attached IGW (DependencyViolation)
3. Delete non-existent (error) | **DONE** | -| `describe-internet-gateways` | `--internet-gateway-ids` | `--filters`, `--max-results`, `--dry-run` | None | NATS `ec2.DescribeInternetGateways` → daemon lists all keys from `hive-igw` KV → filters by IGW IDs if specified → returns list with Attachments array (if attached) | 1. List all IGWs
2. Filter by IGW ID
3. Verify attachment info | **DONE** | +| `delete-internet-gateway` | `--internet-gateway-id` | `--dry-run` | IGW must be detached | NATS `ec2.DeleteInternetGateway` → daemon validates IGW exists and VpcId is empty (DependencyViolation if attached) → deletes from `spinifex-igw` KV | 1. Delete detached IGW
2. Delete attached IGW (DependencyViolation)
3. Delete non-existent (error) | **DONE** | +| `describe-internet-gateways` | `--internet-gateway-ids` | `--filters`, `--max-results`, `--dry-run` | None | NATS `ec2.DescribeInternetGateways` → daemon lists all keys from `spinifex-igw` KV → filters by IGW IDs if specified → returns list with Attachments array (if attached) | 1. List all IGWs
2. Filter by IGW ID
3. Verify attachment info | **DONE** | ### EC2 - Route Tables @@ -365,13 +365,13 @@ Requires OVN/OVS (`apt install openvswitch-switch ovn-host`). VPC/Subnet/ENI CRU ### EC2 - Network Interfaces -ENIs are managed via `hive-vpc-enis` KV bucket with CAS-based IPAM allocation from `hive-vpc-ipam`. ENIs are auto-created by `run-instances --subnet-id` and auto-deleted on termination. MAC addresses are deterministically generated from the ENI ID. Attach/detach are internal operations used by instance lifecycle — no standalone attach/detach API yet. +ENIs are managed via `spinifex-vpc-enis` KV bucket with CAS-based IPAM allocation from `spinifex-vpc-ipam`. ENIs are auto-created by `run-instances --subnet-id` and auto-deleted on termination. MAC addresses are deterministically generated from the ENI ID. Attach/detach are internal operations used by instance lifecycle — no standalone attach/detach API yet. | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| -| `create-network-interface` | `--subnet-id`, `--private-ip-address`, `--description`, `--tag-specifications` | `--groups`, `--dry-run` | Subnet must exist | Gateway validates SubnetId (required) → NATS `ec2.CreateNetworkInterface` → daemon verifies subnet exists in `hive-vpc-subnets` KV → if no PrivateIpAddress, allocates from IPAM pool (CAS-based, up to 5 retries) → generates eni-ID → generates deterministic MAC from ENI ID → stores ENIRecord in `hive-vpc-enis` KV → publishes `vpc.create-port` event to vpcd (creates OVN logical port) → returns NetworkInterface with status=available | 1. Create in subnet (auto-allocate IP)
2. Create with specific private IP
3. Missing subnet ID (MissingParameter)
4. Non-existent subnet (error)
5. Tags applied at creation | **DONE** | -| `delete-network-interface` | `--network-interface-id` | `--dry-run` | Must not be attached (status != in-use) | NATS `ec2.DeleteNetworkInterface` → daemon verifies ENI exists and status is not "in-use" (InvalidNetworkInterfaceInUse) → releases IP back to IPAM pool → deletes from `hive-vpc-enis` KV → publishes `vpc.delete-port` event to vpcd | 1. Delete detached ENI
2. Delete attached ENI (InvalidNetworkInterfaceInUse)
3. Delete non-existent (error) | **DONE** | -| `describe-network-interfaces` | `--network-interface-ids`, `--filters` (subnet-id, vpc-id, attachment.instance-id) | `--max-results`, `--dry-run` | None | NATS `ec2.DescribeNetworkInterfaces` → daemon lists all keys from `hive-vpc-enis` KV → applies filters (subnet-id, vpc-id, attachment.instance-id) → filters by ENI IDs if specified → returns error for non-existent requested IDs | 1. List all ENIs
2. Filter by subnet-id
3. Filter by vpc-id
4. Filter by attachment.instance-id
5. Non-existent ENI returns error | **DONE** | +| `create-network-interface` | `--subnet-id`, `--private-ip-address`, `--description`, `--tag-specifications` | `--groups`, `--dry-run` | Subnet must exist | Gateway validates SubnetId (required) → NATS `ec2.CreateNetworkInterface` → daemon verifies subnet exists in `spinifex-vpc-subnets` KV → if no PrivateIpAddress, allocates from IPAM pool (CAS-based, up to 5 retries) → generates eni-ID → generates deterministic MAC from ENI ID → stores ENIRecord in `spinifex-vpc-enis` KV → publishes `vpc.create-port` event to vpcd (creates OVN logical port) → returns NetworkInterface with status=available | 1. Create in subnet (auto-allocate IP)
2. Create with specific private IP
3. Missing subnet ID (MissingParameter)
4. Non-existent subnet (error)
5. Tags applied at creation | **DONE** | +| `delete-network-interface` | `--network-interface-id` | `--dry-run` | Must not be attached (status != in-use) | NATS `ec2.DeleteNetworkInterface` → daemon verifies ENI exists and status is not "in-use" (InvalidNetworkInterfaceInUse) → releases IP back to IPAM pool → deletes from `spinifex-vpc-enis` KV → publishes `vpc.delete-port` event to vpcd | 1. Delete detached ENI
2. Delete attached ENI (InvalidNetworkInterfaceInUse)
3. Delete non-existent (error) | **DONE** | +| `describe-network-interfaces` | `--network-interface-ids`, `--filters` (subnet-id, vpc-id, attachment.instance-id) | `--max-results`, `--dry-run` | None | NATS `ec2.DescribeNetworkInterfaces` → daemon lists all keys from `spinifex-vpc-enis` KV → applies filters (subnet-id, vpc-id, attachment.instance-id) → filters by ENI IDs if specified → returns error for non-existent requested IDs | 1. List all ENIs
2. Filter by subnet-id
3. Filter by vpc-id
4. Filter by attachment.instance-id
5. Non-existent ENI returns error | **DONE** | | `attach-network-interface` | — | `--network-interface-id`, `--instance-id`, `--device-index` | ENI and instance must exist | Internal operation used by `run-instances --subnet-id`. Marks ENI as "in-use", sets instance attachment, generates attachment ID. No standalone API endpoint yet. | 1. Attach ENI to instance
2. Already attached (error)
3. Missing device index (error) | **NOT STARTED** (internal only) | | `detach-network-interface` | — | `--attachment-id`, `--force` | ENI must be attached | Internal operation used by terminate-instances. Marks ENI as "available", clears attachment info. No standalone API endpoint yet. | 1. Detach ENI
2. Force detach
3. Not attached (error) | **NOT STARTED** (internal only) | | `modify-network-interface-attribute` | — | `--network-interface-id`, `--description`, `--source-dest-check`, `--groups` | ENI must exist | NATS `ec2.ModifyNetworkInterfaceAttribute` → daemon updates ENI attributes in KV → return success | 1. Modify description
2. Toggle source/dest check
3. Update security groups | **NOT STARTED** | @@ -409,7 +409,7 @@ ENIs are managed via `hive-vpc-enis` KV bucket with CAS-based IPAM allocation fr ### S3 (via Predastore) -Currently S3 operations are handled directly by Predastore. Consider moving control/data plane to Hive format for AWS gateway integration. +Currently S3 operations are handled directly by Predastore. Consider moving control/data plane to Spinifex format for AWS gateway integration. | Command | Implemented Flags | Missing Flags | Prerequisites | Basic Logic | Test Cases | Status | |---------|-------------------|---------------|---------------|-------------|------------|--------| diff --git a/docs/DESIGN.md b/docs/DESIGN.md index aa1ccdca2..f26911ae3 100644 --- a/docs/DESIGN.md +++ b/docs/DESIGN.md @@ -1,6 +1,6 @@ -# Hive Architecture +# Spinifex Architecture -Hive is an AWS-compatible infrastructure platform for bare-metal, edge, and on-premise deployments. It provides EC2-compatible VM orchestration backed by QEMU/KVM, with storage provided by companion projects Viperblock (EBS) and Predastore (S3). +Spinifex is an AWS-compatible infrastructure platform for bare-metal, edge, and on-premise deployments. It provides EC2-compatible VM orchestration backed by QEMU/KVM, with storage provided by companion projects Viperblock (EBS) and Predastore (S3). ## High-Level Architecture @@ -19,7 +19,7 @@ Hive is an AWS-compatible infrastructure platform for bare-metal, edge, and on-p │ • EC2 Query Protocol parsing • Routes to service handlers │ │ • XML response generation • NATS client connection │ │ │ -│ File: hive/services/awsgw/awsgw.go │ +│ File: spinifex/services/awsgw/awsgw.go │ └─────────────────────────────────────────────────────────────────────────────┘ │ │ JSON over NATS @@ -28,7 +28,7 @@ Hive is an AWS-compatible infrastructure platform for bare-metal, edge, and on-p │ NATS Message Broker │ │ │ │ Topics: Queue Groups: │ -│ • ec2.RunInstances • hive-workers (load balanced) │ +│ • ec2.RunInstances • spinifex-workers (load balanced) │ │ • ec2.DescribeInstances • No queue (fan-out to all nodes) │ │ • ec2.cmd.{instanceID} (per-instance start/stop/terminate) │ │ • ebs.mount / ebs.unmount │ @@ -37,7 +37,7 @@ Hive is an AWS-compatible infrastructure platform for bare-metal, edge, and on-p ┌─────────────────┼─────────────────┐ ▼ ▼ ▼ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ -│ Hive Daemon │ │ Hive Daemon │ │ Hive Daemon │ +│ Spinifex Daemon │ │ Spinifex Daemon │ │ Spinifex Daemon │ │ (Node 1) │ │ (Node 2) │ │ (Node N) │ │ │ │ │ │ │ │ • NATS subscriber │ │ • NATS subscriber │ │ • NATS subscriber │ @@ -58,7 +58,7 @@ Hive is an AWS-compatible infrastructure platform for bare-metal, edge, and on-p ### 1. AWS SDK Request -Users interact with Hive using standard AWS SDKs or the AWS CLI by pointing to a custom endpoint: +Users interact with Spinifex using standard AWS SDKs or the AWS CLI by pointing to a custom endpoint: ```bash aws --endpoint-url https://localhost:9999 --no-verify-ssl ec2 run-instances \ @@ -73,7 +73,7 @@ The AWS SDK formats this as an HTTP POST with: ### 2. AWS Gateway -The gateway (`hive/services/awsgw/awsgw.go:57-107`) is the entry point: +The gateway (`spinifex/services/awsgw/awsgw.go:57-107`) is the entry point: ```go // awsgw.go:74 - Connect to NATS @@ -89,7 +89,7 @@ gw := gateway.GatewayConfig{ log.Fatal(app.ListenTLS(nodeConfig.AWSGW.Host, nodeConfig.AWSGW.TLSCert, nodeConfig.AWSGW.TLSKey)) ``` -Request routing (`hive/gateway/gateway.go:125-156`): +Request routing (`spinifex/gateway/gateway.go:125-156`): 1. **Authentication**: SigV4 middleware validates AWS credentials (`gateway.go:104`) 2. **Service Detection**: Extracts service name (ec2, iam, account) from Authorization header (`gateway.go:158-186`) @@ -109,7 +109,7 @@ case "iam": ### 3. EC2 Handler -The EC2 handler (`hive/gateway/ec2.go`) parses the Action parameter and delegates to specific handlers: +The EC2 handler (`spinifex/gateway/ec2.go`) parses the Action parameter and delegates to specific handlers: ```go // ec2.go - Action routing @@ -124,7 +124,7 @@ case "DescribeInstances": ### 4. NATS Messaging -The gateway communicates with daemons via NATS request/response (`hive/handlers/ec2/instance/service_nats.go:24-57`): +The gateway communicates with daemons via NATS request/response (`spinifex/handlers/ec2/instance/service_nats.go:24-57`): ```go // service_nats.go:24-57 @@ -145,13 +145,13 @@ func (s *NATSInstanceService) RunInstances(input *ec2.RunInstancesInput) (*ec2.R ### 5. Daemon Processing -Daemons (`hive/daemon/daemon.go`) subscribe to NATS topics and handle requests: +Daemons (`spinifex/daemon/daemon.go`) subscribe to NATS topics and handle requests: ```go // daemon.go:319 - Subscribe with queue group for load balancing d.natsSubscriptions["ec2.RunInstances"], err = d.natsConn.QueueSubscribe( "ec2.RunInstances", - "hive-workers", // Queue group - only one daemon handles each request + "spinifex-workers", // Queue group - only one daemon handles each request d.handleEC2RunInstances, ) @@ -162,7 +162,7 @@ d.natsSubscriptions["ec2.DescribeInstances"], err = d.natsConn.Subscribe( ) ``` -**Queue Groups**: Topics subscribed with a queue group (`hive-workers`) are load-balanced - only one daemon handles each request. Topics without a queue group fan out to all daemons. +**Queue Groups**: Topics subscribed with a queue group (`spinifex-workers`) are load-balanced - only one daemon handles each request. Topics without a queue group fan out to all daemons. ### 6. VM Launch @@ -225,19 +225,19 @@ type ResourceManager struct { | Topic | Queue Group | Purpose | |-------|-------------|---------| -| `ec2.RunInstances` | `hive-workers` | Launch new instances | +| `ec2.RunInstances` | `spinifex-workers` | Launch new instances | | `ec2.DescribeInstances` | None (fan-out) | Query all nodes for instances | | `ec2.cmd.{instanceID}` | None (owner only) | Per-instance commands (start/stop/terminate, attach/detach volume) | -| `ec2.CreateKeyPair` | `hive-workers` | Generate SSH keypair | -| `ec2.DescribeKeyPairs` | `hive-workers` | List SSH keypairs | -| `ec2.DescribeImages` | `hive-workers` | List AMIs | +| `ec2.CreateKeyPair` | `spinifex-workers` | Generate SSH keypair | +| `ec2.DescribeKeyPairs` | `spinifex-workers` | List SSH keypairs | +| `ec2.DescribeImages` | `spinifex-workers` | List AMIs | | `ebs.mount` | - | Mount volume via Viperblock | | `ebs.unmount` | - | Unmount volume | -| `hive.admin.{node}.health` | None | Node health checks | +| `spinifex.admin.{node}.health` | None | Node health checks | ### Multi-Node Aggregation -For operations that need data from all nodes (like `DescribeInstances`), the gateway uses inbox-based fan-out (`hive/gateway/ec2/instance/DescribeInstances.go`): +For operations that need data from all nodes (like `DescribeInstances`), the gateway uses inbox-based fan-out (`spinifex/gateway/ec2/instance/DescribeInstances.go`): ```go // DescribeInstances.go:16-111 @@ -288,13 +288,13 @@ Object storage used for: ## Configuration -Cluster configuration (`hive/config/config.go`): +Cluster configuration (`spinifex/config/config.go`): ```go type ClusterConfig struct { Epoch uint64 // Incremented on config changes Node string // This node's identifier - Version string // Hive version + Version string // Spinifex version Nodes map[string]Config // Configuration for all nodes } @@ -312,8 +312,8 @@ type Config struct { ## File Structure ``` -hive/ -├── hive/ +spinifex/ +├── spinifex/ │ ├── services/ │ │ └── awsgw/ │ │ └── awsgw.go # AWS Gateway service entry point @@ -340,7 +340,7 @@ hive/ │ └── qmp/ │ └── qmp.go # QEMU Machine Protocol client └── cmd/ - └── hive/ + └── spinifex/ └── main.go # CLI entry point ``` @@ -351,8 +351,8 @@ hive/ 1. Start NATS broker 2. Start Predastore (S3) 3. Start Viperblock (EBS) -4. Start Hive Gateway (`hive awsgw`) -5. Start Hive Daemon(s) (`hive daemon`) +4. Start Spinifex Gateway (`hive awsgw`) +5. Start Spinifex Daemon(s) (`hive daemon`) ### Testing with AWS CLI diff --git a/docs/INSTALL_ORIGINAL.md b/docs/INSTALL_ORIGINAL.md index 3334d25b1..85a79390a 100644 --- a/docs/INSTALL_ORIGINAL.md +++ b/docs/INSTALL_ORIGINAL.md @@ -1,4 +1,4 @@ -# Hive Installation +# Spinifex Installation Notes for development environment installation. @@ -15,20 +15,20 @@ For the development preview, please use one of the supported versions above. ## Download -Create the base directory for the Hive development environment. +Create the base directory for the Spinifex development environment. ```bash mkdir -p ~/Development/mulga/ cd ~/Development/mulga/ -git clone https://github.com/mulgadc/hive.git +git clone https://github.com/mulgadc/spinifex.git ``` ### Quick Install -To bootstrap all dependencies of Hive in one step (QEMU, Go, AWS CLI, OVN/OVS): +To bootstrap all dependencies of Spinifex in one step (QEMU, Go, AWS CLI, OVN/OVS): ```bash -sudo make -C hive quickinstall +sudo make -C spinifex quickinstall ``` Ensure Go is available in your `PATH` if not previously installed: @@ -56,7 +56,7 @@ Confirm Go is correctly installed, and set in your $PATH. go version ``` -Hive provides AWS API/SDK layer functionality, which requires the AWS CLI tool to be installed to interface with the system. +Spinifex provides AWS API/SDK layer functionality, which requires the AWS CLI tool to be installed to interface with the system. ```bash curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" @@ -77,16 +77,16 @@ aws --version Setup the dev environment and package dependencies on [viperblock](https://github.com/mulgadc/viperblock/) and [predastore](https://github.com/mulgadc/predastore/). ```bash -cd hive +cd spinifex ./scripts/clone-deps.sh # Clone viperblock + predastore repositories ./scripts/dev-setup.sh # Setup complete development environment ``` -Once complete, confirm `./bin/hive` exists and is executable. +Once complete, confirm `./bin/spx` exists and is executable. # Single Node Installation -For rapid development and testing, `hive` can be installed locally as a single node instance. Follow the instructions below for a complete working environment. For multi node installation, skip to [Multi-Node Installation](#multi-node-installation) +For rapid development and testing, `spx` can be installed locally as a single node instance. Follow the instructions below for a complete working environment. For multi node installation, skip to [Multi-Node Installation](#multi-node-installation) ## Setup OVN @@ -96,31 +96,31 @@ OVN provides the virtual networking layer for VPC instances. This step configure ./scripts/setup-ovn.sh --management ``` -This creates the `br-int` integration bridge, starts `ovn-controller`, starts the OVN central databases (NB DB + SB DB), configures Geneve tunnel endpoints, enables IP forwarding, and creates a sudoers rule so the Hive daemon can manage tap devices and OVS ports without running as root. Hive will not start without this step. +This creates the `br-int` integration bridge, starts `ovn-controller`, starts the OVN central databases (NB DB + SB DB), configures Geneve tunnel endpoints, enables IP forwarding, and creates a sudoers rule so the Spinifex daemon can manage tap devices and OVS ports without running as root. Spinifex will not start without this step. ## Init -When running Hive for the first time, run the init function to create the default directories for data, config files and layout required. +When running Spinifex for the first time, run the init function to create the default directories for data, config files and layout required. Example single node installation to get started, this will create a new region `ap-southeast-2` and availability zone `ap-southeast-2a` on your local instance: ```bash -./bin/hive admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 +./bin/spx admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 ``` ## Trust CA Certificate (Required) -Hive generates a local Certificate Authority (CA) during initialization. For AWS CLI and other tools to trust Hive services over HTTPS, you must add the CA certificate to your system's trust store. +Spinifex generates a local Certificate Authority (CA) during initialization. For AWS CLI and other tools to trust Spinifex services over HTTPS, you must add the CA certificate to your system's trust store. ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` Verify the certificate was added: ```bash -ls -la /usr/local/share/ca-certificates/hive-ca.crt +ls -la /usr/local/share/ca-certificates/spinifex-ca.crt ``` ## Launch Services @@ -134,7 +134,7 @@ Start the core services for development. Set the AWS profile to use the default admin account created during init: ```bash -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex ``` All subsequent `aws` CLI commands will use this account. @@ -148,7 +148,7 @@ For first install, create or import an existing key pair which can be used to la Import an existing key pair, replace `~/.ssh/id_rsa.pub` with your specified key. ```bash -aws ec2 import-key-pair --key-name "hive-key" --public-key-material fileb://~/.ssh/id_rsa.pub +aws ec2 import-key-pair --key-name "spinifex-key" --public-key-material fileb://~/.ssh/id_rsa.pub ``` If no key exists, generate one using `ssh-keygen` and repeat the command above. @@ -163,20 +163,20 @@ Alternatively, create a new key pair using the AWS CLI tool and store the JSON o ```bash aws ec2 create-key-pair \ - --key-name hive-key \ -| jq -r '.KeyMaterial | rtrimstr("\n")' > ~/.ssh/hive-key + --key-name spinifex-key \ +| jq -r '.KeyMaterial | rtrimstr("\n")' > ~/.ssh/spinifex-key ``` Update permissions for the key for SSH to accept reading the file. ```bash -chmod 600 ~/.ssh/hive-key +chmod 600 ~/.ssh/spinifex-key ``` Next, generate a public key from the specified private key pair. ```bash -ssh-keygen -y -f ~/.ssh/hive-key > ~/.ssh/hive-key.pub +ssh-keygen -y -f ~/.ssh/spinifex-key > ~/.ssh/spinifex-key.pub ``` ### Verify New Key @@ -193,7 +193,7 @@ aws ec2 describe-key-pairs "KeyType": "ed25519", "Tags": [], "CreateTime": "2025-10-28T13:39:23.458000+00:00", - "KeyName": "hive-key", + "KeyName": "spinifex-key", "KeyFingerprint": "SHA256:/g/A5OkeZeSydz9WUErXYVdCt00b0VbfN6RLn2YVFAY" } ] @@ -202,16 +202,16 @@ aws ec2 describe-key-pairs ## Create AMI Template -The Hive CLI tool offers 2 ways of importing an image. You can use automatic image importing, and select from our range of images. Alternatively, provide your own image source file (e.g image.tar.gz, image.gz, image.tar.xz) and the tool will automatically extract and upload the raw OS image as an AMI (after validating the image contains UEFI/BIOS boot capability). +The Spinifex CLI tool offers 2 ways of importing an image. You can use automatic image importing, and select from our range of images. Alternatively, provide your own image source file (e.g image.tar.gz, image.gz, image.tar.xz) and the tool will automatically extract and upload the raw OS image as an AMI (after validating the image contains UEFI/BIOS boot capability). -**Note:** When downloading OS images, use platforms that support the `cloud-init` feature to automatically bootstrap when using the Hive EC2 functionality to access SSH and networking services. +**Note:** When downloading OS images, use platforms that support the `cloud-init` feature to automatically bootstrap when using the Spinifex EC2 functionality to access SSH and networking services. ### Automatic Image Import -Discover available images to automatically download and install. This will pull the images from the distro official mirror and simplify the process to bootstrap a Hive installation with AMIs for common operating systems. +Discover available images to automatically download and install. This will pull the images from the distro official mirror and simplify the process to bootstrap a Spinifex installation with AMIs for common operating systems. ```bash -./bin/hive admin images list +./bin/spx admin images list ``` ```bash @@ -225,7 +225,7 @@ ubuntu-24.04-x86_64 | ubuntu | 24.04 | x86_64 | bios Next, choose the image you would like to import as an AMI. Choose the appropriate `x86_64` or `arm64` architecture depending on your platform. ```bash -./bin/hive admin images import --name debian-12-arm64 +./bin/spx admin images import --name debian-12-arm64 ``` ### Manual Image Import @@ -241,7 +241,7 @@ wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericclou Import as an AMI to the backend store: ```bash -./bin/hive admin images import --file ~/debian-12-genericcloud-arm64.tar.xz --arch arm64 --distro debian --version 12 +./bin/spx admin images import --file ~/debian-12-genericcloud-arm64.tar.xz --arch arm64 --distro debian --version 12 ``` ### Verify Image Import @@ -249,18 +249,18 @@ Import as an AMI to the backend store: Export the AMI. ```bash -export HIVE_AMI="ami-XXX" +export SPINIFEX_AMI="ami-XXX" ``` Next, verify available disk images to confirm the import was successful. ```bash -aws ec2 describe-images --image-ids $HIVE_AMI +aws ec2 describe-images --image-ids $SPINIFEX_AMI ``` ## Create VPC and Subnet -Every EC2 instance runs inside a VPC (Virtual Private Cloud) with an isolated virtual network. Hive creates a default VPC automatically during initialization, but you can also create your own. +Every EC2 instance runs inside a VPC (Virtual Private Cloud) with an isolated virtual network. Spinifex creates a default VPC automatically during initialization, but you can also create your own. ### Create a VPC @@ -282,7 +282,7 @@ aws ec2 create-vpc --cidr-block 10.200.0.0/16 Export the VPC ID: ```bash -export HIVE_VPC="vpc-XXX" +export SPINIFEX_VPC="vpc-XXX" ``` ### Create a Subnet @@ -290,7 +290,7 @@ export HIVE_VPC="vpc-XXX" Create a subnet within the VPC. All instances launched into this subnet will receive a private IP address from its CIDR range via DHCP. ```bash -aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 +aws ec2 create-subnet --vpc-id $SPINIFEX_VPC --cidr-block 10.200.1.0/24 ``` ```json @@ -308,7 +308,7 @@ aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 Export the Subnet ID — this is required when launching instances: ```bash -export HIVE_SUBNET="subnet-XXX" +export SPINIFEX_SUBNET="subnet-XXX" ``` ### Verify VPC Networking @@ -320,15 +320,15 @@ aws ec2 describe-vpcs aws ec2 describe-subnets ``` -Behind the scenes, Hive's `vpcd` service translates these into OVN topology: the VPC becomes a logical router, the subnet becomes a logical switch with DHCP options, and each instance launched into the subnet gets an OVN port with automatic IP assignment. +Behind the scenes, Spinifex's `vpcd` service translates these into OVN topology: the VPC becomes a logical router, the subnet becomes a logical switch with DHCP options, and each instance launched into the subnet gets an OVN port with automatic IP assignment. ## Run Instance -Once Hive is successfully installed and bootstrapped with a system AMI, SSH keys, and a VPC subnet, proceed to run an instance. +Once Spinifex is successfully installed and bootstrapped with a system AMI, SSH keys, and a VPC subnet, proceed to run an instance. ### Query Instance Types -Depending on the host platform Hive is installed, different compute instances will be available. +Depending on the host platform Spinifex is installed, different compute instances will be available. Query available instance types and choose an instance type available on your host: @@ -369,19 +369,19 @@ aws ec2 describe-instance-types Export the instance-type: ```sh -export HIVE_INSTANCE="t3.small" +export SPINIFEX_INSTANCE="t3.small" ``` ### Run Instance -Next, launch a new instance. The `--subnet-id` places the instance into your VPC subnet, where it will receive a private IP address via DHCP. The `hive-key` is the SSH key specified in the previous stage. +Next, launch a new instance. The `--subnet-id` places the instance into your VPC subnet, where it will receive a private IP address via DHCP. The `spinifex-key` is the SSH key specified in the previous stage. ```bash aws ec2 run-instances \ - --image-id $HIVE_AMI \ - --instance-type $HIVE_INSTANCE \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --image-id $SPINIFEX_AMI \ + --instance-type $SPINIFEX_INSTANCE \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 1 ``` @@ -402,7 +402,7 @@ A sample response is below from the `RunInstance` request. Note the `InstanceId` "PrivateIpAddress": "10.200.1.5", "SubnetId": "subnet-6e7f829e3a4b1c5d0", "VpcId": "vpc-1035bd70d9bc10b06", - "KeyName": "hive-key", + "KeyName": "spinifex-key", "InstanceType": "t3.micro", "LaunchTime": "2025-11-12T13:07:47.548000+00:00", "NetworkInterfaces": [ @@ -457,7 +457,7 @@ Confirm the `State.Name` attribute is set as `running` and the instance has a `P "PrivateIpAddress": "10.200.1.5", "SubnetId": "subnet-6e7f829e3a4b1c5d0", "VpcId": "vpc-1035bd70d9bc10b06", - "KeyName": "hive-key", + "KeyName": "spinifex-key", "InstanceType": "t3.micro", "LaunchTime": "2025-11-12T13:07:47.548000+00:00" } @@ -469,7 +469,7 @@ Confirm the `State.Name` attribute is set as `running` and the instance has a `P ## SSH Connection (development) -For a Hive development environment (toggled off for production), a local SSH port forwarding will be active to connect directly to the instance, regardless of the VPC and network settings. +For a Spinifex development environment (toggled off for production), a local SSH port forwarding will be active to connect directly to the instance, regardless of the VPC and network settings. Determine the SSH port allocated. @@ -484,12 +484,12 @@ qemu-system-x86_64 -daemonize -pidfile /run/user/1000/i-36765eb0c6609e4d.pid -qm Note the `hostfwd=tcp:127.0.0.1:33683-:22`, in this case the local port `33683` will connect to the new instance. ```bash -ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p 33683 +ssh -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 -p 33683 ... -Linux hive-vm-36765eb0 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64 -ec2-user@hive-vm-36765eb0:~$ +Linux spinifex-vm-36765eb0 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64 +ec2-user@spinifex-vm-36765eb0:~$ ``` Congratulations! Your first AMI image is imported, a new EC2 instance launched, and successfully connected via SSH for the configured SSH key, using the OS `cloud-init` procedure. @@ -542,7 +542,7 @@ aws ec2 describe-instances --instance-ids $INSTANCE_ID "Code": 80, "Name": "stopped" }, - "KeyName": "hive-key", + "KeyName": "spinifex-key", "InstanceType": "t3.micro", "LaunchTime": "2025-11-12T13:07:47.548000+00:00" } @@ -598,7 +598,7 @@ aws ec2 describe-instances --instance-ids "i-36765eb0c6609e4d2" "Code": 16, "Name": "running" }, - "KeyName": "hive-key", + "KeyName": "spinifex-key", "InstanceType": "t3.micro", "LaunchTime": "2025-11-12T13:07:47.548000+00:00" } @@ -644,29 +644,29 @@ On success no data will be returned, since the instance is no longer available. ## Additional Accounts (Optional) -The default `hive` account is created automatically during init. To create additional isolated accounts with their own resources (instances, volumes, VPCs, key pairs): +The default `spx` account is created automatically during init. To create additional isolated accounts with their own resources (instances, volumes, VPCs, key pairs): ```bash -./bin/hive admin account create --name myteam +./bin/spx admin account create --name myteam ``` -This provisions an IAM account with an admin user, generates access keys, and configures a local AWS CLI profile named `hive-myteam`. Resources created under one account are isolated from other accounts. +This provisions an IAM account with an admin user, generates access keys, and configures a local AWS CLI profile named `spinifex-myteam`. Resources created under one account are isolated from other accounts. ```bash -export AWS_PROFILE=hive-myteam +export AWS_PROFILE=spinifex-myteam ``` ## UI Management Panel -The Hive Platform also offers a web interface for managing hive services. Simply have the hive server running and go to [https://localhost:3000](https://localhost:3000) in your browser to continue. +The Spinifex Platform also offers a web interface for managing spx services. Simply have the hive server running and go to [https://localhost:3000](https://localhost:3000) in your browser to continue. -**Note:** If you are not viewing the website on the same machine that is running the hive server, you will need to go to [https://localhost:9999](https://localhost:9999) and [https://localhost:8443](https://localhost:8443) and accept the certificates. If you have added the CA to your local machine this is not needed. +**Note:** If you are not viewing the website on the same machine that is running the spinifex server, you will need to go to [https://localhost:9999](https://localhost:9999) and [https://localhost:8443](https://localhost:8443) and accept the certificates. If you have added the CA to your local machine this is not needed. # Multi-Node Installation -Hive is designed for distributed, multi-server deployments. A Hive cluster operates as a fully distributed infrastructure region — similar to an AWS Region — where multiple nodes work together to provide high availability, data durability, and fault tolerance across the platform. +Spinifex is designed for distributed, multi-server deployments. A Spinifex cluster operates as a fully distributed infrastructure region — similar to an AWS Region — where multiple nodes work together to provide high availability, data durability, and fault tolerance across the platform. -When deploying a multi-node cluster, you define a **region** (e.g., `ap-southeast-2`, `us-east-1`) and **availability zones** to organize your infrastructure. Services are distributed across nodes: NATS provides a clustered message bus for request routing and JetStream replication, Predastore uses Raft consensus with Reed-Solomon erasure coding (RS 2+1) for durable S3-compatible object storage, and the Hive daemon on each node can independently serve AWS API requests. The result is a platform where compute, storage, and API services are replicated — an AMI stored on one node is available from any node, an EC2 instance launched via any gateway is visible cluster-wide, and the loss of a single node does not compromise data or availability. +When deploying a multi-node cluster, you define a **region** (e.g., `ap-southeast-2`, `us-east-1`) and **availability zones** to organize your infrastructure. Services are distributed across nodes: NATS provides a clustered message bus for request routing and JetStream replication, Predastore uses Raft consensus with Reed-Solomon erasure coding (RS 2+1) for durable S3-compatible object storage, and the Spinifex daemon on each node can independently serve AWS API requests. The result is a platform where compute, storage, and API services are replicated — an AMI stored on one node is available from any node, an EC2 instance launched via any gateway is visible cluster-wide, and the loss of a single node does not compromise data or availability. Cluster formation is automatic. When initializing with `--nodes 3`, the init node starts a formation server and waits for other nodes to join. Once all nodes have registered, each node receives the full cluster topology — credentials, CA certificates, NATS routes, Predastore peer lists — and generates its own configuration files. No manual configuration synchronization is required. @@ -677,9 +677,9 @@ Cluster formation is automatic. When initializing with `--nodes 3`, the init nod | **Servers** | 1 machine, loopback IPs | 3+ physical/virtual servers | | **Use case** | Development & testing | Production & staging | | **Network** | `127.0.0.1/2/3` (no setup) | Real LAN IPs | -| **Data dirs** | `~/node1/`, `~/node2/`, `~/node3/` | `~/hive/` on each server | +| **Data dirs** | `~/node1/`, `~/node2/`, `~/node3/` | `~/spinifex/` on each server | -Both options use `HIVE_NODE1`, `HIVE_NODE2`, and `HIVE_NODE3` environment variables. Set them in the option you choose, then all subsequent sections (verification, usage, shutdown) reference them. +Both options use `SPINIFEX_NODE1`, `SPINIFEX_NODE2`, and `SPINIFEX_NODE3` environment variables. Set them in the option you choose, then all subsequent sections (verification, usage, shutdown) reference them. ### Option A: Simulated Multi-Node (Single Server) @@ -690,9 +690,9 @@ For development and testing, a 3-node cluster can be simulated on a single machi ```bash make build -export HIVE_NODE1=127.0.0.1 -export HIVE_NODE2=127.0.0.2 -export HIVE_NODE3=127.0.0.3 +export SPINIFEX_NODE1=127.0.0.1 +export SPINIFEX_NODE2=127.0.0.2 +export SPINIFEX_NODE3=127.0.0.3 ``` #### 2. Setup OVN @@ -712,28 +712,28 @@ The formation process requires running init and join commands concurrently. The **Terminal 1 — Initialize the leader node:** ```bash -./bin/hive admin init \ +./bin/spx admin init \ --node node1 \ --nodes 3 \ - --bind $HIVE_NODE1 \ - --cluster-bind $HIVE_NODE1 \ + --bind $SPINIFEX_NODE1 \ + --cluster-bind $SPINIFEX_NODE1 \ --port 4432 \ - --hive-dir ~/node1/ \ + --spinifex-dir ~/node1/ \ --config-dir ~/node1/config/ \ --region ap-southeast-2 \ --az ap-southeast-2a ``` -This starts a formation server on `$HIVE_NODE1:4432` and waits for 2 more nodes to join. +This starts a formation server on `$SPINIFEX_NODE1:4432` and waits for 2 more nodes to join. **Terminal 2 — Join node 2 (while init is running):** ```bash -./bin/hive admin join \ +./bin/spx admin join \ --node node2 \ - --bind $HIVE_NODE2 \ - --cluster-bind $HIVE_NODE2 \ - --host $HIVE_NODE1:4432 \ + --bind $SPINIFEX_NODE2 \ + --cluster-bind $SPINIFEX_NODE2 \ + --host $SPINIFEX_NODE1:4432 \ --data-dir ~/node2/ \ --config-dir ~/node2/config/ \ --region ap-southeast-2 \ @@ -743,11 +743,11 @@ This starts a formation server on `$HIVE_NODE1:4432` and waits for 2 more nodes **Terminal 3 — Join node 3 (while init is running):** ```bash -./bin/hive admin join \ +./bin/spx admin join \ --node node3 \ - --bind $HIVE_NODE3 \ - --cluster-bind $HIVE_NODE3 \ - --host $HIVE_NODE1:4432 \ + --bind $SPINIFEX_NODE3 \ + --cluster-bind $SPINIFEX_NODE3 \ + --host $SPINIFEX_NODE1:4432 \ --data-dir ~/node3/ \ --config-dir ~/node3/config/ \ --region ap-southeast-2 \ @@ -774,14 +774,14 @@ For production or production-like deployments across multiple physical servers o On **each server**: -1. Install Hive dependencies (see [Dependencies](#dependencies) above) +1. Install Spinifex dependencies (see [Dependencies](#dependencies) above) 2. Clone the repository and build: ```bash mkdir -p ~/Development/mulga/ cd ~/Development/mulga/ -git clone https://github.com/mulgadc/hive.git -cd hive +git clone https://github.com/mulgadc/spinifex.git +cd spinifex ./scripts/clone-deps.sh make build ``` @@ -802,9 +802,9 @@ With a **single NIC**, use the one real IP (e.g. `192.168.1.10`) for everything. Export the IPs for your three servers (replace with your actual IPs) on each server: ```bash -export HIVE_NODE1=192.168.1.10 -export HIVE_NODE2=192.168.1.11 -export HIVE_NODE3=192.168.1.12 +export SPINIFEX_NODE1=192.168.1.10 +export SPINIFEX_NODE2=192.168.1.11 +export SPINIFEX_NODE3=192.168.1.12 ``` #### 2. Setup OVN @@ -816,8 +816,8 @@ OVN must be configured on every server before forming the cluster. Server 1 runs **Server 1 — OVN central + compute (run first):** ```bash -cd ~/Development/mulga/hive -./scripts/setup-ovn.sh --management --encap-ip=$HIVE_NODE1 +cd ~/Development/mulga/spinifex +./scripts/setup-ovn.sh --management --encap-ip=$SPINIFEX_NODE1 ``` Verify OVN central is ready before proceeding to other servers: @@ -829,15 +829,15 @@ sudo ovn-sbctl show **Server 2 — Compute node (after server 1 is ready):** ```bash -cd ~/Development/mulga/hive -./scripts/setup-ovn.sh --ovn-remote=tcp:$HIVE_NODE1:6642 --encap-ip=$HIVE_NODE2 +cd ~/Development/mulga/spinifex +./scripts/setup-ovn.sh --ovn-remote=tcp:$SPINIFEX_NODE1:6642 --encap-ip=$SPINIFEX_NODE2 ``` **Server 3 — Compute node (after server 1 is ready):** ```bash -cd ~/Development/mulga/hive -./scripts/setup-ovn.sh --ovn-remote=tcp:$HIVE_NODE1:6642 --encap-ip=$HIVE_NODE3 +cd ~/Development/mulga/spinifex +./scripts/setup-ovn.sh --ovn-remote=tcp:$SPINIFEX_NODE1:6642 --encap-ip=$SPINIFEX_NODE3 ``` Verify OVN is running on all servers: @@ -861,16 +861,16 @@ If your servers have a dedicated data/overlay NIC separate from the management N **Server 1 — Initialize the cluster:** ```bash -cd ~/Development/mulga/hive +cd ~/Development/mulga/spinifex -./bin/hive admin init \ +./bin/spx admin init \ --node node1 \ --nodes 3 \ - --bind $HIVE_NODE1 \ - --cluster-bind $HIVE_NODE1 \ + --bind $SPINIFEX_NODE1 \ + --cluster-bind $SPINIFEX_NODE1 \ --port 4432 \ - --hive-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --spinifex-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -878,15 +878,15 @@ cd ~/Development/mulga/hive **Server 2 — Join the cluster (while init is running):** ```bash -cd ~/Development/mulga/hive +cd ~/Development/mulga/spinifex -./bin/hive admin join \ +./bin/spx admin join \ --node node2 \ - --bind $HIVE_NODE2 \ - --cluster-bind $HIVE_NODE2 \ - --host $HIVE_NODE1:4432 \ - --data-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --bind $SPINIFEX_NODE2 \ + --cluster-bind $SPINIFEX_NODE2 \ + --host $SPINIFEX_NODE1:4432 \ + --data-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -894,15 +894,15 @@ cd ~/Development/mulga/hive **Server 3 — Join the cluster (while init is running):** ```bash -cd ~/Development/mulga/hive +cd ~/Development/mulga/spinifex -./bin/hive admin join \ +./bin/spx admin join \ --node node3 \ - --bind $HIVE_NODE3 \ - --cluster-bind $HIVE_NODE3 \ - --host $HIVE_NODE1:4432 \ - --data-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --bind $SPINIFEX_NODE3 \ + --cluster-bind $SPINIFEX_NODE3 \ + --host $SPINIFEX_NODE1:4432 \ + --data-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -922,41 +922,41 @@ After formation completes, start services on **all servers**: From any node, view cluster status and resource capacity: ```bash -./bin/hive get nodes +./bin/spx get nodes # NAME STATUS IP REGION AZ UPTIME VMs SERVICES -# node1 Ready $HIVE_NODE1 ... ... 2m 0 nats,predastore,viperblock,daemon,... -# node2 Ready $HIVE_NODE2 ... ... 2m 0 nats,predastore,viperblock,daemon -# node3 Ready $HIVE_NODE3 ... ... 2m 0 nats,predastore,viperblock,daemon +# node1 Ready $SPINIFEX_NODE1 ... ... 2m 0 nats,predastore,viperblock,daemon,... +# node2 Ready $SPINIFEX_NODE2 ... ... 2m 0 nats,predastore,viperblock,daemon +# node3 Ready $SPINIFEX_NODE3 ... ... 2m 0 nats,predastore,viperblock,daemon -./bin/hive top nodes +./bin/spx top nodes # NAME CPU (used/total) MEM (used/total) VMs # node1 0/16 0.0Gi/30.6Gi 0 # node2 0/16 0.0Gi/30.6Gi 0 # node3 0/16 0.0Gi/30.6Gi 0 ``` -All nodes should show `Ready` status. Use `./bin/hive get vms` to see running instances across the cluster. +All nodes should show `Ready` status. Use `./bin/spx get vms` to see running instances across the cluster. Check individual daemon health endpoints: ```bash -curl -s http://$HIVE_NODE1:4432/health -curl -s http://$HIVE_NODE2:4432/health -curl -s http://$HIVE_NODE3:4432/health +curl -s http://$SPINIFEX_NODE1:4432/health +curl -s http://$SPINIFEX_NODE2:4432/health +curl -s http://$SPINIFEX_NODE3:4432/health ``` Check NATS cluster routing (from any node): ```bash grep -i "route\|cluster" ~/node1/logs/nats.log # simulated -grep -i "route\|cluster" ~/hive/logs/nats.log # real multi-server +grep -i "route\|cluster" ~/spinifex/logs/nats.log # real multi-server ``` Check Predastore Raft consensus: ```bash grep -i "leader\|election" ~/node1/logs/predastore.log # simulated -grep -i "leader\|election" ~/hive/logs/predastore.log # real multi-server +grep -i "leader\|election" ~/spinifex/logs/predastore.log # real multi-server ``` ## Trust CA Certificate @@ -964,21 +964,21 @@ grep -i "leader\|election" ~/hive/logs/predastore.log # real multi-server The CA certificate is generated by the init node and distributed to all joining nodes during formation. On **each node** (or the single machine for simulated mode), trust the CA: ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` For simulated mode, the config directory is under each node's data directory — copy from any node since the CA is the same: ```bash -sudo cp ~/node1/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/node1/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` Set the AWS profile to use the default admin account created during init: ```bash -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex ``` ## Using the Cluster @@ -986,8 +986,8 @@ export AWS_PROFILE=hive Connect to any node's AWS Gateway — all nodes serve the same cluster state: ```bash -AWS_ENDPOINT_URL=https://$HIVE_NODE1:9999 aws ec2 describe-instances -AWS_ENDPOINT_URL=https://$HIVE_NODE2:9999 aws ec2 describe-instances +AWS_ENDPOINT_URL=https://$SPINIFEX_NODE1:9999 aws ec2 describe-instances +AWS_ENDPOINT_URL=https://$SPINIFEX_NODE2:9999 aws ec2 describe-instances ``` ### Create SSH Key @@ -995,24 +995,24 @@ AWS_ENDPOINT_URL=https://$HIVE_NODE2:9999 aws ec2 describe-instances Create or import an SSH key pair from **any node** — the key is stored in Predastore and available cluster-wide: ```bash -aws ec2 import-key-pair --key-name "hive-key" --public-key-material fileb://~/.ssh/id_rsa.pub +aws ec2 import-key-pair --key-name "spinifex-key" --public-key-material fileb://~/.ssh/id_rsa.pub ``` Or generate a new key pair: ```bash aws ec2 create-key-pair \ - --key-name hive-key \ -| jq -r '.KeyMaterial | rtrimstr("\n")' > ~/.ssh/hive-key -chmod 600 ~/.ssh/hive-key + --key-name spinifex-key \ +| jq -r '.KeyMaterial | rtrimstr("\n")' > ~/.ssh/spinifex-key +chmod 600 ~/.ssh/spinifex-key ``` **Important:** If you want to ssh into instances, you will need to copy the private key to every node in the cluster. Instance SSH port forwarding is only accessible from the node running the VM, so you need the key available on all nodes: ```bash # From the node where the key was created, copy to other nodes: -scp ~/.ssh/hive-key tf-user@$HIVE_NODE2:~/.ssh/hive-key -scp ~/.ssh/hive-key tf-user@$HIVE_NODE3:~/.ssh/hive-key +scp ~/.ssh/spinifex-key tf-user@$SPINIFEX_NODE2:~/.ssh/spinifex-key +scp ~/.ssh/spinifex-key tf-user@$SPINIFEX_NODE3:~/.ssh/spinifex-key ``` ### Create AMI Template @@ -1020,15 +1020,15 @@ scp ~/.ssh/hive-key tf-user@$HIVE_NODE3:~/.ssh/hive-key Import an OS image from **any node**. The AMI is stored in Predastore and available cluster-wide: ```bash -./bin/hive admin images list -./bin/hive admin images import --name debian-12-x86_64 +./bin/spx admin images list +./bin/spx admin images import --name debian-12-x86_64 ``` Verify and export the AMI ID: ```bash aws ec2 describe-images -export HIVE_AMI="ami-XXX" +export SPINIFEX_AMI="ami-XXX" ``` See the [single-node AMI section](#create-ami-template) for more options (manual import, custom images). @@ -1039,10 +1039,10 @@ Create a VPC and subnet for your cluster. This only needs to be done once — th ```bash aws ec2 create-vpc --cidr-block 10.200.0.0/16 -export HIVE_VPC="vpc-XXX" +export SPINIFEX_VPC="vpc-XXX" -aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 -export HIVE_SUBNET="subnet-XXX" +aws ec2 create-subnet --vpc-id $SPINIFEX_VPC --cidr-block 10.200.1.0/24 +export SPINIFEX_SUBNET="subnet-XXX" ``` Verify the OVN topology was created (from server 1): @@ -1054,14 +1054,14 @@ sudo ovn-nbctl ls-list # One logical switch per subnet ### Launching Instances Across Nodes -Use `--count` to launch multiple instances in a single request. Hive distributes them across nodes in the cluster based on available capacity — instances land on different physical hosts but share the same VPC subnet, and can route traffic to each other over OVN's Geneve overlay: +Use `--count` to launch multiple instances in a single request. Spinifex distributes them across nodes in the cluster based on available capacity — instances land on different physical hosts but share the same VPC subnet, and can route traffic to each other over OVN's Geneve overlay: ```bash aws ec2 run-instances \ - --image-id $HIVE_AMI \ - --instance-type $HIVE_INSTANCE \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --image-id $SPINIFEX_AMI \ + --instance-type $SPINIFEX_INSTANCE \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 3 ``` @@ -1076,7 +1076,7 @@ aws ec2 describe-instances Check which node each instance landed on: ```bash -./bin/hive get vms +./bin/spx get vms ``` ### Verifying Cross-Host Connectivity @@ -1090,7 +1090,7 @@ ps auxw | grep hostfwd ``` ```bash -ssh -i ~/.ssh/hive-key ec2-user@ -p +ssh -i ~/.ssh/spinifex-key ec2-user@ -p ``` From inside the VM, ping an instance running on a **different physical node**: @@ -1101,7 +1101,7 @@ ping 10.200.1.6 If the ping succeeds across hosts, the OVN Geneve overlay is working correctly — traffic is being encapsulated and routed between physical servers transparently. -Check logs on each node for debugging. Log locations depend on your deployment mode — `~/node{1,2,3}/logs/` for simulated, `~/hive/logs/` for real multi-server. +Check logs on each node for debugging. Log locations depend on your deployment mode — `~/node{1,2,3}/logs/` for simulated, `~/spinifex/logs/` for real multi-server. ## Advanced Configuration @@ -1154,14 +1154,14 @@ Example with management NIC `192.168.1.0/24` and overlay NIC `10.0.0.0/24`. The Server 1: ```bash -./bin/hive admin init \ +./bin/spx admin init \ --node node1 \ --nodes 3 \ --bind 192.168.1.10 \ --cluster-bind 192.168.1.10 \ --port 4432 \ - --hive-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --spinifex-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -1169,13 +1169,13 @@ Server 1: Server 2 (while init is running): ```bash -./bin/hive admin join \ +./bin/spx admin join \ --node node2 \ --bind 192.168.1.11 \ --cluster-bind 192.168.1.11 \ --host 192.168.1.10:4432 \ - --data-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --data-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -1183,13 +1183,13 @@ Server 2 (while init is running): Server 3 (while init is running): ```bash -./bin/hive admin join \ +./bin/spx admin join \ --node node3 \ --bind 192.168.1.12 \ --cluster-bind 192.168.1.12 \ --host 192.168.1.10:4432 \ - --data-dir ~/hive/ \ - --config-dir ~/hive/config/ \ + --data-dir ~/spinifex/ \ + --config-dir ~/spinifex/config/ \ --region us-east-1 \ --az us-east-1a ``` @@ -1204,7 +1204,7 @@ sudo ip addr add 10.11.12.2/24 dev eth0 sudo ip addr add 10.11.12.3/24 dev eth0 ``` -Replace `eth0` with your network interface name (e.g., `enp0s3`, `ens33`). Then export these as your `HIVE_NODE` variables instead of the loopback addresses. +Replace `eth0` with your network interface name (e.g., `enp0s3`, `ens33`). Then export these as your `SPINIFEX_NODE` variables instead of the loopback addresses. To remove the aliases: @@ -1221,7 +1221,7 @@ When running in the multi-server cluster mode a graceful shutdown is required to On any node, issue the following command to shutdown nodes cluster wide: ```sh -./bin/hive admin cluster shutdown +./bin/spx admin cluster shutdown ``` Example output: @@ -1231,9 +1231,9 @@ Phases: gate -> drain -> storage -> persist -> infra Timeout per phase: 2m0s [GATE] Sending to 3 node(s)... - [GATE] node1: stopped awsgw, hive-ui - [GATE] node3: stopped awsgw, hive-ui - [GATE] node2: stopped awsgw, hive-ui + [GATE] node1: stopped awsgw, spinifex-ui + [GATE] node3: stopped awsgw, spinifex-ui + [GATE] node2: stopped awsgw, spinifex-ui [GATE] Complete (3/3 nodes, 2.005s) [DRAIN] Sending to 3 node(s)... diff --git a/docs/README.md b/docs/README.md index f78b0d7f0..457c407a3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,3 @@ -# Hive Documentation +# Spinifex Documentation -This directory contains the Hive documentation. This is available in individual markdown files, and a generated website to aid navigation and browing documentation at: [https://docs.mulgadc.com](https://docs.mulgadc.com/) +This directory contains the Spinifex documentation. This is available in individual markdown files, and a generated website to aid navigation and browing documentation at: [https://docs.mulgadc.com](https://docs.mulgadc.com/) diff --git a/docs/creating-accounts/README.md b/docs/creating-accounts/README.md index 9bbf45ceb..d9a753e81 100644 --- a/docs/creating-accounts/README.md +++ b/docs/creating-accounts/README.md @@ -7,8 +7,8 @@ tags: - iam - admin resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" --- # Creating Accounts @@ -25,15 +25,15 @@ resources: ## Overview -Hive supports multi-tenant account isolation. Each account gets its own IAM credentials, AWS CLI profile, and isolated resource namespace. +Spinifex supports multi-tenant account isolation. Each account gets its own IAM credentials, AWS CLI profile, and isolated resource namespace. ## Instructions ## Create Account ```bash -./bin/hive admin account create --name myteam -export AWS_PROFILE=hive-myteam +./bin/spx admin account create --name myteam +export AWS_PROFILE=spinifex-myteam ``` ## Verify @@ -57,5 +57,5 @@ Ensure the `AWS_PROFILE` environment variable matches the profile name: ```bash echo $AWS_PROFILE -export AWS_PROFILE=hive-myteam +export AWS_PROFILE=spinifex-myteam ``` diff --git a/docs/creating-an-environment/README.md b/docs/creating-an-environment/README.md index dda257f69..922954b69 100644 --- a/docs/creating-an-environment/README.md +++ b/docs/creating-an-environment/README.md @@ -8,8 +8,8 @@ tags: - ec2 - ssh resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "Debian Cloud Images" url: "https://cloud.debian.org/images/cloud/bookworm/latest/" --- @@ -28,7 +28,7 @@ resources: ## Overview -This guide walks through the complete workflow for creating a production-ready Hive environment. +This guide walks through the complete workflow for creating a production-ready Spinifex environment. **Steps:** 1. Create a user account @@ -44,35 +44,35 @@ This guide walks through the complete workflow for creating a production-ready H ## 1. Import SSH Key ```bash -aws ec2 import-key-pair --key-name "hive-key" --public-key-material fileb://~/.ssh/id_rsa.pub +aws ec2 import-key-pair --key-name "spinifex-key" --public-key-material fileb://~/.ssh/id_rsa.pub ``` ## 2. Create VPC ```bash aws ec2 create-vpc --cidr-block 10.200.0.0/16 -export HIVE_VPC="vpc-XXX" +export SPINIFEX_VPC="vpc-XXX" -aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 -export HIVE_SUBNET="subnet-XXX" +aws ec2 create-subnet --vpc-id $SPINIFEX_VPC --cidr-block 10.200.1.0/24 +export SPINIFEX_SUBNET="subnet-XXX" ``` ## 3. Import AMI ```bash -./bin/hive admin images list -./bin/hive admin images import --name debian-12-x86_64 -export HIVE_AMI="ami-XXX" +./bin/spx admin images list +./bin/spx admin images import --name debian-12-x86_64 +export SPINIFEX_AMI="ami-XXX" ``` ## 4. Launch Instance ```bash aws ec2 run-instances \ - --image-id $HIVE_AMI \ + --image-id $SPINIFEX_AMI \ --instance-type t3.small \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 1 ``` @@ -82,24 +82,24 @@ aws ec2 run-instances \ ps auxw | grep $INSTANCE_ID # Look for: hostfwd=tcp:127.0.0.1:-:22 -ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p +ssh -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 -p ``` ## Troubleshooting ## Instance stuck in pending -Check the Hive daemon and QEMU logs for boot errors: +Check the Spinifex daemon and QEMU logs for boot errors: ```bash -ls ~/hive/logs/ -cat ~/hive/logs/daemon.log +ls ~/spinifex/logs/ +cat ~/spinifex/logs/daemon.log ``` Verify the AMI exists and architecture matches your host: ```bash -aws ec2 describe-images --image-ids $HIVE_AMI +aws ec2 describe-images --image-ids $SPINIFEX_AMI ``` ## SSH connection refused @@ -115,5 +115,5 @@ ps auxw | grep hostfwd Ensure you're using the correct key and port: ```bash -ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p +ssh -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 -p ``` diff --git a/docs/hybrid-sync/README.md b/docs/hybrid-sync/README.md index 282306be3..1ff5a920b 100644 --- a/docs/hybrid-sync/README.md +++ b/docs/hybrid-sync/README.md @@ -1,19 +1,19 @@ --- title: "Hybrid Sync" -description: "Synchronize data between Hive and AWS when network connectivity is available." +description: "Synchronize data between Spinifex and AWS when network connectivity is available." category: "Migration" tags: - hybrid - sync - s3 resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" --- # Hybrid Sync -> Synchronize data between Hive and AWS when network connectivity is available. +> Synchronize data between Spinifex and AWS when network connectivity is available. ## Table of Contents @@ -25,7 +25,7 @@ resources: ## Overview -Hive's hybrid mode enables bidirectional data synchronization between local infrastructure and AWS cloud services. Ideal for intermittent connectivity environments. +Spinifex's hybrid mode enables bidirectional data synchronization between local infrastructure and AWS cloud services. Ideal for intermittent connectivity environments. ## Instructions @@ -33,20 +33,20 @@ Hive's hybrid mode enables bidirectional data synchronization between local infr ```bash aws s3 sync s3://local-bucket/ s3://cloud-bucket/ \ - --source-region hive --region us-east-1 + --source-region spinifex --region us-east-1 ``` ## Pull Cloud to Local ```bash aws s3 sync s3://cloud-bucket/ s3://local-bucket/ \ - --source-region us-east-1 --region hive + --source-region us-east-1 --region spinifex ``` ## EBS Volume Backup ```bash -rsync -avz /data/ user@cloud-server:/backup/hive-data/ +rsync -avz /data/ user@cloud-server:/backup/spinifex-data/ ``` ## Troubleshooting @@ -57,7 +57,7 @@ S3 sync is idempotent — re-run the same command to resume where it left off: ```bash aws s3 sync s3://local-bucket/ s3://cloud-bucket/ \ - --source-region hive --region us-east-1 + --source-region spinifex --region us-east-1 ``` Only changed or missing files will be transferred on subsequent runs. @@ -67,7 +67,7 @@ Only changed or missing files will be transferred on subsequent runs. Verify your AWS credentials are configured for both the source and destination: ```bash -aws sts get-caller-identity --profile hive +aws sts get-caller-identity --profile spinifex aws sts get-caller-identity --profile default ``` diff --git a/docs/installing-hive-airgapped/README.md b/docs/installing-spinifex-airgapped/README.md similarity index 78% rename from docs/installing-hive-airgapped/README.md rename to docs/installing-spinifex-airgapped/README.md index c27a2c6dc..48a2b4d53 100644 --- a/docs/installing-hive-airgapped/README.md +++ b/docs/installing-spinifex-airgapped/README.md @@ -1,6 +1,6 @@ --- title: "Air-Gapped Installation" -description: "Deploy Hive in environments without internet connectivity. Covers offline package caching, USB deployment, and package verification." +description: "Deploy Spinifex in environments without internet connectivity. Covers offline package caching, USB deployment, and package verification." category: "Getting Started" tags: - install @@ -8,15 +8,15 @@ tags: - offline badge: advanced resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "apt-cacher-ng" url: "https://wiki.debian.org/AptCacherNg" --- # Air-Gapped Installation -> Deploy Hive in environments without internet connectivity. +> Deploy Spinifex in environments without internet connectivity. ## Table of Contents @@ -28,7 +28,7 @@ resources: ## Overview -In air-gapped or disconnected environments, Hive can be deployed without internet access. This guide covers preparing offline packages on a connected machine, creating USB deployment media, and installing on the target server with package verification. +In air-gapped or disconnected environments, Spinifex can be deployed without internet access. This guide covers preparing offline packages on a connected machine, creating USB deployment media, and installing on the target server with package verification. **Deployment methods:** - **apt-cacher-ng** — Local APT cache for Debian/Ubuntu packages @@ -47,7 +47,7 @@ sudo apt install apt-cacher-ng sudo systemctl enable --now apt-cacher-ng ``` -Pre-download all Hive dependencies: +Pre-download all Spinifex dependencies: ```bash sudo apt install --download-only nbdkit nbdkit-plugin-dev pkg-config \ @@ -62,7 +62,7 @@ sudo apt install --download-only nbdkit nbdkit-plugin-dev pkg-config \ mkdir -p /media/hive-deploy/{apt-packages,go-cache,hive-source} cp /var/cache/apt/archives/*.deb /media/hive-deploy/apt-packages/ cp -r ~/go/pkg/mod/cache/ /media/hive-deploy/go-cache/ -cp -r ~/Development/mulga/hive /media/hive-deploy/hive-source/ +cp -r ~/Development/mulga/spinifex /media/hive-deploy/hive-source/ ``` ## Step 3. Verify package integrity @@ -82,8 +82,8 @@ Mount the USB and install: ```bash sudo mount /dev/sdb1 /mnt/usb sudo dpkg -i /mnt/usb/apt-packages/*.deb -cp -r /mnt/usb/hive-source ~/Development/mulga/hive -cd ~/Development/mulga/hive && make build +cp -r /mnt/usb/hive-source ~/Development/mulga/spinifex +cd ~/Development/mulga/spinifex && make build ``` Then follow the [Source Install](/docs/source-install) guide from Step 3 (Setup OVN) onwards. diff --git a/docs/installing-hive-multi-node/README.md b/docs/installing-spinifex-multi-node/README.md similarity index 74% rename from docs/installing-hive-multi-node/README.md rename to docs/installing-spinifex-multi-node/README.md index ddcce9d1d..a8c1f2ac7 100644 --- a/docs/installing-hive-multi-node/README.md +++ b/docs/installing-spinifex-multi-node/README.md @@ -1,6 +1,6 @@ --- title: "Multi-Node Installation" -description: "Deploy Hive across multiple servers to create an availability zone with high availability, data durability, and fault tolerance." +description: "Deploy Spinifex across multiple servers to create an availability zone with high availability, data durability, and fault tolerance." category: "Getting Started" tags: - install @@ -8,8 +8,8 @@ tags: - cluster badge: availability-zone resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "Predastore (S3)" url: "https://github.com/mulgadc/predastore" - title: "Viperblock (EBS)" @@ -18,7 +18,7 @@ resources: # Multi-Node Installation -> Deploy Hive across multiple servers to create an availability zone. +> Deploy Spinifex across multiple servers to create an availability zone. ## Table of Contents @@ -30,13 +30,13 @@ resources: ## Overview -A Hive cluster operates as a fully distributed infrastructure region — similar to an AWS Region — where multiple nodes provide high availability, data durability, and fault tolerance. +A Spinifex cluster operates as a fully distributed infrastructure region — similar to an AWS Region — where multiple nodes provide high availability, data durability, and fault tolerance. **Services distributed across nodes:** - **NATS** — Clustered message bus for request routing and JetStream replication - **Predastore** — Raft consensus with Reed-Solomon erasure coding (RS 2+1) - **Viperblock** — Block storage co-located with compute nodes -- **Hive Daemon** — Independent AWS API request serving per node +- **Spinifex Daemon** — Independent AWS API request serving per node Cluster formation is automatic. When initializing with `--nodes 3`, the init node starts a formation server and waits for peers to join. Once all nodes register, each receives the full cluster topology — credentials, CA certificates, NATS routes, Predastore peer lists — no manual configuration synchronization required. @@ -47,7 +47,7 @@ Cluster formation is automatic. When initializing with `--nodes 3`, the init nod ## Instructions -## Step 1. Install Hive on each server +## Step 1. Install Spinifex on each server Run the binary installer on **every server** in the cluster: @@ -60,9 +60,9 @@ curl https://install.mulgadc.com/ | bash On **each server**, export the IPs for all nodes (replace with your actual IPs): ```bash -export HIVE_NODE1=192.168.1.10 -export HIVE_NODE2=192.168.1.11 -export HIVE_NODE3=192.168.1.12 +export SPINIFEX_NODE1=192.168.1.10 +export SPINIFEX_NODE2=192.168.1.11 +export SPINIFEX_NODE3=192.168.1.12 ``` To find your server's IP: @@ -85,7 +85,7 @@ OVN must be configured on every server before forming the cluster. Server 1 runs **Server 1 — OVN central + compute (run first):** ```bash -sudo /usr/local/share/hive/setup-ovn.sh --management --encap-ip=$HIVE_NODE1 +sudo /usr/local/share/hive/setup-ovn.sh --management --encap-ip=$SPINIFEX_NODE1 ``` Verify OVN central is ready before proceeding: @@ -97,13 +97,13 @@ sudo ovn-sbctl show **Server 2 — Compute node (after server 1 is ready):** ```bash -sudo /usr/local/share/hive/setup-ovn.sh --ovn-remote=tcp:$HIVE_NODE1:6642 --encap-ip=$HIVE_NODE2 +sudo /usr/local/share/hive/setup-ovn.sh --ovn-remote=tcp:$SPINIFEX_NODE1:6642 --encap-ip=$SPINIFEX_NODE2 ``` **Server 3 — Compute node (after server 1 is ready):** ```bash -sudo /usr/local/share/hive/setup-ovn.sh --ovn-remote=tcp:$HIVE_NODE1:6642 --encap-ip=$HIVE_NODE3 +sudo /usr/local/share/hive/setup-ovn.sh --ovn-remote=tcp:$SPINIFEX_NODE1:6642 --encap-ip=$SPINIFEX_NODE3 ``` Verify all chassis have registered (from server 1): @@ -121,11 +121,11 @@ The formation process requires running init and join commands concurrently. The **Server 1 — Initialize the cluster:** ```bash -sudo hive admin init \ +sudo spx admin init \ --node node1 \ --nodes 3 \ - --bind $HIVE_NODE1 \ - --cluster-bind $HIVE_NODE1 \ + --bind $SPINIFEX_NODE1 \ + --cluster-bind $SPINIFEX_NODE1 \ --port 4432 \ --region $AWS_REGION \ --az $AWS_AZ @@ -134,11 +134,11 @@ sudo hive admin init \ **Server 2 — Join the cluster (while init is running):** ```bash -hive admin join \ +spx admin join \ --node node2 \ - --bind $HIVE_NODE2 \ - --cluster-bind $HIVE_NODE2 \ - --host $HIVE_NODE1:4432 \ + --bind $SPINIFEX_NODE2 \ + --cluster-bind $SPINIFEX_NODE2 \ + --host $SPINIFEX_NODE1:4432 \ --region $AWS_REGION \ --az $AWS_AZ ``` @@ -146,11 +146,11 @@ hive admin join \ **Server 3 — Join the cluster (while init is running):** ```bash -hive admin join \ +spx admin join \ --node node3 \ - --bind $HIVE_NODE3 \ - --cluster-bind $HIVE_NODE3 \ - --host $HIVE_NODE1:4432 \ + --bind $SPINIFEX_NODE3 \ + --cluster-bind $SPINIFEX_NODE3 \ + --host $SPINIFEX_NODE1:4432 \ --region $AWS_REGION \ --az $AWS_AZ ``` @@ -162,13 +162,13 @@ All three processes will exit with a cluster summary once formation is complete. Start services on **all servers**: ```bash -sudo systemctl start hive.target +sudo systemctl start spinifex.target ``` From any node, verify the cluster: ```bash -hive get nodes +spx get nodes ``` ``` @@ -183,9 +183,9 @@ node3 Ready 192.168.1.12 us-east-1 us-east-1a 2m 0 On **each server**, trust the CA generated during init: ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex ``` ## Step 7. Launch instances across the cluster @@ -194,17 +194,17 @@ Connect to any node's AWS Gateway — all nodes serve the same cluster state: ```bash aws ec2 run-instances \ - --image-id $HIVE_AMI \ + --image-id $SPINIFEX_AMI \ --instance-type t3.small \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 3 ``` -Hive distributes instances across nodes based on available capacity. Check which node each instance landed on: +Spinifex distributes instances across nodes based on available capacity. Check which node each instance landed on: ```bash -hive get vms +spx get vms ``` ## Shutdown @@ -212,7 +212,7 @@ hive get vms A graceful shutdown coordinates all nodes — drains VMs, flushes storage, and stops services: ```bash -hive admin cluster shutdown +spx admin cluster shutdown ``` ## Troubleshooting @@ -224,7 +224,7 @@ The init command must still be running when you execute join on other servers. I Check that all servers can reach the init node on the formation port: ```bash -curl -s http://$HIVE_NODE1:4432/health +curl -s http://$SPINIFEX_NODE1:4432/health ``` ## OVN chassis not registering @@ -264,13 +264,13 @@ If tunnels are missing, verify `--encap-ip` was set correctly during OVN setup. Check if the daemon is running and listening on the correct IP: ```bash -curl -s http://$HIVE_NODE1:4432/health +curl -s http://$SPINIFEX_NODE1:4432/health ``` Review the daemon logs for errors: ```bash -cat ~/hive/logs/daemon.log +cat ~/spinifex/logs/daemon.log ``` Verify `--bind` was set to the correct IP during cluster formation. @@ -280,7 +280,7 @@ Verify `--bind` was set to the correct IP during cluster formation. Check NATS logs for connection errors between nodes: ```bash -grep -i "route\|cluster" ~/hive/logs/nats.log +grep -i "route\|cluster" ~/spinifex/logs/nats.log ``` Ensure `--cluster-bind` IPs are reachable between all servers. diff --git a/docs/installing-hive/README.md b/docs/installing-spinifex/README.md similarity index 56% rename from docs/installing-hive/README.md rename to docs/installing-spinifex/README.md index 48fe469dc..502ca3de5 100644 --- a/docs/installing-hive/README.md +++ b/docs/installing-spinifex/README.md @@ -1,6 +1,6 @@ --- -title: "Installing Hive" -description: "Install Hive on a single server using the binary installer. Get a working region with EC2, VPC, EBS, and S3 in minutes." +title: "Installing Spinifex" +description: "Install Spinifex on a single server using the binary installer. Get a working region with EC2, VPC, EBS, and S3 in minutes." category: "Getting Started" tags: - install @@ -8,17 +8,17 @@ tags: - quickstart badge: quickstart resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "Predastore (S3)" url: "https://github.com/mulgadc/predastore" - title: "Viperblock (EBS)" url: "https://github.com/mulgadc/viperblock" --- -# Installing Hive +# Installing Spinifex -> Install Hive on a single server using the binary installer. +> Install Spinifex on a single server using the binary installer. ## Table of Contents @@ -30,16 +30,16 @@ resources: ## Overview -Hive is an open-source infrastructure platform that brings core AWS services — EC2, VPC, EBS, and S3 — to bare-metal, edge, and on-prem environments. +Spinifex is an open-source infrastructure platform that brings core AWS services — EC2, VPC, EBS, and S3 — to bare-metal, edge, and on-prem environments. -This guide installs Hive on a single server using the binary installer. For multi-server clusters, see [Multi-Node Installation](/docs/installing-hive-multi-node). To build from source, see [Source Install](/docs/source-install). +This guide installs Spinifex on a single server using the binary installer. For multi-server clusters, see [Multi-Node Installation](/docs/installing-hive-multi-node). To build from source, see [Source Install](/docs/source-install). **Supported Operating Systems:** - Ubuntu 22.04 / 24.04 / 25.10 - Debian 12.13 **What gets installed:** -- Hive daemon and CLI +- Spinifex daemon and CLI - QEMU/KVM for virtual machine management - OVN/Open vSwitch for VPC networking - Predastore (S3-compatible object storage) @@ -48,41 +48,41 @@ This guide installs Hive on a single server using the binary installer. For mult ## Instructions -## Step 1. Install Hive +## Step 1. Install Spinifex ```bash curl https://install.mulgadc.com/ | bash ``` -The installer downloads the Hive binary and bootstraps all dependencies (QEMU, OVN/OVS, AWS CLI). +The installer downloads the Spinifex binary and bootstraps all dependencies (QEMU, OVN/OVS, AWS CLI). ## Step 2. Initialize a region Create your first region and availability zone, replace `ap-southeast-2` with your desired region: ```bash -hive admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 +spx admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 ``` ## Step 3. Trust the CA certificate -Hive generates a local CA during initialization. Add it to your system trust store: +Spinifex generates a local CA during initialization. Add it to your system trust store: ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` ## Step 4. Start services ```bash -sudo systemctl start hive.target +sudo systemctl start spinifex.target ``` Set the AWS profile to use the default admin account: ```bash -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex ``` ## Step 5. Import an AMI @@ -90,26 +90,26 @@ export AWS_PROFILE=hive List available images and import one matching your architecture: ```bash -hive admin images list -hive admin images import --name debian-12-arm64 +spx admin images list +spx admin images import --name debian-12-arm64 ``` ## Step 6. Create a VPC and launch an instance ```bash aws ec2 create-vpc --cidr-block 10.200.0.0/16 -export HIVE_VPC="vpc-XXX" +export SPINIFEX_VPC="vpc-XXX" -aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 -export HIVE_SUBNET="subnet-XXX" +aws ec2 create-subnet --vpc-id $SPINIFEX_VPC --cidr-block 10.200.1.0/24 +export SPINIFEX_SUBNET="subnet-XXX" -aws ec2 import-key-pair --key-name "hive-key" --public-key-material fileb://~/.ssh/id_rsa.pub +aws ec2 import-key-pair --key-name "spinifex-key" --public-key-material fileb://~/.ssh/id_rsa.pub aws ec2 run-instances \ - --image-id $HIVE_AMI \ + --image-id $SPINIFEX_AMI \ --instance-type t3.small \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 1 ``` @@ -121,7 +121,7 @@ Find the forwarded SSH port and connect: ps auxw | grep hostfwd # Look for: hostfwd=tcp:127.0.0.1:-:22 -ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p +ssh -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 -p ``` ## Troubleshooting @@ -131,7 +131,7 @@ ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p The binary is not in your PATH. Run the installer again or add the install directory to your PATH: ```bash -export PATH=$PATH:~/hive/bin/ +export PATH=$PATH:~/spinifex/bin/ ``` Add this to your `~/.bashrc` or `~/.zshrc` for persistence. @@ -153,26 +153,26 @@ journalctl -u ovn-controller --no-pager -n 20 ## CA certificate not trusted -AWS CLI will reject HTTPS connections if the Hive CA is not trusted. Re-add the certificate: +AWS CLI will reject HTTPS connections if the Spinifex CA is not trusted. Re-add the certificate: ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` Verify it was added: ```bash -ls -la /usr/local/share/ca-certificates/hive-ca.crt +ls -la /usr/local/share/ca-certificates/spinifex-ca.crt ``` ## Instance stuck in pending -Check the Hive daemon logs for errors: +Check the Spinifex daemon logs for errors: ```bash -ls ~/hive/logs/ -cat ~/hive/logs/daemon.log +ls ~/spinifex/logs/ +cat ~/spinifex/logs/daemon.log ``` Verify the AMI was imported successfully: diff --git a/docs/launching-instances/README.md b/docs/launching-instances/README.md index 25d3e9526..05589730c 100644 --- a/docs/launching-instances/README.md +++ b/docs/launching-instances/README.md @@ -1,21 +1,21 @@ --- title: "Launching Instances" -description: "Launch, manage, and connect to EC2-compatible virtual machines on Hive." +description: "Launch, manage, and connect to EC2-compatible virtual machines on Spinifex." category: "Environments" tags: - ec2 - instances - vm resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "AWS EC2 CLI" url: "https://docs.aws.amazon.com/cli/latest/reference/ec2/" --- # Launching Instances -> Launch, manage, and connect to EC2-compatible virtual machines on Hive. +> Launch, manage, and connect to EC2-compatible virtual machines on Spinifex. ## Table of Contents @@ -27,7 +27,7 @@ resources: ## Overview -Hive provides EC2-compatible VM management built on QEMU/KVM. Instances support cloud-init, SSH key injection, VPC networking, and standard AWS lifecycle operations. +Spinifex provides EC2-compatible VM management built on QEMU/KVM. Instances support cloud-init, SSH key injection, VPC networking, and standard AWS lifecycle operations. **Supported operations:** - `run-instances` — Launch new VMs @@ -41,10 +41,10 @@ Hive provides EC2-compatible VM management built on QEMU/KVM. Instances support ```bash aws ec2 run-instances \ - --image-id $HIVE_AMI \ + --image-id $SPINIFEX_AMI \ --instance-type t3.small \ - --key-name hive-key \ - --subnet-id $HIVE_SUBNET \ + --key-name spinifex-key \ + --subnet-id $SPINIFEX_SUBNET \ --count 1 export INSTANCE_ID="i-XXX" @@ -63,7 +63,7 @@ aws ec2 terminate-instances --instance-ids $INSTANCE_ID ```bash ps auxw | grep $INSTANCE_ID -ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p +ssh -i ~/.ssh/spinifex-key ec2-user@127.0.0.1 -p ``` ## Troubleshooting @@ -73,15 +73,15 @@ ssh -i ~/.ssh/hive-key ec2-user@127.0.0.1 -p Check QEMU logs for the instance and verify the AMI architecture matches your host: ```bash -cat ~/hive/logs/daemon.log -aws ec2 describe-images --image-ids $HIVE_AMI +cat ~/spinifex/logs/daemon.log +aws ec2 describe-images --image-ids $SPINIFEX_AMI ``` If the AMI is for a different architecture (e.g. arm64 on an x86_64 host), import the correct image: ```bash -./bin/hive admin images list -./bin/hive admin images import --name debian-12-x86_64 +./bin/spx admin images list +./bin/spx admin images import --name debian-12-x86_64 ``` ## Cannot SSH into instance diff --git a/docs/moving-aws-workload/README.md b/docs/moving-aws-workload/README.md index ccfd72adc..51d76b186 100644 --- a/docs/moving-aws-workload/README.md +++ b/docs/moving-aws-workload/README.md @@ -1,6 +1,6 @@ --- title: "Moving an AWS Workload to Mulga" -description: "Migrate existing AWS workloads to Hive using compatible APIs, SDKs, and Terraform." +description: "Migrate existing AWS workloads to Spinifex using compatible APIs, SDKs, and Terraform." category: "Migration" tags: - migration @@ -8,8 +8,8 @@ tags: - terraform badge: new resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "AWS CLI Reference" url: "https://docs.aws.amazon.com/cli/latest/reference/" - title: "Terraform AWS Provider" @@ -18,7 +18,7 @@ resources: # Moving an AWS Workload to Mulga -> Migrate existing AWS workloads to Hive using compatible APIs, SDKs, and Terraform. +> Migrate existing AWS workloads to Spinifex using compatible APIs, SDKs, and Terraform. ## Table of Contents @@ -30,7 +30,7 @@ resources: ## Overview -Hive provides drop-in compatibility with AWS APIs, making it possible to migrate existing workloads with minimal changes. +Spinifex provides drop-in compatibility with AWS APIs, making it possible to migrate existing workloads with minimal changes. **Supported Services:** VPC, EC2, EBS, S3, IAM @@ -41,7 +41,7 @@ Hive provides drop-in compatibility with AWS APIs, making it possible to migrate ## Configure AWS CLI ```bash -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex aws ec2 describe-instances aws s3 ls ``` @@ -51,8 +51,8 @@ aws s3 ls ```hcl provider "aws" { region = "ap-southeast-2" - access_key = "your-hive-access-key" - secret_key = "your-hive-secret-key" + access_key = "your-spinifex-access-key" + secret_key = "your-spinifex-secret-key" endpoints { ec2 = "https://localhost:9999" @@ -68,7 +68,7 @@ provider "aws" { ## Hybrid S3 Sync ```bash -aws s3 sync s3://local-bucket/ s3://cloud-bucket/ --source-region hive --region us-east-1 +aws s3 sync s3://local-bucket/ s3://cloud-bucket/ --source-region spinifex --region us-east-1 ``` ## Troubleshooting @@ -87,7 +87,7 @@ Without these, Terraform will try to validate credentials and metadata against r ## S3 signature errors -Hive uses AWS Signature V4. Ensure your AWS CLI is version 2.0 or higher: +Spinifex uses AWS Signature V4. Ensure your AWS CLI is version 2.0 or higher: ```bash aws --version diff --git a/docs/source-install/README.md b/docs/source-install/README.md index 8b09da751..ab481cea5 100644 --- a/docs/source-install/README.md +++ b/docs/source-install/README.md @@ -1,6 +1,6 @@ --- title: "Source Install" -description: "Build Hive from source for development, custom builds, or contributing. Includes dependency setup, compilation, and OVN configuration." +description: "Build Spinifex from source for development, custom builds, or contributing. Includes dependency setup, compilation, and OVN configuration." category: "Getting Started" tags: - install @@ -8,8 +8,8 @@ tags: - development badge: source resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "Predastore (S3)" url: "https://github.com/mulgadc/predastore" - title: "Viperblock (EBS)" @@ -22,7 +22,7 @@ resources: # Source Install -> Build Hive from source for development, custom builds, or contributing. +> Build Spinifex from source for development, custom builds, or contributing. ## Table of Contents @@ -34,7 +34,7 @@ resources: ## Overview -This guide covers building Hive from source code. Use this if you want to contribute to Hive, build custom versions, or inspect the codebase. For production deployments, the [binary installer](/docs/installing-hive) is recommended. +This guide covers building Spinifex from source code. Use this if you want to contribute to Spinifex, build custom versions, or inspect the codebase. For production deployments, the [binary installer](/docs/installing-hive) is recommended. **Supported Operating Systems:** - Ubuntu 22.04 / 24.04 / 25.10 @@ -56,7 +56,7 @@ This guide covers building Hive from source code. Use this if you want to contri Bootstrap all dependencies in one step: ```bash -sudo make -C hive quickinstall +sudo make -C spinifex quickinstall ``` Ensure Go is in your PATH: @@ -94,13 +94,13 @@ aws --version ```bash mkdir -p ~/Development/mulga/ cd ~/Development/mulga/ -git clone https://github.com/mulgadc/hive.git -cd hive +git clone https://github.com/mulgadc/spinifex.git +cd spinifex ./scripts/clone-deps.sh # Clone viperblock + predastore ./scripts/dev-setup.sh # Setup complete dev environment ``` -Confirm `./bin/hive` exists and is executable. +Confirm `./bin/spx` exists and is executable. ## Step 3. Setup OVN @@ -117,13 +117,13 @@ This creates the `br-int` integration bridge, starts `ovn-controller`, configure Create a region and availability zone: ```bash -./bin/hive admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 +./bin/spx admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1 ``` ## Step 5. Trust the CA certificate ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` @@ -131,7 +131,7 @@ sudo update-ca-certificates ```bash ./scripts/start-dev.sh -export AWS_PROFILE=hive +export AWS_PROFILE=spinifex ``` ## Troubleshooting @@ -150,7 +150,7 @@ Add this to your `~/.bashrc` or `~/.zshrc` for persistence. Verify with: go version ``` -## ./bin/hive missing after build +## ./bin/spx missing after build The build did not complete successfully. Re-run the setup: @@ -177,10 +177,10 @@ sudo ovn-sbctl show ## CA certificate not trusted -AWS CLI will reject HTTPS connections to Hive services. Re-add the certificate: +AWS CLI will reject HTTPS connections to Spinifex services. Re-add the certificate: ```bash -sudo cp ~/hive/config/ca.pem /usr/local/share/ca-certificates/hive-ca.crt +sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` diff --git a/docs/hive-admin-cli/README.md b/docs/spinifex-admin-cli/README.md similarity index 55% rename from docs/hive-admin-cli/README.md rename to docs/spinifex-admin-cli/README.md index ca6dd263a..9be4fac78 100644 --- a/docs/hive-admin-cli/README.md +++ b/docs/spinifex-admin-cli/README.md @@ -1,6 +1,6 @@ --- -title: "Hive Admin CLI" -description: "Complete reference for the Hive administration CLI. Manage accounts, nodes, VMs, and services." +title: "Spinifex Admin CLI" +description: "Complete reference for the Spinifex administration CLI. Manage accounts, nodes, VMs, and services." category: "Administration" tags: - cli @@ -8,13 +8,13 @@ tags: - reference badge: cli resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" --- -# Hive Admin CLI +# Spinifex Admin CLI -> Complete reference for the Hive administration CLI. +> Complete reference for the Spinifex administration CLI. ## Table of Contents @@ -26,25 +26,25 @@ resources: ## Overview -The `hive` binary is the central administration tool for managing your Hive infrastructure. It provides commands for cluster initialization, account management, node operations, VM lifecycle, and service control. +The `spx` binary is the central administration tool for managing your Spinifex infrastructure. It provides commands for cluster initialization, account management, node operations, VM lifecycle, and service control. -**Binary location:** `~/Development/mulga/hive/bin/hive` +**Binary location:** `~/Development/mulga/spinifex/bin/spx` -All services in the Hive platform are managed through this single binary. +All services in the Spinifex platform are managed through this single binary. ## Instructions ## Account Management ```bash -./bin/hive admin account create --name myteam -export AWS_PROFILE=hive-myteam +./bin/spx admin account create --name myteam +export AWS_PROFILE=spinifex-myteam ``` ## Node Management ```bash -./bin/hive get nodes +./bin/spx get nodes ``` ``` @@ -57,20 +57,20 @@ node3 Ready 127.0.0.3 ap-southeast-2 ap-southeast-2a 2m 0 ## Monitor Resources ```bash -./bin/hive top nodes +./bin/spx top nodes ``` ## Image Management ```bash -./bin/hive admin images list -./bin/hive admin images import --name debian-12-arm64 +./bin/spx admin images list +./bin/spx admin images import --name debian-12-arm64 ``` ## Cluster Shutdown ```bash -./bin/hive admin cluster shutdown +./bin/spx admin cluster shutdown ``` ## Troubleshooting @@ -80,7 +80,7 @@ node3 Ready 127.0.0.3 ap-southeast-2 ap-southeast-2a 2m 0 The binary may not be executable. Fix permissions: ```bash -chmod +x ./bin/hive +chmod +x ./bin/spx ``` If you get permission errors during operations, ensure you're running with appropriate privileges. Some OVN and networking commands require `sudo`. @@ -90,8 +90,8 @@ If you get permission errors during operations, ensure you're running with appro Check the daemon logs for specific errors: ```bash -ls ~/hive/logs/ -cat ~/hive/logs/daemon.log +ls ~/spinifex/logs/ +cat ~/spinifex/logs/daemon.log ``` Common causes include port conflicts, missing OVN configuration, or untrusted CA certificates. diff --git a/docs/vpc-networking/README.md b/docs/vpc-networking/README.md index a93f74c16..ba9465d6d 100644 --- a/docs/vpc-networking/README.md +++ b/docs/vpc-networking/README.md @@ -7,8 +7,8 @@ tags: - networking - ovn resources: - - title: "Hive Repository" - url: "https://github.com/mulgadc/hive" + - title: "Spinifex Repository" + url: "https://github.com/mulgadc/spinifex" - title: "OVN Architecture" url: "https://www.ovn.org/en/" --- @@ -27,7 +27,7 @@ resources: ## Overview -Every EC2 instance runs inside a VPC with an isolated virtual network. Hive uses OVN (Open Virtual Network) to provide the networking layer. +Every EC2 instance runs inside a VPC with an isolated virtual network. Spinifex uses OVN (Open Virtual Network) to provide the networking layer. **How it works:** - VPC becomes an OVN logical router @@ -41,14 +41,14 @@ Every EC2 instance runs inside a VPC with an isolated virtual network. Hive uses ```bash aws ec2 create-vpc --cidr-block 10.200.0.0/16 -export HIVE_VPC="vpc-XXX" +export SPINIFEX_VPC="vpc-XXX" ``` ## Create Subnet ```bash -aws ec2 create-subnet --vpc-id $HIVE_VPC --cidr-block 10.200.1.0/24 -export HIVE_SUBNET="subnet-XXX" +aws ec2 create-subnet --vpc-id $SPINIFEX_VPC --cidr-block 10.200.1.0/24 +export SPINIFEX_SUBNET="subnet-XXX" ``` ## Verify @@ -73,7 +73,7 @@ sudo systemctl is-active ovn-controller Check the vpcd logs for errors: ```bash -cat ~/hive/logs/vpcd.log +cat ~/spinifex/logs/vpcd.log ``` ## Instances cannot reach each other diff --git a/scripts/PERFORMANCE.md b/scripts/PERFORMANCE.md index d289b8d8f..82ee521cc 100644 --- a/scripts/PERFORMANCE.md +++ b/scripts/PERFORMANCE.md @@ -39,7 +39,7 @@ Reset services first to apply latest changes: ```sh ./scripts/stop-dev.sh -PPROF_ENABLED=1 PPROF_OUTPUT=/tmp/hive-vm.prof ./scripts/start-dev.sh +PPROF_ENABLED=1 PPROF_OUTPUT=/tmp/spinifex-vm.prof ./scripts/start-dev.sh ``` Once services are started, connect to the benchmarking VM @@ -48,15 +48,15 @@ Once services are started, connect to the benchmarking VM ./scripts/run-bench.sh ``` -This will run the benchmark listed in `./scripts/disk-performance.sh` and store the results in `/tmp/hive-vm-disk.log` +This will run the benchmark listed in `./scripts/disk-performance.sh` and store the results in `/tmp/spinifex-vm-disk.log` -The Linux `perf` tool is also used to benchmark the `nbdkit` process used to create the QEMU > disk > NBD > viperblock > predastore sequence, which is an important tool for debugging purposes. The results will be stored in `/tmp/hive-nbdkit-perf.data` +The Linux `perf` tool is also used to benchmark the `nbdkit` process used to create the QEMU > disk > NBD > viperblock > predastore sequence, which is an important tool for debugging purposes. The results will be stored in `/tmp/spinifex-nbdkit-perf.data` ### Analyze results -Place the output of `/tmp/hive-vm-disk.log` into the results section below, increment the VM-$ID as the test case, and provide a short description of the last changes that were benchmarked. +Place the output of `/tmp/spinifex-vm-disk.log` into the results section below, increment the VM-$ID as the test case, and provide a short description of the last changes that were benchmarked. -Store the benchmark file in `predastore-rewrite/tests/hive-vm$id.prof` for later analysis. +Store the benchmark file in `predastore-rewrite/tests/spinifex-vm$id.prof` for later analysis. # Results @@ -575,7 +575,7 @@ Disk stats (read/write): ## Root Cause: TLS Handshakes Per Request -**Profile analysis (`hive-vm.prof`) reveals 84% of CPU spent on TLS handshakes:** +**Profile analysis (`spinifex-vm.prof`) reveals 84% of CPU spent on TLS handshakes:** ``` 84.06% crypto/tls.(*Conn).HandshakeContext ← 84% of CPU! @@ -736,13 +736,13 @@ With many short-lived connections, ports stuck in TIME_WAIT can exhaust the rang ## Host Configuration (sysctl) -### Recommended Settings for Hive Host +### Recommended Settings for Spinifex Host -Create `/etc/sysctl.d/99-hive.conf`: +Create `/etc/sysctl.d/99-spinifex.conf`: ```bash # ============================================================================= -# Hive Platform - System Tuning for High-Connection Workloads +# Spinifex Platform - System Tuning for High-Connection Workloads # ============================================================================= # ----------------------------------------------------------------------------- @@ -827,21 +827,21 @@ vm.dirty_background_ratio = 5 Apply settings: ```bash -sudo sysctl -p /etc/sysctl.d/99-hive.conf +sudo sysctl -p /etc/sysctl.d/99-spinifex.conf ``` ### Process Limits (/etc/security/limits.conf) ```bash -# Add to /etc/security/limits.conf or /etc/security/limits.d/hive.conf +# Add to /etc/security/limits.conf or /etc/security/limits.d/spinifex.conf -# For predastore/hive user -hive soft nofile 1048576 -hive hard nofile 1048576 -hive soft nproc unlimited -hive hard nproc unlimited -hive soft memlock unlimited -hive hard memlock unlimited +# For predastore/spinifex user +spinifex soft nofile 1048576 +spinifex hard nofile 1048576 +spinifex soft nproc unlimited +spinifex hard nproc unlimited +spinifex soft memlock unlimited +spinifex hard memlock unlimited # Or for all users (dev environments) * soft nofile 1048576 @@ -891,7 +891,7 @@ MaxConnsPerHost: 64 IdleConnTimeout: 60 * time.Second ``` -**sysctl:** Apply full 99-hive.conf settings. +**sysctl:** Apply full 99-spinifex.conf settings. ### Large Deployment (65-256 VMs) @@ -1105,7 +1105,7 @@ client := &http.Client{ - [ ] Validate fix with fio benchmark (VM-4) - [ ] Add predastore connection metrics endpoint - [ ] Test with 8-VM deployment -- [ ] Create hive-tuning.sh script for automated sysctl configuration +- [ ] Create spinifex-tuning.sh script for automated sysctl configuration - [ ] Add Prometheus metrics for connection tracking --- @@ -1186,7 +1186,7 @@ After migrating predastore to net/http with HTTP/2 support, profiling still show Additionally, logs showed **126K+ HTTP/1.1 requests** despite HTTP/2 being configured: ```bash -cat ~/hive/logs/predastore.log | grep "HTTP/1" | wc -l +cat ~/spinifex/logs/predastore.log | grep "HTTP/1" | wc -l # 126277 ``` @@ -1235,12 +1235,12 @@ All S3 clients across the codebase were updated: | File | Purpose | |------|---------| | `viperblock/viperblock/backends/s3/s3.go` | Block storage S3 backend | -| `hive/s3client/s3client.go` | Hive S3 client | -| `hive/handlers/ec2/key/service_impl.go` | EC2 key pair operations | -| `hive/handlers/ec2/volume/service_impl.go` | EBS volume operations | -| `hive/handlers/ec2/image/service_impl.go` | AMI image operations | -| `hive/utils/utils.go` | Shared S3 client utility | -| `hive/cmd/hive/cmd/admin.go` | Admin CLI operations | +| `spinifex/s3client/s3client.go` | Spinifex S3 client | +| `spinifex/handlers/ec2/key/service_impl.go` | EC2 key pair operations | +| `spinifex/handlers/ec2/volume/service_impl.go` | EBS volume operations | +| `spinifex/handlers/ec2/image/service_impl.go` | AMI image operations | +| `spinifex/utils/utils.go` | Shared S3 client utility | +| `spinifex/cmd/spinifex/cmd/admin.go` | Admin CLI operations | | `predastore/s3db/client.go` | S3DB distributed client | ### Complete HTTP/2 Client Pattern @@ -1323,14 +1323,14 @@ After deploying the fix, verify HTTP/2 is working: ```bash # Check predastore logs for HTTP/2 requests -grep "HTTP/2" ~/hive/logs/predastore.log | head +grep "HTTP/2" ~/spinifex/logs/predastore.log | head # Count HTTP/1.1 vs HTTP/2 requests -echo "HTTP/1.1: $(grep -c 'HTTP/1' ~/hive/logs/predastore.log)" -echo "HTTP/2.0: $(grep -c 'HTTP/2' ~/hive/logs/predastore.log)" +echo "HTTP/1.1: $(grep -c 'HTTP/1' ~/spinifex/logs/predastore.log)" +echo "HTTP/2.0: $(grep -c 'HTTP/2' ~/spinifex/logs/predastore.log)" # Profile should show minimal TLS overhead -go tool pprof -top hive-vm.prof | head -20 +go tool pprof -top spinifex-vm.prof | head -20 # TLS functions should be <5% instead of 60-84% ``` @@ -1354,15 +1354,15 @@ go tool pprof -top hive-vm.prof | head -20 ### Mandatory Testing Before Changes -The Hive platform consists of three interdependent repositories: +The Spinifex platform consists of three interdependent repositories: ``` -hive ──depends on──► viperblock ──depends on──► predastore +spinifex ──depends on──► viperblock ──depends on──► predastore ``` **CRITICAL: All tests must pass across all three repositories before committing changes.** -Changes in predastore can break viperblock and hive. Changes in viperblock can break hive. +Changes in predastore can break viperblock and spinifex. Changes in viperblock can break spinifex. ### Testing Workflow @@ -1375,8 +1375,8 @@ LOG_IGNORE=1 go test ./... -count=1 cd /path/to/viperblock LOG_IGNORE=1 go test ./... -count=1 -# 3. Finally test hive (depends on both) -cd /path/to/hive +# 3. Finally test spinifex (depends on both) +cd /path/to/spinifex LOG_IGNORE=1 go test ./... -count=1 ``` @@ -1384,7 +1384,7 @@ LOG_IGNORE=1 go test ./... -count=1 Each repository uses `go.work` for local development with replace directives: -**hive/go.work:** +**spinifex/go.work:** ```go go 1.25.5 @@ -1423,7 +1423,7 @@ LOG_IGNORE=1 # Suppress log output during tests - [ ] `cd predastore && go test ./...` passes - [ ] `cd viperblock && go test ./...` passes -- [ ] `cd hive && go test ./...` passes +- [ ] `cd spinifex && go test ./...` passes - [ ] `go build ./...` succeeds in all repos - [ ] No new compiler warnings @@ -1799,7 +1799,7 @@ go tool trace /tmp/trace.out - `viperblock/viperblock/viperblock.go` - Core read/write logic (lines 1688-1856 for read path) - `viperblock/nbd/viperblock.go` - NBD plugin interface -- `predastore-rewrite/tests/hive-vm7.prof` - Predastore profile (post-HTTP2 fix) +- `predastore-rewrite/tests/spinifex-vm7.prof` - Predastore profile (post-HTTP2 fix) - `/tmp/nbdkit-perf2.data` - Viperblock perf profile ### References @@ -1851,7 +1851,7 @@ The `mapassign_fast64` bottleneck has been completely eliminated: | `crypto/md5.block` | 0.83% | AWS v4 signatures | | `crypto/sha256` | 0.58% | TLS crypto | -**Predastore Server (hive-vm8.prof):** +**Predastore Server (spinifex-vm8.prof):** | Function | CPU % | Category | |----------|-------|----------| @@ -2011,7 +2011,7 @@ Profile is now evenly distributed: - `runtime.memclrNoHeapPointers`: 1.32% - All other functions < 1.5% -### Predastore Profile (hive-vm9.prof) - Now the Bottleneck +### Predastore Profile (spinifex-vm9.prof) - Now the Bottleneck | Function | CPU % | Category | |----------|-------|----------| @@ -2058,7 +2058,7 @@ These logs were firing on every operation, adding unnecessary overhead. ### Chi Middleware Logger Overhead -**Problem Identified:** The Go profile (hive-vm9.prof) showed significant overhead from chi's RequestLogger middleware: +**Problem Identified:** The Go profile (spinifex-vm9.prof) showed significant overhead from chi's RequestLogger middleware: ``` chi/v5/middleware.init.0.RequestLogger.func1.1 27.47s 17.39% @@ -2166,11 +2166,11 @@ After deploying, run benchmark and verify: ```bash # Profile should show no chi Logger overhead -go tool pprof -top hive-vm10.prof | grep -i logger +go tool pprof -top spinifex-vm10.prof | grep -i logger # Expected: No results # I/O should now dominate -go tool pprof -top hive-vm10.prof | head -10 +go tool pprof -top spinifex-vm10.prof | head -10 # Expected: syscall.Syscall6 > 45% ``` @@ -2180,7 +2180,7 @@ go tool pprof -top hive-vm10.prof | head -10 ### Profile Analysis -**Predastore (hive-vm10.prof):** +**Predastore (spinifex-vm10.prof):** | Function | CPU % | Notes | |----------|-------|-------| | `syscall.Syscall6` | **37.32%** | I/O bound - expected | @@ -2346,7 +2346,7 @@ The `UnifiedBlockStore` has `EvictCache()` method but no automatic LRU eviction | File | Change | |------|--------| -| `hive/services/viperblockd/viperblockd.go` | Fixed HasSuffix args, fixed cache logic | +| `spinifex/services/viperblockd/viperblockd.go` | Fixed HasSuffix args, fixed cache logic | | `viperblock/viperblock/viperblock.go` | 8 read logs changed to Debug level | ### Expected Impact (VM-11) @@ -2417,11 +2417,11 @@ if hitRate < 0.5 && cacheSize < maxCache { ```bash # Check cache is enabled for main volumes -grep "Enabling 64MB cache" ~/hive/logs/viperblockd.log +grep "Enabling 64MB cache" ~/spinifex/logs/viperblockd.log # Expected: One line per main volume # Check cache disabled for auxiliary volumes -grep "Disabling cache for auxiliary" ~/hive/logs/viperblockd.log +grep "Disabling cache for auxiliary" ~/spinifex/logs/viperblockd.log # Expected: Lines for *-cloudinit and *-efi volumes # Monitor cache hit rate (if stats endpoint available) diff --git a/scripts/iac/README.md b/scripts/iac/README.md index cfd1d25de..1aa7ba89b 100644 --- a/scripts/iac/README.md +++ b/scripts/iac/README.md @@ -1,9 +1,9 @@ # IAC -Collection of OpenTofu/Terraform templates for creating Hive instances. +Collection of OpenTofu/Terraform templates for creating Spinifex instances. | Template | Description | |---|---| -| [proxmox/](proxmox/) | Provisions a 3-node Hive cluster on Proxmox VE bare-metal hypervisors | +| [proxmox/](proxmox/) | Provisions a 3-node Spinifex cluster on Proxmox VE bare-metal hypervisors | | [aws/](aws/) | Provisions infrastructure using the Terraform AWS provider, with MulgaOS AWS-compatible API as the local endpoint | -| [proxmox-template/](proxmox-template/) | Builds a Proxmox VM template with all Hive dependencies pre-installed (QEMU, Go, repos, modules) | +| [proxmox-template/](proxmox-template/) | Builds a Proxmox VM template with all Spinifex dependencies pre-installed (QEMU, Go, repos, modules) | diff --git a/scripts/iac/aws/README.md b/scripts/iac/aws/README.md index f88bd9e72..eff03a791 100644 --- a/scripts/iac/aws/README.md +++ b/scripts/iac/aws/README.md @@ -14,7 +14,7 @@ This directory contains OpenTofu/Terraform configuration files for deploying inf ``` 2. **MulgaOS services running** - - `hive daemon` - Core daemon with NATS subscriptions + - `spinifex daemon` - Core daemon with NATS subscriptions - `awsd` - AWS API gateway (default: http://localhost:8080) - `predastore` - S3-compatible storage - `viperblock` - EBS-compatible block storage @@ -26,14 +26,14 @@ This directory contains OpenTofu/Terraform configuration files for deploying inf export AWS_SECRET_ACCESS_KEY=your_secret_key # Option 2: AWS CLI profile - aws configure --profile hive - export AWS_PROFILE=hive + aws configure --profile spinifex + export AWS_PROFILE=spinifex ``` 4. **AMI available** Before running, ensure you have a Debian 12 AMI imported: ```bash - # Import an AMI using the hive CLI or aws CLI + # Import an AMI using the spinifex CLI or aws CLI aws --endpoint-url http://localhost:8080 ec2 describe-images ``` @@ -106,7 +106,7 @@ The `main.tf` creates: 5. **Security Group** - Allows SSH (22), HTTP (80), HTTPS (443) inbound 6. **Placement Group** - Spread strategy for HA 7. **3 EC2 Instances** - t3.small Debian 12 VMs -8. **SSH Key Pair** - ED25519 key saved to `hive-test.pem` +8. **SSH Key Pair** - ED25519 key saved to `spinifex-test.pem` ## SSH Access @@ -114,11 +114,11 @@ After `tofu apply`, SSH into instances: ```bash # Using the generated key -ssh -i hive-test.pem admin@ +ssh -i spinifex-test.pem admin@ # For local development with QEMU port forwarding # Find the forwarded port from QEMU args (-netdev user,id=net0,hostfwd=tcp:127.0.0.1:PORT-:22) -ssh -p PORT -i hive-test.pem admin@127.0.0.1 +ssh -p PORT -i spinifex-test.pem admin@127.0.0.1 ``` ## Troubleshooting @@ -143,7 +143,7 @@ Ensure MulgaOS services are running: curl http://localhost:8080/health # Check daemon status -hive daemon status +spinifex daemon status ``` ### "InvalidAction" errors @@ -193,7 +193,7 @@ resource "aws_instance" "vm" { | File | Description | |------|-------------| | `main.tf` | Main Terraform/OpenTofu configuration | -| `hive-test.pem` | Generated SSH private key (after apply) | +| `spinifex-test.pem` | Generated SSH private key (after apply) | | `.terraform/` | Provider plugins (after init) | | `terraform.tfstate` | State file (after apply) | | `terraform.tfvars` | Custom variables (optional) | diff --git a/scripts/iac/proxmox-template/README.md b/scripts/iac/proxmox-template/README.md index 907d617d4..5736dbd07 100644 --- a/scripts/iac/proxmox-template/README.md +++ b/scripts/iac/proxmox-template/README.md @@ -1,6 +1,6 @@ -# Hive Node Template Builder +# Spinifex Node Template Builder -Builds a Proxmox VM template with all Hive dependencies pre-installed. Cloning from this template reduces cluster spin-up from ~15 minutes to ~1-2 minutes (`git pull` + `make build`). +Builds a Proxmox VM template with all Spinifex dependencies pre-installed. Cloning from this template reduces cluster spin-up from ~15 minutes to ~1-2 minutes (`git pull` + `make build`). ## What's in the template @@ -9,7 +9,7 @@ Builds a Proxmox VM template with all Hive dependencies pre-installed. Cloning f | System packages | QEMU, nbdkit, libvirt, gcc, jq, curl, etc. (`make install-system`) | | Go | 1.26.1 (`make install-go`) | | AWS CLI | v2 (`make install-aws`) | -| Repositories | hive, viperblock, predastore (with `go.work` configured) | +| Repositories | spinifex, viperblock, predastore (with `go.work` configured) | | Module cache | `go mod download` completed for all repos | | Cloud images | Ubuntu 24.04 for nested VMs (`~/images/ubuntu-24.04.img`) | | Tuning | sysctl (rmem_max/wmem_max), kvm group, ufw disabled | @@ -65,12 +65,12 @@ On each cloned VM after boot: ```bash # Pull latest code -cd ~/Development/mulga/hive && git pull +cd ~/Development/mulga/spinifex && git pull cd ~/Development/mulga/viperblock && git pull cd ~/Development/mulga/predastore && git pull # Build (~30s with cached modules) -cd ~/Development/mulga/hive && export PATH=/usr/local/go/bin:$PATH && make build +cd ~/Development/mulga/spinifex && export PATH=/usr/local/go/bin:$PATH && make build ``` ## Testing a Different Base Image diff --git a/scripts/iac/proxmox/README.md b/scripts/iac/proxmox/README.md index d4aa7b597..07b0330a0 100644 --- a/scripts/iac/proxmox/README.md +++ b/scripts/iac/proxmox/README.md @@ -1,6 +1,6 @@ # Proxmox IaC -OpenTofu/Terraform templates for provisioning Hive development clusters on Proxmox VE. +OpenTofu/Terraform templates for provisioning Spinifex development clusters on Proxmox VE. ## Prerequisites @@ -12,9 +12,9 @@ OpenTofu/Terraform templates for provisioning Hive development clusters on Proxm - SSH keypair for cloud-init VM access - A hardcoded Debian ISO is used, which needs to be pre-installed on each Proxmox host ("debian-12-genericcloud-amd64-20240211-1654.img") https://cdimage.debian.org/images/cloud/bookworm/20240211-1654/debian-12-genericcloud-amd64-20240211-1654.qcow2 -## Quick Start (hive-test.sh) +## Quick Start (spinifex-test.sh) -The `hive-test.sh` wrapper script manages the full lifecycle: provision, configure, test, and destroy. +The `spinifex-test.sh` wrapper script manages the full lifecycle: provision, configure, test, and destroy. ```sh # Source environment @@ -22,25 +22,25 @@ source scripts/iac/proxmox/.env source ~/prox # Proxmox API token # Provision a 3-node cluster -./scripts/iac/hive-test.sh up my-cluster +./scripts/iac/spinifex-test.sh up my-cluster # Configure: clone repo, build, form cluster, start services -./scripts/iac/hive-test.sh configure my-cluster +./scripts/iac/spinifex-test.sh configure my-cluster # Run smoke tests -./scripts/iac/hive-test.sh test my-cluster +./scripts/iac/spinifex-test.sh test my-cluster # Check cluster health -./scripts/iac/hive-test.sh status my-cluster +./scripts/iac/spinifex-test.sh status my-cluster # SSH to a specific node -./scripts/iac/hive-test.sh ssh my-cluster 2 +./scripts/iac/spinifex-test.sh ssh my-cluster 2 # Destroy when done -./scripts/iac/hive-test.sh down my-cluster +./scripts/iac/spinifex-test.sh down my-cluster # Or run the full lifecycle (up → configure → test → down) -./scripts/iac/hive-test.sh full my-cluster +./scripts/iac/spinifex-test.sh full my-cluster ``` ### Options @@ -55,7 +55,7 @@ source ~/prox # Proxmox API token Example with custom sizing: ```sh -./scripts/iac/hive-test.sh up my-cluster --node-count=5 --memory-mb=8192 --cpu-cores=2 +./scripts/iac/spinifex-test.sh up my-cluster --node-count=5 --memory-mb=8192 --cpu-cores=2 ``` Per-cluster state is stored in `scripts/iac/proxmox/clusters//terraform.tfstate`, allowing multiple clusters to coexist. @@ -185,7 +185,7 @@ ssh -i ~/.ssh/your-cloud-init-key tf-user@ ## Known issues -- `~/hive/config/hive.toml` - Does not add node1, node2, node3 from config automatically -- `~/hive/config/predastore/predastore.toml` - Uses previous static local node config, needs to use the IPs for each node in the cluster +- `~/spinifex/config/spinifex.toml` - Does not add node1, node2, node3 from config automatically +- `~/spinifex/config/predastore/predastore.toml` - Uses previous static local node config, needs to use the IPs for each node in the cluster - On multi-node deployments, NATS on the primary can timeout waiting for other nodes to start, causing a race condition where NATS fails and all dependent services fail - When adding 3 nodes, `nats.conf` is not updated with the 3rd node. Each node's cluster name is hardcoded to `C1` instead of per-node names diff --git a/spinifex/handlers/NATS_HANDLER_NAMING.md b/spinifex/handlers/NATS_HANDLER_NAMING.md index 244f37cc4..c5c2a8adb 100644 --- a/spinifex/handlers/NATS_HANDLER_NAMING.md +++ b/spinifex/handlers/NATS_HANDLER_NAMING.md @@ -1,6 +1,6 @@ # NATS Handler Naming Convention -This document defines the naming convention for NATS message handlers in the Hive daemon. +This document defines the naming convention for NATS message handlers in the Spinifex daemon. ## Pattern @@ -95,7 +95,7 @@ func (d *Daemon) handleEC2RunInstances(msg *nats.Msg) { // Subscribe to EC2 RunInstances with queue group d.natsSubscriptions["ec2.RunInstances"], err = d.natsConn.QueueSubscribe( "ec2.RunInstances", // NATS topic - "hive-workers", // Queue group for load balancing + "spinifex-workers", // Queue group for load balancing d.handleEC2RunInstances, // Handler method ) ``` @@ -114,18 +114,18 @@ For backward compatibility, some handlers may subscribe to both old and new topi ```go // Legacy topic (deprecated, for backward compatibility) d.natsSubscriptions["ec2.launch"], err = d.natsConn.QueueSubscribe( - "ec2.launch", "hive-workers", d.handleEC2RunInstances) + "ec2.launch", "spinifex-workers", d.handleEC2RunInstances) // New topic (recommended) d.natsSubscriptions["ec2.RunInstances"], err = d.natsConn.QueueSubscribe( - "ec2.RunInstances", "hive-workers", d.handleEC2RunInstances) + "ec2.RunInstances", "spinifex-workers", d.handleEC2RunInstances) ``` **Recommendation**: New code should use the AWS Action name format (`ec2.RunInstances`). ## Queue Groups -All handlers use the `"hive-workers"` queue group for: +All handlers use the `"spinifex-workers"` queue group for: - **Load Balancing** - NATS distributes requests across available daemon instances - **High Availability** - If one daemon fails, others continue processing - **Scalability** - Add more daemon instances to handle increased load diff --git a/spinifex/services/spinifexui/README.md b/spinifex/services/spinifexui/README.md index 50d8adb90..7cc48277f 100644 --- a/spinifex/services/spinifexui/README.md +++ b/spinifex/services/spinifexui/README.md @@ -1,10 +1,10 @@ -# Hive UI +# Spinifex UI -Full-stack application for managing Hive AWS compatible products (EC2, S3) +Full-stack application for managing Spinifex AWS compatible products (EC2, S3) ## Development Setup -Note: This is not needed for actually building hive-ui and running it. We commit the assets so that when you build hive, it will include hive-ui without you needing to install node and build frontend from source. +Note: This is not needed for actually building spinifex-ui and running it. We commit the assets so that when you build hive, it will include spinifex-ui without you needing to install node and build frontend from source. 1. **Install Node.js using nvm** diff --git a/tests/e2e/TEST_COVERAGE.md b/tests/e2e/TEST_COVERAGE.md index 0d9489bba..5ef052e22 100644 --- a/tests/e2e/TEST_COVERAGE.md +++ b/tests/e2e/TEST_COVERAGE.md @@ -4,15 +4,15 @@ ### Phase 1: Environment Setup - KVM support check -- `hive admin init` (region/az/node config) +- `spx admin init` (region/az/node config) - CA certificate trust - Start all services (`start-dev.sh`) - Wait for AWS gateway on `localhost:9999` ### Phase 1b: Cluster Stats CLI -- `hive get nodes` — verify node shows Ready -- `hive top nodes` — verify CPU/MEM resource stats -- `hive get vms` — verify "No VMs found" before any launches +- `spx get nodes` — verify node shows Ready +- `spx top nodes` — verify CPU/MEM resource stats +- `spx get vms` — verify "No VMs found" before any launches ### Phase 2: Discovery & Metadata - `describe-regions` @@ -32,7 +32,7 @@ - `delete-key-pair` (test-key-2, verify only test-key-1 remains) ### Phase 4: Image Management -- `hive admin images import` (file-based, architecture-aware) +- `spx admin images import` (file-based, architecture-aware) - `describe-images` (verify AMI by ID) ### Phase 5: Instance Lifecycle @@ -40,7 +40,7 @@ - `describe-instances` (poll pending -> running) ### Phase 5a-pre: Cluster Stats CLI (with running VM) -- `hive get vms` — verify running instance appears in output +- `spx get vms` — verify running instance appears in output ### Phase 5a: Instance Metadata Validation - `describe-instances` — verify InstanceType matches requested type @@ -210,7 +210,7 @@ Tests that EC2 resources are properly isolated between tenant accounts (Alpha, Beta). Based on `docs/development/feature/iam-phase4-e2e-test-guide.md`. Skips CreateImage (mulga-612) and instance tags (mulga-613). #### Step 1: Account Setup -- `hive admin account create` (Team Alpha, Team Beta) +- `spx admin account create` (Team Alpha, Team Beta) - Configure AWS CLI profiles - Verify auth for both accounts @@ -306,10 +306,10 @@ Tests that EC2 resources are properly isolated between tenant accounts (Alpha, B - Simulated network IPs (no ramdisk — start-dev.sh uses disk-backed WAL/VB in CI) ### Phase 2: Cluster Initialization -- `hive admin init` (leader node1) +- `spx admin init` (leader node1) - CA certificate trust - Start node1 services -- `hive admin join` (node2, node3) +- `spx admin join` (node2, node3) - Start node2 + node3 services ### Phase 3: Cluster Health Verification @@ -320,14 +320,14 @@ Tests that EC2 resources are properly isolated between tenant accounts (Alpha, B - `describe-regions` (gateway connectivity check) ### Phase 3b: Cluster Stats CLI -- `hive get nodes` — verify all 3 nodes show Ready -- `hive top nodes` — verify instance type capacity table -- `hive get vms` — verify empty (no instances yet) +- `spx get nodes` — verify all 3 nodes show Ready +- `spx top nodes` — verify instance type capacity table +- `spx get vms` — verify empty (no instances yet) ### Phase 4: Image and Key Setup - `describe-instance-types` (discover + select nano) - `create-key-pair` -- `hive admin images import` (with node1 config paths) +- `spx admin images import` (with node1 config paths) - `describe-images` (verify AMI) ### Phase 4b: Multi-Node Key Pair Operations @@ -341,7 +341,7 @@ Tests that EC2 resources are properly isolated between tenant accounts (Alpha, B - `run-instances` x3 (distribute across nodes) - Poll all instances to running state - Check instance distribution across nodes -- `hive get vms` — verify all instances visible +- `spx get vms` — verify all instances visible #### Test 1a-ii: SSH Connectivity & Volume Verification - SSH into all 3 instances via QEMU hostfwd port @@ -415,9 +415,9 @@ Tests that EC2 resources are properly isolated between tenant accounts (Alpha, B ### Phase 5c: IAM Accounts & Cross-Account Isolation #### Step 1: Create Accounts -- `hive admin account create` (Team Alpha, Team Beta) +- `spx admin account create` (Team Alpha, Team Beta) - Verify sequential 12-digit account IDs -- `hive admin account list` (verify both accounts) +- `spx admin account list` (verify both accounts) #### Step 2: Account Admin Auth - Alpha admin authenticates via ec2 + iam @@ -526,11 +526,11 @@ Tests that EC2 resources are properly isolated between the Alpha/Beta accounts. ### Phase 6: Cluster Shutdown + Restart #### Test 6a: Dry-Run Shutdown -- `hive admin cluster shutdown --dry-run` +- `spx admin cluster shutdown --dry-run` - Validate output contains all 5 phases (GATE, DRAIN, STORAGE, PERSIST, INFRA) #### Test 6b: Coordinated Cluster Shutdown -- `hive admin cluster shutdown --force --timeout 60s` +- `spx admin cluster shutdown --force --timeout 60s` - Verify all services down on all nodes (gateway, NATS, QEMU) #### Test 6c: Cluster Restart + Recovery @@ -552,7 +552,7 @@ Tests that EC2 resources are properly isolated between the Alpha/Beta accounts. ## Real Multi-Node (`run-multinode-e2e.sh`) -Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-cluster/`). Each node is a separate VM with its own OVN, NATS, Predastore, and Hive daemon. Bootstrap (`bootstrap.sh`) handles all provisioning before the test script runs. +Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-cluster/`). Each node is a separate VM with its own OVN, NATS, Predastore, and Spinifex daemon. Bootstrap (`bootstrap.sh`) handles all provisioning before the test script runs. ### Bootstrap (pre-test) @@ -562,11 +562,11 @@ Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-clu 4. `git fetch` + checkout test branch on all nodes (all 3 repos) 5. `make build` on all nodes (parallel) 6. `setup-ovn.sh` — primary gets `--management`, secondaries connect to primary's OVN central -7. `hive admin init` on primary, `hive admin join` on secondaries (formation server handshake) +7. `spx admin init` on primary, `spx admin join` on secondaries (formation server handshake) 8. `start-dev.sh` on all nodes 9. Wait for `/health` (awsgw=ok) on all nodes -10. Install Hive CA certificate on all nodes -11. `import-key-pair` (hive-key) + `hive admin images import` (Ubuntu 24.04) +10. Install Spinifex CA certificate on all nodes +11. `import-key-pair` (spinifex-key) + `spx admin images import` (Ubuntu 24.04) 12. `create-vpc` (10.200.0.0/16) + `create-subnet` (10.200.1.0/24) ### Phase 1: Pre-flight Validation @@ -578,8 +578,8 @@ Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-clu - Predastore reachable on all 3 nodes - AWS gateway reachable on all 3 nodes - Daemon readiness (`describe-instance-types` returns results) -- `hive get nodes` — verify all 3 nodes show Ready -- `hive get vms` — verify empty (no instances yet) +- `spx get nodes` — verify all 3 nodes show Ready +- `spx get vms` — verify empty (no instances yet) ### Phase 3: Instance Lifecycle + Distribution - Discover nano instance type and AMI (from bootstrap import) @@ -587,7 +587,7 @@ Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-clu - Poll all instances to running state - Check instance distribution across physical nodes (QEMU process check) - Verify at least 2 different hosting nodes (non-deterministic, non-fatal if all on 1) -- `hive get vms` — verify all 3 instances visible +- `spx get vms` — verify all 3 instances visible ### Phase 4: SSH into Guest VMs - For each instance across all nodes: @@ -627,7 +627,7 @@ Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-clu - `start-dev.sh` on node2 (restart failed node) - Wait for NATS cluster to reform (2 peers again) - Verify node2 gateway is back -- `hive get nodes` — verify all 3 nodes Ready again +- `spx get nodes` — verify all 3 nodes Ready again - Verify node2 serves requests after recovery ### Phase 10: Cleanup @@ -637,7 +637,7 @@ Runs on a real 3-node libvirt cluster provisioned by OpenTofu (`scripts/tofu-clu ## VPC (`run-vpc-e2e.sh`) -Standalone VPC networking test suite. Runs against a running Hive endpoint (configurable via `ENDPOINT` env var). OVN topology tests are skipped when OVN is unavailable. +Standalone VPC networking test suite. Runs against a running Spinifex endpoint (configurable via `ENDPOINT` env var). OVN topology tests are skipped when OVN is unavailable. ### Phase 1: VPC CRUD - `create-vpc` (10.99.0.0/16, verify VpcId) From 4f00cf9e4c9c03e60df97d354f1e0aa3ac21da2b Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:20:27 +0000 Subject: [PATCH 11/12] refactor: update Dockerfile and build artifacts for spinifex rename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dockerfile.distro: update all paths from hive → spinifex - Binary output name: spx - Logrotate: logrotate-spinifex --- build/Dockerfile.distro | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/build/Dockerfile.distro b/build/Dockerfile.distro index dad87abb6..46ccbc5e7 100644 --- a/build/Dockerfile.distro +++ b/build/Dockerfile.distro @@ -11,38 +11,38 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ WORKDIR /build # Copy module files for dependency caching -COPY hive/go.mod hive/go.sum ./hive/ +COPY spinifex/go.mod spinifex/go.sum ./spinifex/ COPY predastore/go.mod predastore/go.sum ./predastore/ COPY viperblock/go.mod viperblock/go.sum ./viperblock/ COPY viperblock/nbd/go.mod viperblock/nbd/go.sum ./viperblock/nbd/ COPY viperblock/nbd/libguestfs.org/nbdkit/go.mod ./viperblock/nbd/libguestfs.org/nbdkit/ # Generate go.work (gitignored, so not in checkout) -RUN cd hive && go work init . ../predastore ../viperblock ../viperblock/nbd ../viperblock/nbd/libguestfs.org/nbdkit +RUN cd spinifex && go work init . ../predastore ../viperblock ../viperblock/nbd ../viperblock/nbd/libguestfs.org/nbdkit # Download dependencies (cached layer) -RUN cd hive && go mod download +RUN cd spinifex && go mod download # Copy full source -COPY hive/ ./hive/ +COPY spinifex/ ./spinifex/ COPY predastore/ ./predastore/ COPY viperblock/ ./viperblock/ -# Build hive binary -RUN COMMIT=$(cd hive && git rev-parse --short HEAD 2>/dev/null || echo "unknown") && \ - cd hive && go build -ldflags "-s -w \ - -X github.com/mulgadc/hive/cmd/hive/cmd.Version=${VERSION} \ - -X github.com/mulgadc/hive/cmd/hive/cmd.Commit=${COMMIT}" \ - -o /out/hive cmd/hive/main.go +# Build spinifex binary (spx) +RUN COMMIT=$(cd spinifex && git rev-parse --short HEAD 2>/dev/null || echo "unknown") && \ + cd spinifex && go build -ldflags "-s -w \ + -X github.com/mulgadc/spinifex/cmd/spinifex/cmd.Version=${VERSION} \ + -X github.com/mulgadc/spinifex/cmd/spinifex/cmd.Commit=${COMMIT}" \ + -o /out/spx cmd/spinifex/main.go # Build nbdkit viperblock plugin (.so) RUN cd viperblock && go build -o /out/nbdkit-viperblock-plugin.so -buildmode=c-shared nbd/viperblock.go # Copy setup scripts and systemd units -RUN cp hive/scripts/setup.sh /out/setup.sh 2>/dev/null || true -RUN cp hive/scripts/setup-ovn.sh /out/setup-ovn.sh -RUN mkdir -p /out/systemd && cp hive/build/systemd/* /out/systemd/ -RUN cp hive/build/logrotate/hive /out/logrotate-hive +RUN cp spinifex/scripts/setup.sh /out/setup.sh 2>/dev/null || true +RUN cp spinifex/scripts/setup-ovn.sh /out/setup-ovn.sh +RUN mkdir -p /out/systemd && cp spinifex/build/systemd/* /out/systemd/ +RUN cp spinifex/build/logrotate/spinifex /out/logrotate-spinifex FROM scratch AS export COPY --from=builder /out/ / From 2064c338b3e6648ef2ed24e3875dc082e6a702bf Mon Sep 17 00:00:00 2001 From: Ben Duncan <5178243+benduncan@users.noreply.github.com> Date: Wed, 18 Mar 2026 01:23:11 +0000 Subject: [PATCH 12/12] chore: gofmt formatting after rename --- cmd/spinifex/cmd/service.go | 4 ++-- spinifex/gateway/auth.go | 2 +- spinifex/gateway/auth_test.go | 2 +- spinifex/service/service.go | 4 ++-- spinifex/services/predastore/predastore.go | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/spinifex/cmd/service.go b/cmd/spinifex/cmd/service.go index 16ee3a69e..9c7a7ea49 100644 --- a/cmd/spinifex/cmd/service.go +++ b/cmd/spinifex/cmd/service.go @@ -21,14 +21,14 @@ import ( "os" "strings" + "github.com/mulgadc/predastore/s3" "github.com/mulgadc/spinifex/spinifex/config" "github.com/mulgadc/spinifex/spinifex/service" - "github.com/mulgadc/spinifex/spinifex/services/spinifexui" "github.com/mulgadc/spinifex/spinifex/services/nats" "github.com/mulgadc/spinifex/spinifex/services/predastore" + "github.com/mulgadc/spinifex/spinifex/services/spinifexui" "github.com/mulgadc/spinifex/spinifex/services/viperblockd" "github.com/mulgadc/spinifex/spinifex/services/vpcd" - "github.com/mulgadc/predastore/s3" "github.com/spf13/cobra" "github.com/spf13/viper" ) diff --git a/spinifex/gateway/auth.go b/spinifex/gateway/auth.go index 8ec52064b..1179cf27f 100644 --- a/spinifex/gateway/auth.go +++ b/spinifex/gateway/auth.go @@ -13,9 +13,9 @@ import ( "time" "github.com/google/uuid" + "github.com/mulgadc/predastore/auth" "github.com/mulgadc/spinifex/spinifex/awserrors" handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" - "github.com/mulgadc/predastore/auth" ) const ( diff --git a/spinifex/gateway/auth_test.go b/spinifex/gateway/auth_test.go index a14cbfe82..80e367058 100644 --- a/spinifex/gateway/auth_test.go +++ b/spinifex/gateway/auth_test.go @@ -12,10 +12,10 @@ import ( "github.com/aws/aws-sdk-go/service/iam" "github.com/go-chi/chi/v5" + "github.com/mulgadc/predastore/auth" "github.com/mulgadc/spinifex/spinifex/awserrors" handlers_iam "github.com/mulgadc/spinifex/spinifex/handlers/iam" "github.com/mulgadc/spinifex/spinifex/utils" - "github.com/mulgadc/predastore/auth" ) const ( diff --git a/spinifex/service/service.go b/spinifex/service/service.go index 28169b5fa..8b03ff6d0 100644 --- a/spinifex/service/service.go +++ b/spinifex/service/service.go @@ -4,10 +4,10 @@ import ( "fmt" "github.com/mulgadc/spinifex/spinifex/services/awsgw" - "github.com/mulgadc/spinifex/spinifex/services/spinifex" - "github.com/mulgadc/spinifex/spinifex/services/spinifexui" "github.com/mulgadc/spinifex/spinifex/services/nats" "github.com/mulgadc/spinifex/spinifex/services/predastore" + "github.com/mulgadc/spinifex/spinifex/services/spinifex" + "github.com/mulgadc/spinifex/spinifex/services/spinifexui" "github.com/mulgadc/spinifex/spinifex/services/viperblockd" "github.com/mulgadc/spinifex/spinifex/services/vpcd" ) diff --git a/spinifex/services/predastore/predastore.go b/spinifex/services/predastore/predastore.go index ba741a1dd..7d097bf17 100644 --- a/spinifex/services/predastore/predastore.go +++ b/spinifex/services/predastore/predastore.go @@ -9,8 +9,8 @@ import ( "syscall" "time" - "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/predastore/s3" + "github.com/mulgadc/spinifex/spinifex/utils" // Import backends to trigger their init() registration _ "github.com/mulgadc/predastore/backend/filesystem"