diff --git a/cmd/tk/get_kustomization.go b/cmd/tk/get_kustomization.go index 9aa33c09..3d8b0111 100644 --- a/cmd/tk/get_kustomization.go +++ b/cmd/tk/get_kustomization.go @@ -45,7 +45,7 @@ func getKsCmdRun(cmd *cobra.Command, args []string) error { for _, kustomization := range list.Items { if kustomization.Spec.Suspend { logSuccess("%s is suspended", kustomization.GetName()) - break + continue } isInitialized := false for _, condition := range kustomization.Status.Conditions { diff --git a/cmd/tk/resume_kustomization.go b/cmd/tk/resume_kustomization.go index fc2afda7..7712ab8e 100644 --- a/cmd/tk/resume_kustomization.go +++ b/cmd/tk/resume_kustomization.go @@ -3,9 +3,11 @@ package main import ( "context" "fmt" + kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1alpha1" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" ) var resumeKsCmd = &cobra.Command{ @@ -51,9 +53,24 @@ func resumeKsCmdRun(cmd *cobra.Command, args []string) error { } logSuccess("kustomization resumed") - if err := syncKsCmdRun(nil, []string{name}); err != nil { + logWaiting("waiting for kustomization sync") + if err := wait.PollImmediate(pollInterval, timeout, + isKustomizationReady(ctx, kubeClient, name, namespace)); err != nil { return err } + logSuccess("kustomization sync completed") + + err = kubeClient.Get(ctx, namespacedName, &kustomization) + if err != nil { + return err + } + + if kustomization.Status.LastAppliedRevision != "" { + logSuccess("applied revision %s", kustomization.Status.LastAppliedRevision) + } else { + return fmt.Errorf("kustomization sync failed") + } + return nil }