diff --git a/chart/flux/CHANGELOG.md b/chart/flux/CHANGELOG.md index a98f84318..a46b1c08e 100644 --- a/chart/flux/CHANGELOG.md +++ b/chart/flux/CHANGELOG.md @@ -12,6 +12,8 @@ kubectl -n flux delete svc flux-memcached ### Improvements + - Add resetValues field to HelmRelease CRD + [weaveworks/flux#1628](https://github.com/weaveworks/flux/pull/1628) - Use ClusterIP service name for connecting to memcached [weaveworks/flux#1618](https://github.com/weaveworks/flux/pull/1618) diff --git a/chart/flux/templates/helm-operator-crd.yaml b/chart/flux/templates/helm-operator-crd.yaml index ca8f85b16..c63c7714f 100644 --- a/chart/flux/templates/helm-operator-crd.yaml +++ b/chart/flux/templates/helm-operator-crd.yaml @@ -38,14 +38,17 @@ spec: timeout: type: integer format: int64 + resetValues: + type: boolean valueFileSecrets: type: array - items: - type: object - required: ['name'] - properties: - name: - type: string + properties: + items: + type: object + required: ['name'] + properties: + name: + type: string values: type: object chart: diff --git a/deploy-helm/flux-helm-release-crd.yaml b/deploy-helm/flux-helm-release-crd.yaml index 162aad095..9cdd49284 100644 --- a/deploy-helm/flux-helm-release-crd.yaml +++ b/deploy-helm/flux-helm-release-crd.yaml @@ -29,14 +29,17 @@ spec: timeout: type: integer format: int64 + resetValues: + type: boolean valueFileSecrets: type: array - items: - type: object - required: ['name'] - properties: - name: - type: string + properties: + items: + type: object + required: ['name'] + properties: + name: + type: string values: type: object chart: diff --git a/integrations/apis/flux.weave.works/v1beta1/types.go b/integrations/apis/flux.weave.works/v1beta1/types.go index e248cf0a5..a31dfa6ce 100644 --- a/integrations/apis/flux.weave.works/v1beta1/types.go +++ b/integrations/apis/flux.weave.works/v1beta1/types.go @@ -72,6 +72,9 @@ type HelmReleaseSpec struct { // Install or upgrade timeout in seconds // +optional Timeout *int64 `json:"timeout,omitempty"` + // Reset values on helm upgrade + // +optional + ResetValues bool `json:"resetValues,omitempty"` } // GetTimeout returns the install or upgrade timeout (defaults to 300s) diff --git a/integrations/helm/release/release.go b/integrations/helm/release/release.go index d0bfa6778..c1bbe9a12 100644 --- a/integrations/helm/release/release.go +++ b/integrations/helm/release/release.go @@ -30,7 +30,7 @@ const ( // Release contains clients needed to provide functionality related to helm releases type Release struct { - logger log.Logger + logger log.Logger HelmClient *k8shelm.Client } @@ -207,6 +207,7 @@ func (r *Release) Install(chartPath, releaseName string, fhr flux_v1beta1.HelmRe k8shelm.UpdateValueOverrides(rawVals), k8shelm.UpgradeDryRun(opts.DryRun), k8shelm.UpgradeTimeout(fhr.GetTimeout()), + k8shelm.ResetValues(fhr.Spec.ResetValues), ) if err != nil {