From bc3c4e2a369f8a08cbd6465994fd1fc92095240d Mon Sep 17 00:00:00 2001 From: Raffael Sahli Date: Tue, 9 Feb 2021 10:17:07 +0100 Subject: [PATCH 1/2] fixes writing chart twice which results in a 0bytes tgz Signed-off-by: Raffael Sahli --- controllers/helmchart_controller.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/controllers/helmchart_controller.go b/controllers/helmchart_controller.go index 80ec3d6c..48e0671e 100644 --- a/controllers/helmchart_controller.go +++ b/controllers/helmchart_controller.go @@ -403,8 +403,13 @@ func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context, if changed, err := helm.OverwriteChartDefaultValues(helmChart, valuesData); err != nil { return sourcev1.HelmChartNotReady(chart, sourcev1.ChartPackageFailedReason, err.Error()), err } else if !changed { - // No changes, skip to write original package to storage - goto skipToDefault + // No changes, write original package to storage + if err := r.Storage.AtomicWriteFile(&newArtifact, res, 0644); err != nil { + err = fmt.Errorf("unable to write chart file: %w", err) + return sourcev1.HelmChartNotReady(chart, sourcev1.StorageOperationFailedReason, err.Error()), err + } + + break } // Create temporary working directory @@ -430,8 +435,6 @@ func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context, readyMessage = fmt.Sprintf("Fetched and packaged revision: %s", newArtifact.Revision) readyReason = sourcev1.ChartPackageSucceededReason - skipToDefault: - fallthrough default: // Write artifact to storage if err := r.Storage.AtomicWriteFile(&newArtifact, res, 0644); err != nil { From 1e195033592dc69dd95c130633ae4057c55770c0 Mon Sep 17 00:00:00 2001 From: Raffael Sahli Date: Tue, 9 Feb 2021 17:35:02 +0100 Subject: [PATCH 2/2] break before default Signed-off-by: Raffael Sahli --- controllers/helmchart_controller.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/controllers/helmchart_controller.go b/controllers/helmchart_controller.go index 48e0671e..5e57bfae 100644 --- a/controllers/helmchart_controller.go +++ b/controllers/helmchart_controller.go @@ -403,13 +403,8 @@ func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context, if changed, err := helm.OverwriteChartDefaultValues(helmChart, valuesData); err != nil { return sourcev1.HelmChartNotReady(chart, sourcev1.ChartPackageFailedReason, err.Error()), err } else if !changed { - // No changes, write original package to storage - if err := r.Storage.AtomicWriteFile(&newArtifact, res, 0644); err != nil { - err = fmt.Errorf("unable to write chart file: %w", err) - return sourcev1.HelmChartNotReady(chart, sourcev1.StorageOperationFailedReason, err.Error()), err - } - - break + // No changes, skip to write original package to storage + goto skipToDefault } // Create temporary working directory @@ -435,6 +430,9 @@ func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context, readyMessage = fmt.Sprintf("Fetched and packaged revision: %s", newArtifact.Revision) readyReason = sourcev1.ChartPackageSucceededReason + break + skipToDefault: + fallthrough default: // Write artifact to storage if err := r.Storage.AtomicWriteFile(&newArtifact, res, 0644); err != nil {