From e751bdc8a9be01d47e47af8452faf65c9b89534e Mon Sep 17 00:00:00 2001
From: Hidde Beydals <hello@hidde.co>
Date: Tue, 1 Sep 2020 11:15:53 +0200
Subject: [PATCH] Change readiness check for HelmRelease

As the HelmRelease injects its own HelmChart, the first reconciliation
will always trigger a `Ready==False` condition while it waits for the
chart to become ready. Given this, we should only take this condition
into account when the `status.LastAttemptedRevision` has been recorded,
as this marks the fact that the chart is available and an action was
attempted.
---
 cmd/tk/reconcile_helmrelease.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmd/tk/reconcile_helmrelease.go b/cmd/tk/reconcile_helmrelease.go
index 6ac4769b..fa4a4073 100644
--- a/cmd/tk/reconcile_helmrelease.go
+++ b/cmd/tk/reconcile_helmrelease.go
@@ -138,7 +138,7 @@ func isHelmReleaseReady(ctx context.Context, kubeClient client.Client, name, nam
 			if condition.Type == helmv2.ReadyCondition {
 				if condition.Status == corev1.ConditionTrue {
 					return true, nil
-				} else if condition.Status == corev1.ConditionFalse {
+				} else if condition.Status == corev1.ConditionFalse && helmRelease.Status.LastAttemptedRevision != "" {
 					return false, fmt.Errorf(condition.Message)
 				}
 			}
-- 
GitLab