refactor: compose deployment with pluggable spec resolver, basic test

This commit is contained in:
Pavel Sviderski
2025-03-19 16:28:17 +10:00
parent fb01604d21
commit 041d51b74f
10 changed files with 185 additions and 15 deletions
+3
View File
@@ -11,6 +11,9 @@ import (
// Operation represents a single atomic operation in a deployment process.
// Operations can be composed to form complex deployment strategies.
type Operation interface {
// Execute performs the operation using the provided client.
// TODO: Encapsulate the client in the operation as otherwise it gives an impression that different clients
// can be provided. But in reality, the operation is tightly coupled with the client that was used to create it.
Execute(ctx context.Context, cli *Client) error
// Format returns a human-readable representation of the operation.
Format(resolver NameResolver) string