Properly detect chart version divergences

This is a regression bug fix due to the introduction of the default
values in the source-controller CRDs.

Signed-off-by: Hidde Beydals <hello@hidde.co>
This commit is contained in:
Hidde Beydals 2020-11-18 09:49:01 +01:00
parent cd220464fe
commit b801b23911
4 changed files with 6 additions and 1 deletions

View File

@ -190,6 +190,7 @@ type HelmChartTemplateSpec struct {
// Version semver expression, ignored for charts from v1beta1.GitRepository and // Version semver expression, ignored for charts from v1beta1.GitRepository and
// v1beta1.Bucket sources. Defaults to latest when omitted. // v1beta1.Bucket sources. Defaults to latest when omitted.
// +kubebuilder:default:=*
// +optional // +optional
Version string `json:"version,omitempty"` Version string `json:"version,omitempty"`

View File

@ -97,6 +97,7 @@ spec:
Ignored when omitted. Ignored when omitted.
type: string type: string
version: version:
default: '*'
description: Version semver expression, ignored for charts description: Version semver expression, ignored for charts
from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults
to latest when omitted. to latest when omitted.

View File

@ -826,7 +826,9 @@ func helmChartRequiresUpdate(hr v2.HelmRelease, chart sourcev1.HelmChart) bool {
switch { switch {
case template.Spec.Chart != chart.Spec.Chart: case template.Spec.Chart != chart.Spec.Chart:
return true return true
case template.Spec.Version != chart.Spec.Version: // TODO(hidde): remove emptiness checks on next MINOR version
case template.Spec.Version == "" && chart.Spec.Version != "*",
template.Spec.Version != "" && template.Spec.Version != chart.Spec.Version:
return true return true
case template.Spec.SourceRef.Name != chart.Spec.SourceRef.Name: case template.Spec.SourceRef.Name != chart.Spec.SourceRef.Name:
return true return true

View File

@ -123,6 +123,7 @@ type HelmChartTemplateSpec struct {
// Version semver expression, ignored for charts from v1beta1.GitRepository and // Version semver expression, ignored for charts from v1beta1.GitRepository and
// v1beta1.Bucket sources. Defaults to latest when omitted. // v1beta1.Bucket sources. Defaults to latest when omitted.
// +kubebuilder:default:=*
// +optional // +optional
Version string `json:"version,omitempty"` Version string `json:"version,omitempty"`