Helm3 Mixin Improvements
Sep 28, 2021
If you use Helm in your bundles, then you are going to want the latest helm3 mixin release! With improved defaults, and new flags supported, the helm3 v0.1.15 mixin will help make your bundles more reliable.
The helm3 mixin has changed its default behavior to be more robust and avoid situations where the mixin fails when an action is retried.
Upgrade or Install
The upsert setting has been removed because it is now the default behavior for the install and upgrade actions.
Now the mixin always uses
helm upgrade --install which improves reliability when you need to retry a failed action.
The mixin specifies
--create-namespace by default so that the release namespaces is created automatically when it is not already present.
--atomic flag is now specified by default, failed helm releases are rolled back so that
your release is always in a working state.
The helm3 mixin now supports additional Helm flags:
noHookssetting prevents hooks from being executed and defaults to false.
skipCrdssetting skips installing CRDs during upgrade. By default, CRDs are installed if not already present.
timeoutsetting sets how long Helm will wait for the release to complete successfully before rolling it back (due to the atomic behavior).
debugsetting gives you more insight into why a release failed and was rolled back.
upsertsetting has been removed because it is the default behavior.
replacesetting has been removed because it is not recommended for production use, and shouldn’t be necessary with the new default behavior.
The Porter project has already upgraded our bundles to use this latest version, and I recommend upgrading your bundles to take advantage of the improved reliability. The only hiccup in our upgrade was that the --atomic behavior made us quickly realize that some of our charts were never actually installing 100% successfully. 🤦♀️ If you have charts that don’t work well with --atomic or --wait, or need additional flags exposed, let us know!