This release of Helm Operator removes the telemetry collection in accordance with the CNCF's published policies against default telemetry. Some deprecation notices are now emitted by the installer, please upgrade to Flux v2 or open an issue if you are blocked.
The Helm Operator has been rebuilt against a fresh base image and had its dependencies updated in order to mitigate upstream CVEs.
- Release 1.4.4 fluxcd/helm-operator#661
Helm Operator and Flux v1 are in maintenance:
Please note, while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
This release of Helm Operator has no internal changes; the Helm Operator has been rebuilt against a fresh base image and had its dependencies updated in order to mitigate upstream CVEs.
- Release 1.4.3 fluxcd/helm-operator#654
Helm Operator and Flux v1 are in maintenance:
Please note, while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
This release of Helm Operator has no internal changes; the Helm Operator has been rebuilt against a fresh base image and a deployment manifest has been updated to match the updates to the operator in support of Kubernetes v1.22 and up, which no longer serves the rbac.authorization.k8s.io/v1beta1
API.
- Updated deploy/rbac.yaml ClusterRole and ClusterRoleBinding to V1 fluxcd/helm-operator#642
- Release 1.4.2 fluxcd/helm-operator#645
Helm Operator and Flux v1 are in maintenance:
Please note, while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
This release of Helm Operator has no code changes, only base image and dependency updates.
- Release 1.4.1 fluxcd/helm-operator#639
Helm Operator and Flux v1 are in maintenance:
Please note, while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
Note: Breaking Changes
This release of Helm Operator will break compatibility with older releases of Kubernetes, in order to ensure forward compatibility with long-awaited breaking changes in Kubernetes 1.22.0.
The v1beta1
release of CustomResourceDefinition
as well as Role
, ClusterRole
, and role bindings, have been replaced by their v1
counterparts, and will finally be removed.
Helm Operator and Flux are in maintenance: Efforts have been focused on the next generation of Flux, also called the GitOps Toolkit, which has crossed the feature-parity milestone, and is already recommended for production use in many cases. The helm-controller is the replacement for Helm Operator. The roadmap for Flux v2 development including Helm Controller can be found here.
We are eager to hear feedback, suggestions, and/or feature requests for the helm-controller and other Toolkit components. The migration timetable will be kept updated with developments regarding the ongoing support of Helm Operator.
Users of Helm Operator should be planning or executing their migrations, and report any blocking issues so that they can be addressed as early as possible.
NOTE: Make sure to update the CRD when upgrading from a previous version as they have been changed since the prior release.
Please note, while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
- Update CRD version for CustomResourceDefinition fluxcd/helm-operator#599
- Update CRD version for rbac.authorization.k8s.io fluxcd/helm-operator#618
Helm Operator and Flux are in maintenance: Efforts have been focused on the next generation of Flux, also called the GitOps Toolkit, which has crossed the feature-parity milestone, and is already recommended for production use in many cases. The helm-controller is the replacement for Helm Operator. The roadmap for Flux v2 development including Helm Controller can be found here.
We are eager to hear feedback, suggestions, and/or feature requests for the helm-controller and other Toolkit components. The migration timetable will be kept updated with developments regarding the ongoing support of Helm Operator.
Users of Helm Operator should be planning their migrations, and report any blocking issues so that they can be addressed as early as possible.
NOTE: Make sure to update the CRD when upgrading from a previous version as they may have been changed since the prior release.
Documentation for Helm Operator has moved under fluxcd.io/legacy/flux. This release includes any merged fixes that were unreleased for the past year, including an upgrade from Helm 3.1.x to Helm 3.5.4 which also covered some breaking changes in Helm.
The next MINOR (1.4.0) release of Helm Operator will break compatibility with older releases of Kubernetes, in order to ensure forward compatibility with long-awaited breaking changes in Kubernetes 1.22.0.
(fluxcd/helm-operator#599 and fluxcd/helm-operator#618 describe the breaking changes that are upcoming in Helm Operator 1.4.0.)
Please note, this is a security update and while we continue the Helm Operator support, there are some known issues in Helm Operator that cannot be addressed. Users are advised strongly to plan their infrastructure upgrades and migrate to Flux v2 and Helm Controller as soon as possible, as Helm Operator will soon no longer be maintained.
- Update helm v2 and v3 to latest fluxcd/helm-operator#604
- Update Alpine to 3.13 fluxcd/helm-operator#589
- Update Helm stable repository url fluxcd/helm-operator#577
- Move Fons to maintainer emeritus fluxcd/helm-operator#547
- Disable link-checking fluxcd/helm-operator#594
- Add maintenance note to GitHub templates and README fluxcd/helm-operator#548
- Add
terminationGracePeriodSeconds
value to Helm Operator Chart fluxcd/helm-operator#564 - Default kubeconfig to None in chart fluxcd/helm-operator#521
- Remove the query string from the CleanURL fluxcd/helm-operator#571
- Sync chart mirror on chart spec change to prevent incorrect reconciliation fluxcd/helm-operator#573
- Add explicit namespace field to namespaced resources fluxcd/helm-operator#517
- Add more Helm chart dashboard options fluxcd/helm-operator#522
- Unnest convert settings from tls fluxcd/helm-operator#524
- Enable additional sidecar containers fluxcd/helm-operator#484
- Adding securityContext options at the pod and container level. fluxcd/helm-operator#494
- fix: kubeconfig override in chart/deployment fluxcd/helm-operator#507
- fix: make passing gitconfig as a value optional fluxcd/helm-operator#551
- fix: Address constant release creation fluxcd/helm-operator#533
- fix: take ignored OptionalSecretKeySelector into account fluxcd/helm-operator#616
- docs: Fix Readme (configureRepositories.cacheVolumeName) fluxcd/helm-operator#502
- docs: Remove docs, point to new location where relevant fluxcd/helm-operator#611
- docs: Update issue/PR templates with new info on v2 fluxcd/helm-operator#583
- docs: Add website, twitter, linkedin to docs.f.i fluxcd/helm-operator#592
- docs: how to update the helm-op docs post-release fluxcd/helm-operator#610
- docs: Make docs v1 warning global fluxcd/helm-operator#590
- docs: Point to flux2 from our docs fluxcd/helm-operator#588
- docs: Malformed list in Chart sources -> Git repositories fluxcd/helm-operator#549
- docs: Remove redundant text fluxcd/helm-operator#542
- docs: Fix bullet lists in chart-sources.md fluxcd/helm-operator#529
Thanks to @Carles-Figuerola, @amit-handda, @bmalynovytch, @coultenholt, @dholbach, @em-schmidt, @flimzy, @fredr, @hiddeco, @jbuettnerbild, @kingdonb, @krichardson-apexclearing, @mattjw, @mbrancato, @mnaser, @neil-greenwood, @nilesh892003, @smarthall, @stefanprodan, @swade1987, @t1bb4r, @tux-00 and @wujiangfa-xlauncher for their contributions to this release.
Note on the future of the Helm Operator and Flux: We are working on a next generation Flux assembled from components as part of a bigger GitOps Toolkit project. One of the components is the helm-controller which eventually will replace the Helm Operator. The roadmap for this can be found here.
We are eager to hear feedback, suggestions, and/or feature requests for the helm-controller and other Toolkit components.
This is the second minor release, it adds support for Helm tests and v2 to v3 release conversions, and includes a variety of bug fixes.
NOTE: Make sure to update the CRD when upgrading from a previous version as they have been changed in this release.
- metrics: use release name and namespace in
release_condition_info
labels fluxcd/helm-operator#431 - operator: obtain lock before obtaining release data fluxcd/helm-operator{#437, #445}
- misc: use sigs.k8s.io/yaml everywhere fluxcd/helm-operator#455
- release: increase timeout for annotator to support large umbrella charts fluxcd/helm-operator#478
- metrics: remove
release_condition_info
data on delete fluxcd/helm-operator{#485, #492, #495} - release: prevent spurious upgrades for semver ranges fluxcd/helm-operator#490
- helm/v3: slightly increase GC offset anonymous files fluxcd/helm-operator#491
- helm: add
helm test
integration fluxcd/helm-operator{#415, #472} - helm/v3: add v2->v3 release converter fluxcd/helm-operator{#415, #471, #486}
- helm/v3: add flag for disabling OpenAPI Validation fluxcd/helm-operator#480
- docs: fix
HelmReleaseError
alert rule expression in monitoring reference fluxcd/helm-operator#429 - docs: fix comment regarding repositories.yaml setup fluxcd/helm-operator#433
- docs: replace v1.13 API reference URLs with v1.18 fluxcd/helm-operator#442
- e2e: increase liveness and readiness probe failureThreshold during tests fluxcd/helm-operator#500
Thanks to @stefanprodan, @sa-spag, @MMartyn, @seaneagan, @hezhizhen, @saada, @chrisjholly, @avielb, @luxas, @waseem-h, and others for their contributions to this release, feedback, and reporting issues.
This is the first minor release, it focuses on metrics improvements, state logic improvements, and the fixing of spurious disk usage bug due to anonymous index files not getting cleaned up in Helm 3.
- release: reset recorded failure cond on dry-run fluxcd/helm-operator{#385, #425}
- release: imply release failure upon chart fetch failure fluxcd/helm-operator#399
- helm/v3: garbage collect anonymous index files fluxcd/helm-operator#422
- release: keep track of last attempted revision fluxcd/helm-operator#382
- metrics: add
release_count
to expose number of Helm Operator managed releases fluxcd/helm-operator#387 - metrics: add
release_condition_info
condition gauge fluxcd/helm-operator#403 - metrics: introduce
release_action_duration_seconds
as a replacement forrelease_phase_duration_seconds
fluxcd/helm-operator#407 - metrics: add
600
and1800
duration buckets fluxcd/helm-operator#407 - operator: fix typo in synchronization log fluxcd/helm-operator#411
- chartsync/git: allow selecting cross-namespace secrets for HTTPS credentials fluxcd/helm-operator#421
- docs: improvements to contributing documentation fluxcd/helm-operator#297
- docs: fix link-checking and a number of links fluxcd/helm-operator#347
- docs: improve monitoring documentation fluxcd/helm-operator#384
- build: update Go to
1.14.x
fluxcd/helm-operator#386 - e2e: fix tests on MacOS fluxcd/helm-operator#400
Thanks to @stefansedich, @sa-spag, @dholbach, @seaneagan,@stefanprodan, @vladlosev, @fllaca, @hiddeco, @Sayrus, @squaremo, and others for their contributions to this release, feedback, and reporting issues.
This is a patch release.
- release: do not swallow dependency update errors fluxcd/helm-operator#372
Thanks to @brew, @qvmedvedev, @stefansedich, @hiddeco, @stefanprodan, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
Notice: due to the multiple added fields, you need to re-apply the
HelmRelease
CRD.
This release marks the first GA release of the Helm Operator, and the end of the release candidate stretch releases.
- status: unset
RolledBack
condition onReleased
==True
fluxcd/helm-operator#326
- apis: generate CRDs using
controller-gen
fluxcd/helm-operator#270 - release: configure go logger to log using our go-kit logger fluxcd/helm-operator#306
- install: rename files and resource names fluxcd/helm-operator#322
- helm: update Helm 3 to
3.1.2
and Helm 2 to2.16.3
fluxcd/helm-operator#333 - release: record release phases on the
HelmRelease
resource fluxcd/helm-operator#334 - release: introduce
--reuse-values
functionality fluxcd/helm-operator#359
- docs: update
helm delete
documentation for Helm 3 fluxcd/helm-operator#330 - docs: switch to
mkdocs
fluxcd/helm-operator#332 - docs: new quickstart guide,
HelmRelease
guide, FAQ, etc. fluxcd/helm-operator#321 - e2e: update
gitsrv
to1.0.0
fluxcd/helm-operator#341 - docs: fix the name description in the secret section fluxcd/helm-operator#342
- docs: fix 'add Helm chart' example fluxcd/helm-operator#343
- docs: update
MAINTAINERS
fluxcd/helm-operator#351 - e2e: use binary of targeted Helm version in tests fluxcd/helm-operator#360
Thanks to @stefansedich, @mmorejon, @sa-spag, @stefanprodan, @dholbach, @hiddeco, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
Notice: due to the multiple added fields, you need to re-apply the
HelmRelease
CRD.
- release: propagate all configured release flags to dry-run upgrade fluxcd/helm-operator#250
- chartsync: honour the configured default Git ref when reconciling charts source fluxcd/helm-operator#253
- release: disable atomic flag for Helm chart installation fluxcd/helm-operator#256
- apis: correct JSON namespace tag for key selectors fluxcd/helm-operator#262
- helm/v3: support upgrades of releases with nested
HelmRelease
resources (using a patched Helm3.0.3
release) fluxcd/helm-operator#292
- release: support retrying rollbacks fluxcd/helm-operator#252
- helm: support downloader plugins fluxcd/helm-operator#263
- helm/v3: support skipping CRD installation using
.spec.skipCRDs
fluxcd/helm-operator#282 - helm/v3: enrich Helm logger with release name and namespace metadata fluxcd/helm-operator#291
- e2e: use podinfo's
--unready
to make a release fail fluxcd/helm-operator#258 - Pkg: update Helm 3 to
3.0.3
fluxcd/helm-operator{#260, #292} - build: include
bash
andcurl
in image fluxcd/helm-operator#276 - build: make sure we test all the local modules fluxcd/helm-operator#269
- build: add
generate-codegen
target to Makefile fluxcd/helm-operator#289 - e2e: install Tiller in operator namespace for more reliable cleanup fluxcd/helm-operator#290
- e2e: do not create kind clusters in parallel fluxcd/helm-operator#290
- docs: document usage of Helm downloader plugins fluxcd/helm-operator#295
- docs: highlight standalone usage in
README.md
fluxcd/helm-operator#296
Thanks to @sa-spag, @stefanprodan, @mcharriere, @GODBS, @derrickburns, @autarchprinceps, @stefanseditch, @infinitydon, @cbenjemaa, @sayboras, @2opremio, @hiddeco, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
Notice: due to the multiple added fields, you need to re-apply the
HelmRelease
CRD.
- release: push returned error as condition on sync check failure fluxcd/helm-operator#209
- release: reject git source if URL and path are missing fluxcd/helm-operator#223
- helm: only hold repository config lock for duration of read so dry-runs are run in parallel again fluxcd/helm-operator#225
- release: use all set
rollback
values when performing a rollback operation fluxcd/helm-operator#239 - helm: do not include non-template files in chart data
so that the generation of a
requirement.lock
due to a dependency update does not cause spurious upgrades fluxcd/helm-operator#242
- release: allow
.spec.wait
to be set for upgrades fluxcd/helm-operator#95 - chartsync: support supplying Git HTTPS credentials
using
secretRef
fluxcd/helm-operator#172 - status: retry status and condition updates on conflicts fluxcd/helm-operator#210
- release: allow
secretKeyRef
andconfigMapKeyRef
to be selected from other namespaces using thenamespace
key fluxcd/helm-operator#219 - helm: only index missing repositories when fetching a chart from an URL fluxcd/helm-operator#225
- helm/v3: propagate main application logger to client fluxcd/helm-operator#232
- release: allow max history to be overridden using
.spec.maxHistory
fluxcd/helm-operator#235 - release: rely on Helm storage for determining when to upgrade after rolling back fluxcd/helm-operator#239
- build: update Kubernetes Kind to
v0.7.0
and set Kubernetesv1.14.10
for end-to-end tests fluxcd/helm-operator#207 - build: upgrade code-generator to Kubernetes 1.16.2 fluxcd/helm-operator#214
- docs: update FAQ on Flux garbage collection fluxcd/helm-operator#221
- Pkg: update Flux to
v1.17.2-0.20200121140732-3903cf8e71c3
fluxcd/helm-operator#230 - Pkg: make
pkg/install
a Go module to reduce its dependencies fluxcd/helm-operator#234
Thanks to @sa-spag, @carlpett, @sureshamk, @ingeknudsen, @cep21, @HaveFun83, @stefanprodan, @runningman84, @nabadger, @Helcaraxan, @stefansedich, @hiddeco, @grrywlsn, @niall-weedon, @richardcase, @REBELinBLUE, @derrickburns, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
- release: ignore manifest in annotator if we fail to unmarshal fluxcd/helm-operator#190
- helm/v2: if present, use alias to pull a chart so that the configured credentials are used fluxcd/helm-operator#193
- helm/v3: if present, use alias to pull a chart so that the configured credentials are used fluxcd/helm-operator#193
- helm/v3: prevent spurious upgrades due to missing dependencies in chart metadata fluxcd/helm-operator#196
- helm: only log errors on repository index fluxcd/helm-operator#193
- Pkg: update Flux package to
v1.17.0
(kube-1.16
branch) fluxcd/helm-operator#177
Thanks to @stefansedich, @domg123, @gaieges, @PaulFarver, @rowecharles, @apenney, @stefanprodan, @hiddeco, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
This release fixes some (but not all) of the more critical bugs reported since Helm v3 was introduced in the last release.
- helm/v3: include available credentials when pulling chart fluxcd/helm-operator#171
- helm/v2: index repositories before pulling chart fluxcd/helm-operator#181
- release: detect change of chart base values fluxcd/helm-operator#182
- release: filter out nil release resources during parsing fluxcd/helm-operator#182
- Pkg: update Helm packages to
3.0.2
and2.16.1
fluxcd/helm-operator#177 - Build: fix flakiness of various end-to-end tests fluxcd/helm-operator#178
- Build: fix authentication issue on
git clone
in end-to-end tests fluxcd/helm-operator#180
Thanks to @PaulFarver, @stefansedich, @richardcase, @stefanprodan, @hiddeco, and others for their contributions to this release, feedback, and reporting issues.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
Notice: due to the added
helmVersion
field, you need to re-apply theHelmRelease
CRD.
This release brings Helm v3 support to the release candidate,
Helm v3 functionalities should be considered beta. Support for
Helm v2 and v3 is enabled by default. To target Helm v3, set the
.spec.helmVersion
in a HelmRelease
to v3
.
Enabling just Helm v3 is possible by configuring
--enabled-helm-versions=v3
, this will also make the
.spec.helmVersion
default to v3
.
To be able to support multiple Helm versions large parts of the
operator had to be rewritten, which lead to several improvements
around release deciscion making and keeping track of charts from
Git sources. We also no longer shell out to the helm
binary
to achieve certain functionalities but instead make directly use
of the available Helm packages, this will also ease the support
of charts from OCI sources in upcoming releases.
Extensive documentation will be added in the next release candidate, which will likely also be the last RC before moving to GA.
-
Helm v3 support (
v3.0.1
) fluxcd/helm-operator#156With a subset of notable PRs:
- Include of
helm2
andhelm3
binaries in Docker image fluxcd/helm-operator#118 - Support for importing Helm v2 and v3 repositories using
the
--helm-repository-import
flag fluxcd/helm-operator#141 - Refactor of downloads from Helm chart repositories; it now uses the download manager from Helm instead of our own logic fluxcd/helm-operator#145
- Refactor of dependency updates; it now uses the download
manager from Helm instead of shelling out to the
helm
binary fluxcd/helm-operator#145
- Include of
-
Decoupling of release reconciliation from chart source sync fluxcd/helm-operator#99
- Build: upgrade Go to
1.13.3
fluxcd/helm-operator#104 - Pkg: only use
fluxcd/flux
fluxcd/helm-operator#104 - Build: end-to-end tests [fluxcd/helm-operator#]{#110, #118, #148, #150}
Thanks @carnott-snap, @karuppiah7890, @hiddeco, @stefanprodan, @2opremio and @stefansedich for contributions to this release.
Plus a special thanks to users testing the alpha version with Helm v3 support, notably @gsf, @dminca, @rowecharles, @eschereisin, @stromvirvel, @timja, @dragonsmith, @maxstepanov, @jan-schumacher, @StupidScience, @brew, and all others that may have gone unnoticed.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
- Update Helm to
2.16.1
fluxcd/helm-operator#107 - Add flag to specify an alternative default Git ref fluxcd/helm-operator#83
- Build: use
fluxcd/flux
import inchartsync
package fluxcd/helm-operator#101 - Documentation: document
timeout
,resetValues
andforceUpgrade
HelmRelease
fields fluxcd/helm-operator#82
Many thanks to @carnott-snap, @frabar-lancom, @hiddeco, @niall-weedon, and @stefanprodan for contributions to this release.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
This is the third release candidate.
- Update Helm to
v2.14.3
and kubectl tov1.14.7
fluxcd/helm-operator#73 - Add EKS repo to the list of public Helm repositories in the default config fluxcd/helm-operator#64
- De-experimental-ise
--workers
flag and set the default value to two workers fluxcd/helm-operator#53
- Build: Make release build cope with
v
prefixed tags fluxcd/helm-operator#61
Many thanks to @hiddeco and @stefanprodan for contributions to this release.
Notice: upgrading to this version from
<=0.10.x
by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
This is the second release candidate.
- Fix permissions on chart directory creation for non-root users fluxcd/helm-operator#31
- Filter out
nil
resources during parsing of released resources, as it caused confusion due to a harmlessObject 'Kind' is missing in 'null'
error being logged fluxcd/helm-operator#47 - Make
OwnedByHelmRelease
default totrue
, to work around some edge case scenarios where no resources are present for the release, or they are all skipped fluxcd/helm-operator#56
- Add
--status-update-interval
flag, for configuring the interval at which the operator consults Tiller for the status of a release fluxcd/helm-operator#44 - Expand the list of public Helm repositories in the default config fluxcd/helm-operator#53
- Build: avoid spurious diffs in generated files by fixing their modtimes to Unix epoch fluxcd/helm-operator#50
- Build: update Flux dependency to
v1.15.0
fluxcd/helm-operator#58 - Documentation: Kustomize installation tutorial and various fixes fluxcd/helm-operator#32
- Documentation: add Helm v3 (alpha) workshop to
README.md
fluxcd/helm-operator#52
Many thanks to @knackaron, @stefanprodan, @hiddeco, @swade1987 for contributions to this release.
Notice: upgrading to this version by just updating your Helm Operator image tag is not possible as the CRD domain and version have changed. An upgrade guide can be found here.
This is the first 1.0.0
release candidate, there is no rule about
the amount of published release candidates before it is officially
promoted to GA 1.0.0
, except for 'when it is considered stable'.
- Support releasing to a different namespace than the CR is in, by
configuring a
targetNamespace
in theHelmRelease
fluxcd/flux#2334 - Deployment in
deploy/
examples are now generated from templates fluxcd/helm-operator{#2, #4, #19} - Display the release name, status, and message on
kubectl get hr
fluxcd/helm-operator#23 - Added descriptions for the CRD fields fluxcd/helm-operator#24
- Project has been moved to a dedicated repository fluxcd/helm-operator
- Support code generation from a non
$GOPATH/src
location fluxcd/helm-operator#6 HelmRelease
API version has been bumped tov1
and group domain has changed tohelm.fluxcd.io
fluxcd/helm-operator#7- Deprecated
FluxHelmRelease
resource andhelm.integratations.flux.weave.works
group domain have been removed fluxcd/helm-operator#7 - Various updates to the documentation and a dedicated directory for Helm Operator related docs fluxcd/helm-operator{#20, #22, #24}
- Update Docker labels to reflect move to dedicated repository fluxcd/helm-operator#21
- Use Helm chart in e2e tests fluxcd/helm-operator#26
Notice: this release contains a
HelmRelease
Custom Resource Definition fix. Please make sure you patch the CRD in your cluster.
- Fixed
rollback.timeout
definition in theCustomResourceDefinition
weaveworks/flux#2251 - Fixed the merge of values weaveworks/flux#2292
- Correct spelling of integrations, and fix
make check-generated
weaveworks/flux#2312 - Moved successful chart fetch signal to reconcile action (to prevent
an infinite loop due to the
LastUpdateTime
on the condition getting accidentally updated during rollback checks). weaveworks/flux#2316 - Fixed typo in
ReasonUpgradeFailed
condition change reason weaveworks/flux#2317
This release was made possible by contributions from @jfrndz, @adrian, @stefanprodan, @obiesmans, @chriscorn-takt, @sureshamk, @dholbach, @squaremo, and @hiddeco.
This release brings you opt-in automated rollback support,
new Prometheus metrics, and experimental support of spawning
multiple workers with the --workers=<num>
flag to speed up the
processing of releases.
This will likely also be the last minor beta release before we
promote the Helm operator to its first GA 1.0.0
release.
Notice: the Helm operator relies on changes in the
HelmRelease
Custom Resource Definition. Please make sure you patch the CRD in your cluster before upgrading the Helm operator.
- Prevent an infinite release loop when multiple
HelmRelease
resources with the same release name configuration coexist, by looking at the antecedent annotation set on release resources and confirming ownership weaveworks/flux#2123
-
Opt-in automated rollback support; when enabled, a failed release will be rolled back automatically and the operator will not attempt a new release until it detects a change in the chart and/or the configured values weaveworks/flux#2006
-
Increase timeout for annotating resources from a Helm release, to cope with large umbrella charts weaveworks/flux#2123
-
New Prometheus metrics
release_queue_length_count
release_duration_seconds{action=['INSTALL','UPGRADE'], dry-run=['true', 'false'], success=['true','false'], namespace, releasename}
-
Experimental support of spawning multiple queue workers processing releases by configuring the
--workers=<num>
flag weaveworks/flux#2194
- Publish images to fluxcd DockerHub organization weaveworks/flux#2213
- Document opt-in rollback feature weaveworks/flux#2220
Many thanks to @adrian, @2opremio, @semyonslepov, @gtseres, @squaremo, @stefanprodan, @kingdonb, @ncabatoff, @dholbach, @cristian-radu, @simonmacklin, @hiddeco for contributing to this release.
- Ensure releases are enqueued on clone change only weaveworks/flux#2081
- Reorder start of processes on boot and verify informer cache sync early, to prevent the operator from hanging on boot weaveworks/flux#2103
- Use openssh-client rather than openssh in container image weaveworks/flux#2142
- Enable pprof to ease profiling weaveworks/flux#2095
- Add notes about production setup Tiller weaveworks/flux#2146
Thanks @2opremio, @willholley ,@runningman84, @stefanprodan, @squaremo, @rossf7, @hiddeco for contributing.
- During the lookup of
HelmRelease
s for a mirror, ensure the resource has a git chart source before comparing the mirror name weaveworks/flux#2027
Thanks to @puzza007, @squaremo, @2opremio, @stefanprodan, @hiddeco for reporting the issue, patching and reviewing it.
- Make sure client-go logs to stderr weaveworks/flux#1945
- Prevent garbage collected
HelmRelease
s from getting upgraded weaveworks/flux#1906
- Enqueue release update on git chart source changes and improve mirror change calculations weaveworks/flux#1906, weaveworks/flux#2005
- The operator now checks if the
HelmRelease
spec has changed after it performed a dry-run, this prevents scenarios where it could enroll an older revision of aHelmRelease
while a newer version was already known weaveworks/flux#1906 - Stop logging broadcasted Kubernetes events weaveworks/flux#1906
- Log and return early if release is not upgradable weaveworks/flux#2008
- Update client-go to
v1.11
weaveworks/flux#1929 - Move images to DockerHub and have a separate pre-releases image repo weaveworks/flux#1949, weaveworks/flux#1956
- Support
arm
andarm64
builds weaveworks/flux#1950 - Retry keyscan when building images, to mitigate for occasional timeouts weaveworks/flux#1971
Thanks @brezerk, @jpds, @stefanprodan, @2opremio, @hiddeco, @squaremo, @dholbach, @bboreham, @bricef and @stevenpall for their contributions to this release, and anyone who I have missed during this manual labour.
This release bumps the Helm API package and binary to v2.13.0
;
although we have tested and found it to be backwards compatible, we
recommend running Tiller >=2.13.0
from now on.
- Detect changes made to git chart source in
HelmRelease
weaveworks/flux#1865 - Cleanup git chart source clone on
HelmRelease
removal weaveworks/flux#1865 - Add
chartFileRef
option tovaluesFrom
to support using a non-default values yamel from a git-sourced Helm chart weaveworks#1909 - Reimplement
--git-poll-interval
to control polling interval of git mirrors for chart sources weaveworks/flux#1910
- Bump Helm API package and binary to
v2.13.0
weaveworks/flux#1828 - Verify scanned keys in same build step as scan weaveworks/flux#1908
- Use Helm operator image from build in e2e tests weaveworks/flux#1910
Thanks to @hpurmann, @2opremio, @arturo-c, @squaremo, @stefanprodan, @hiddeco, and others for their contributions to this release, feedback, and bringing us one step closer to a GA-release.
- Prevent panic on
.spec.values
inHelmRelease
due to merge attempt on uninitialized value weaveworks/flux#1867
- Run signal listener in a goroutine instead of deferring weaveworks/flux#1680
- Make chart operations insensitive to (missing) slashes in Helm repository URLs weaveworks/flux#1735
- Annotating resources outside of the
HelmRelease
namespace weaveworks/flux#1757
- The
HelmRelease
CRD now supports askipDepUpdate
to instruct the operator to not update dependencies for charts from a git source weaveworks/flux#1712 weaveworks/flux#1823 - Azure DevOps Git host support weaveworks/flux#1729
- The UID of the
HelmRelease
is now used as dry run release name weaveworks/flux#1745 - Removed deprecated
--git-poll-interval
flag weaveworks/flux#1757 - Sync hook to instruct the operator to refresh Git mirrors weaveworks/flux#1776
- Docker image is now based on Alpine
3.9
weaveworks/flux#1801 .spec.values
in theHelmRelease
CRD is no longer mandatory weaveworks/flux#1824- With
valuesFrom
it is now possible to load values from secrets, config maps and URLs weaveworks/flux#1836
Thanks to @captncraig, @2opremio, @squaremo, @hiddeco, @endrec, @ahmadiq, @nmaupu, @samisq, @yinzara, @stefanprodan, and @sarath-p for their contributions.
- Add option to limit the Helm operator to a single namespace weaveworks/flux#1664
Without the contributions of @brandon-bethke-neudesic, @errordeveloper, @ncabatoff, @stefanprodan, @squaremo, and feedback of our #flux inhabitants this release would not have been possible -- thanks to all of you!
HelmRelease
now has aresetValues
field which when set totrue
resets the values to the ones built into the chart weaveworks/flux#1628- The operator now exposes a HTTP webserver (by default on port
:3030
) with Prometheus metrics on/metrics
and a health check endpoint on/healthz
weaveworks/flux#1653
A thousand thanks to @davidkarlsen, @hiddeco, @ncabatoff, @stefanprodan, @squaremo and others for their contributions leading to this release.
- Respect proxy env entries for git operations weaveworks/flux#1556
- Reimplement git timeout after accidentally removing it in
0.5.0
weaveworks/flux#1565 - Mark
--git-poll-interval
flag as deprecated weaveworks/flux#1565 - Only update chart dependencies if a
requirements.yaml
exists weaveworks/flux{#1561, #1606}
HelmRelease
now has atimeout
field (defaults to300s
), giving you control over the amount of time it may take for Helm to install or upgrade your chart weaveworks/flux#1566- The Helm operator flag docs have been updated weaveworks/flux#1594
- Added tests to ensure Helm dependencies update behaviour is always as expected weaveworks/flux#1562
Thanks to @stephenmoloney, @sfrique, @mgazza, @stefanprodan, @squaremo, @rade and @hiddeco for their contributions.
- Helm releases will now stay put when an upgrade fails or the Kubernetes API connectivity is flaky, instead of getting purged weaveworks/flux#1530
Thanks to @sfrique, @brantb and @squaremo for helping document the issues leading to this bug fix, @stefanprodan for actually squashing the bug and all others that may have gone unnoticed while writing this release note.
WARNING: this release of the Helm operator is not backward-compatible:
- It uses a new custom resource
HelmRelease
, and will ignoreFluxHelmRelease
resources - Some command-line arguments have changed, so the deployment manifests must also be updated
To use it, you will need to migrate custom resources to the new format supported by this version. See the upgrade guide.
This version of the Helm operator supports HelmRelease custom resources, which each specify a chart and values to use in a Helm release, as in previous versions. The main improvement is that you are now able to specify charts from Helm repos, as well as from git repo, per resource (rather than a single git repo, which is supplied to the operator).
All of these were added in weaveworks/flux#1382.
See the Helm operator guide for details.
- You can now release charts from arbitrary Helm repos
- You can now release charts from arbitrary git repos
Thanks to @demikl, @dholbach, @hiddeco, @mellana1, @squaremo, @stefanprodan, @stephenmoloney, @whereismyjetpack and others who made suggestions, logged problems, and tried out nightly builds.
This release improves support for TLS connections to Tiller; in
particular it makes it much easier to get server certificate
verification (--tiller-tls-verify
) to work.
It also adds the ability to supply additional values to
FluxHelmRelease
resources by attaching Kubernetes secrets. This
helps with a few use cases:
- supplying the same default values to several releases
- providing secrets (e.g., a password) to a chart that expects them as values
- using values files without inlining them into FluxHelmReleases
NB It is advised that you deploy the operator alongside Tiller v2.10 or more recent. To properly support TLS, the operator now includes code from Helm v2.10, and this may have difficulty connecting to older versions of Tiller.
- Make
--tiller-tls-verify
work as intended, by giving better instructions, and adding the argument--tiller-tls-hostname
which lets you specify the hostname that TLS should expect in the certificate weaveworks/flux#1484
- You can now create secrets containing a
values.yaml
file, and attach them to aFluxHelmRelease
as additional values to use weaveworks/flux#1468
Thanks to @hiddeco, @Smirl, @stefanprodan, @arthurk, @the-fine, @wstrange, @sfitts, @squaremo, @mpareja, @stephenmoloney, @justinbarrick, @pcfens for contributions to the PRs and issues leading to this release, as well as the inhabitants of #flux for high-quality, helpful discussion.
This release adds dependency handling to the Helm operator.
NB The helm operator will now update dependencies for charts by
default, which means you no longer need to vendor them. You can
switch this behaviour off with the flag --update-chart-deps=false
.
- Improve chance of graceful shutdown weaveworks/flux#1439 and weaveworks/flux#1438
- The operator now runs
helm dep build
for charts before installing or upgrading releases. This will use a lockfile if present, and update the dependencies according torequirements.yaml
otherwise weaveworks/flux#1450 - A new flag
--git-timeout
controls how long the Helm operator will allow for git operations weaveworks/flux#1416 - The Helm operator image now includes the Helm command-line client,
which makes it easier to troubleshoot problems using
kubectl exec
(as part of weaveworks/flux#1450)
This is a patch release that allows helm-op to recover from a failed release install. If a chart is broken, Tiller will reserve the name and mark the release as failed. If at a later time the chart is fixed, helm-op can't install it anymore because the release name is in use. Purging the release after each failed install allows helm-op to keep retrying the install.
- Purge release if install fails weaveworks/flux#1344
In large part this release simplifies and improves the Helm operator machinery, without changing its effect.
This release drops the -alpha
suffix, but remains <1.0 and should
(still) be considered unready for production use.
- Use the same git implementation as fluxd, fixing a number of problems with SSH known_hosts and git URLs and so on weaveworks/flux#1240
- Always check that a chart release will be a change, before releasing weaveworks/flux#1254
- Add validation to the FluxHelmRelease custom resource definition,
giving the kind the short name
fhr
weaveworks/flux#1253 - Detect chart release differences more reliably weaveworks/flux#1272
- Check for more recent versions and report in logs when out of date weaveworks/flux#1276
See getting started with Helm and the Helm chart instructions for information on installing the Flux with the Helm operator.
- Support using TLS connections to Tiller weaveworks/flux#1200
- Avoid continual, spurious installs in newer Kubernetes weaveworks/flux#1193
- Make it easier to override SSH config (and
known_hosts
) weaveworks/flux#1188 - Annotate resources created by a Helm release with the name of the FluxHelmRelease custom resource, so they can be linked weaveworks/flux#1134
- Purge release when FluxHelmRelease is deleted, so restoring the resource can succeed weaveworks/flux#1106
- Correct permissions on baked-in SSH config weaveworks/flux#1098
- Test coverage for releasesync package weaveworks/flux#1089).
It is now possible to install Flux and the Helm operator using the helm chart in this repository.
First versioned release of the Flux Helm operator. The target features are:
- release Helm charts as specified in FluxHelmRelease resources
- these refer to charts in a single git repo, readable by the operator
- update releases when either the FluxHelmRelease resource or the chart (in git) changes
See https://github.com/weaveworks/flux/blob/helm-0.1.0-alpha/site/helm/ for more detailed explanations.