diff --git a/cmd/uc/deploy.go b/cmd/uc/deploy.go index e6914a10..42f7a110 100644 --- a/cmd/uc/deploy.go +++ b/cmd/uc/deploy.go @@ -18,7 +18,7 @@ import ( "github.com/psviderski/uncloud/pkg/client" "github.com/psviderski/uncloud/pkg/client/compose" "github.com/psviderski/uncloud/pkg/client/deploy" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" + "github.com/psviderski/uncloud/pkg/client/operation" "github.com/spf13/cobra" ) diff --git a/pkg/client/compose/deploy.go b/pkg/client/compose/deploy.go index 92d2b9ba..fd2f4f08 100644 --- a/pkg/client/compose/deploy.go +++ b/pkg/client/compose/deploy.go @@ -13,8 +13,8 @@ import ( "github.com/docker/docker/api/types/volume" "github.com/psviderski/uncloud/pkg/api" "github.com/psviderski/uncloud/pkg/client/deploy" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" "github.com/psviderski/uncloud/pkg/client/deploy/scheduler" + "github.com/psviderski/uncloud/pkg/client/operation" ) type Client interface { diff --git a/pkg/client/compose/plan.go b/pkg/client/compose/plan.go index b97af28c..27b18827 100644 --- a/pkg/client/compose/plan.go +++ b/pkg/client/compose/plan.go @@ -10,7 +10,7 @@ import ( "github.com/psviderski/uncloud/internal/cli/tui" "github.com/psviderski/uncloud/pkg/api" "github.com/psviderski/uncloud/pkg/client/deploy" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" + "github.com/psviderski/uncloud/pkg/client/operation" ) // Plan holds the compose-level deployment plan with volume and service operations. diff --git a/pkg/client/deploy/deploy.go b/pkg/client/deploy/deploy.go index 4869c69e..614cdccf 100644 --- a/pkg/client/deploy/deploy.go +++ b/pkg/client/deploy/deploy.go @@ -12,8 +12,8 @@ import ( "github.com/distribution/reference" "github.com/psviderski/uncloud/internal/cli/tui" "github.com/psviderski/uncloud/pkg/api" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" "github.com/psviderski/uncloud/pkg/client/deploy/scheduler" + "github.com/psviderski/uncloud/pkg/client/operation" ) type Client interface { diff --git a/pkg/client/deploy/strategy.go b/pkg/client/deploy/strategy.go index 1743079d..45eaa251 100644 --- a/pkg/client/deploy/strategy.go +++ b/pkg/client/deploy/strategy.go @@ -8,8 +8,8 @@ import ( "github.com/psviderski/uncloud/api/pb" "github.com/psviderski/uncloud/internal/secret" "github.com/psviderski/uncloud/pkg/api" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" "github.com/psviderski/uncloud/pkg/client/deploy/scheduler" + "github.com/psviderski/uncloud/pkg/client/operation" ) // Strategy defines how a service should be deployed or updated. Different implementations can provide various diff --git a/pkg/client/deploy/strategy_test.go b/pkg/client/deploy/strategy_test.go index 4fc6d731..2974f619 100644 --- a/pkg/client/deploy/strategy_test.go +++ b/pkg/client/deploy/strategy_test.go @@ -8,8 +8,8 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "github.com/psviderski/uncloud/api/pb" "github.com/psviderski/uncloud/pkg/api" - "github.com/psviderski/uncloud/pkg/client/deploy/operation" "github.com/psviderski/uncloud/pkg/client/deploy/scheduler" + "github.com/psviderski/uncloud/pkg/client/operation" "github.com/stretchr/testify/assert" ) diff --git a/pkg/client/deploy/operation/container.go b/pkg/client/operation/container.go similarity index 100% rename from pkg/client/deploy/operation/container.go rename to pkg/client/operation/container.go diff --git a/pkg/client/deploy/operation/container_test.go b/pkg/client/operation/container_test.go similarity index 100% rename from pkg/client/deploy/operation/container_test.go rename to pkg/client/operation/container_test.go diff --git a/pkg/client/deploy/operation/operation.go b/pkg/client/operation/operation.go similarity index 64% rename from pkg/client/deploy/operation/operation.go rename to pkg/client/operation/operation.go index 800483e5..cdbba2e1 100644 --- a/pkg/client/deploy/operation/operation.go +++ b/pkg/client/operation/operation.go @@ -6,8 +6,8 @@ import ( "github.com/psviderski/uncloud/pkg/api" ) -// Operation represents a single atomic operation in a deployment process. -// Operations can be composed to form complex deployment strategies. +// Operation represents a single operation in the cluster that can be executed. +// Operations can be composed to form complex workflows (plans). type Operation interface { // Execute performs the operation using the provided client. Execute(ctx context.Context, cli Client) error @@ -16,7 +16,7 @@ type Operation interface { String() string } -// Client defines the interface required to execute deployment operations. +// Client defines the interface required to execute cluster operations. type Client interface { api.ContainerClient api.VolumeClient diff --git a/pkg/client/deploy/operation/predeploy.go b/pkg/client/operation/predeploy.go similarity index 100% rename from pkg/client/deploy/operation/predeploy.go rename to pkg/client/operation/predeploy.go diff --git a/pkg/client/deploy/operation/sequence.go b/pkg/client/operation/sequence.go similarity index 100% rename from pkg/client/deploy/operation/sequence.go rename to pkg/client/operation/sequence.go diff --git a/pkg/client/deploy/operation/volume.go b/pkg/client/operation/volume.go similarity index 100% rename from pkg/client/deploy/operation/volume.go rename to pkg/client/operation/volume.go