diff --git a/api/v2beta1/helmrelease_types.go b/api/v2beta1/helmrelease_types.go index 5887447..f5922a2 100644 --- a/api/v2beta1/helmrelease_types.go +++ b/api/v2beta1/helmrelease_types.go @@ -190,6 +190,7 @@ type HelmChartTemplateSpec struct { // Version semver expression, ignored for charts from v1beta1.GitRepository and // v1beta1.Bucket sources. Defaults to latest when omitted. + // +kubebuilder:default:=* // +optional Version string `json:"version,omitempty"` diff --git a/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml b/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml index a5d52a1..c783c98 100644 --- a/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml +++ b/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml @@ -97,6 +97,7 @@ spec: Ignored when omitted. type: string version: + default: '*' description: Version semver expression, ignored for charts from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults to latest when omitted. diff --git a/controllers/helmrelease_controller.go b/controllers/helmrelease_controller.go index fdfa53e..966df67 100644 --- a/controllers/helmrelease_controller.go +++ b/controllers/helmrelease_controller.go @@ -826,7 +826,9 @@ func helmChartRequiresUpdate(hr v2.HelmRelease, chart sourcev1.HelmChart) bool { switch { case template.Spec.Chart != chart.Spec.Chart: 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 case template.Spec.SourceRef.Name != chart.Spec.SourceRef.Name: return true diff --git a/docs/spec/v2beta1/helmreleases.md b/docs/spec/v2beta1/helmreleases.md index 150b9c9..c763fec 100644 --- a/docs/spec/v2beta1/helmreleases.md +++ b/docs/spec/v2beta1/helmreleases.md @@ -123,6 +123,7 @@ type HelmChartTemplateSpec struct { // Version semver expression, ignored for charts from v1beta1.GitRepository and // v1beta1.Bucket sources. Defaults to latest when omitted. + // +kubebuilder:default:=* // +optional Version string `json:"version,omitempty"`