pkg/workflows/management/delete_cluster.go (50 lines of code) (raw):

package management import ( "context" "github.com/aws/eks-anywhere/pkg/logger" "github.com/aws/eks-anywhere/pkg/task" "github.com/aws/eks-anywhere/pkg/workflows" ) type deleteManagementCluster struct{} func (s *deleteManagementCluster) Run(ctx context.Context, commandContext *task.CommandContext) task.Task { logger.Info("Deleting management cluster") err := commandContext.ClusterDeleter.Run(ctx, commandContext.ClusterSpec, *commandContext.BootstrapCluster) if err != nil { commandContext.SetError(err) return &workflows.CollectMgmtClusterDiagnosticsTask{} } err = commandContext.Provider.PostClusterDeleteValidate(ctx, commandContext.BootstrapCluster) if err != nil { commandContext.SetError(err) return &workflows.CollectMgmtClusterDiagnosticsTask{} } return &cleanupGitRepo{} } func (s *deleteManagementCluster) Name() string { return "delete-management-cluster" } func (s *deleteManagementCluster) Restore(ctx context.Context, commandContext *task.CommandContext, completedTask *task.CompletedTask) (task.Task, error) { return nil, nil } func (s *deleteManagementCluster) Checkpoint() *task.CompletedTask { return nil } type cleanupGitRepo struct{} func (s *cleanupGitRepo) Run(ctx context.Context, commandContext *task.CommandContext) task.Task { logger.Info("Clean up Git Repo") err := commandContext.GitOpsManager.CleanupGitRepo(ctx, commandContext.ClusterSpec) if err != nil { commandContext.SetError(err) return &workflows.CollectDiagnosticsTask{} } return &deleteBootstrapClusterForDeleteTask{} } func (s *cleanupGitRepo) Name() string { return "clean-up-git-repo" } func (s *cleanupGitRepo) Restore(ctx context.Context, commandContext *task.CommandContext, completedTask *task.CompletedTask) (task.Task, error) { return nil, nil } func (s *cleanupGitRepo) Checkpoint() *task.CompletedTask { return nil }