Releases: unbroken-dome/gradle-helm-plugin
v2.0.0
It's been quite a while, sorry for the long inactivity! Here's the long awaited modernization upgrade for the Gradle Helm plugin.
New Features
- #170, #174 Upgrade to / support Gradle 8
- #154 Expose Helm client download URL through DSL (thanks to @bmuschko)
- #164 Add channel ID for GitLab repositories (thanks to @mehmetsalgar)
Breaking Changes
- The plugin now requires Gradle 7.5 and a JDK 11.
- The
HelmChart.publishconvention property has been removed in favor of an extension objectpublishingwith propertyenabled.HelmChart.publishcan still be used as a Kotlin extension property.
Other Changes
- General modernization of build tools and library dependencies
- Documentation fixes and improvements (thanks to @imanushin)
- Some configuration blocks taking a Groovy
Closureas a parameter have been removed. Gradle should automatically generate these as overloads fromActionparameters.
v1.7.0
New Features
- #133
helm-publishplugin now has support for Gitlab repositories (thanks to @iconoeugen) - #144 Added task type
HelmTemplateand DSL forrenderingsto invokehelm template - #145 Add support for
--with-subchartsflag ofhelm lint - #146 Make the file patterns to which filtering is applied configurable
- #148 Add support for
--history-maxoption ofhelm upgrade - #149 Add support for
--wait-for-jobsflag in several tasks
Bugfixes
- #106 HelmUninstall task should be skipped if a release doesn't exist (instead of marking up-to-date)
- #126 Fix for input/output properties of
HelmBuildDependenciestask - #142 Change Helm client download mechanism so it doesn't conflict with
dependencyResolutionManagement - #147 Exceptions when reading filtered files are now properly shown and not "swallowed" by the filtering mechanism
Other Changes
- Automatic Helm client download no longer uses Gradle's artifact resolution to get the Helm client; instead it installs a task to download the archive file. This task is installed on the root project in multi-module builds so that multiple subprojects don't download the Helm client multiple times.
- Documentation improvements #135, #139 (thanks to @thomasmillergbtw and @luolong)
v1.6.1
v1.6.0
This release contains mostly refactorings, to enable some of the enhancements planned for the future.
Most notably, the project structure has been split up into a multi-module build, and helm-publish and helm-releases plugins are now kept in their own subprojects. This also avoids fetching unnecessary dependencies (e.g. a HTTP client when publishing is not used). These plugins are now delivered as separate JAR artifacts from the plugin portal.
As a consequence, it might be necessary to explicitly add the version to each of the plugins, especially when the single-library JAR was imported using an apply false statement before.
If you have this in your root project:
plugins {
id("org.unbroken-dome.helm") version "1.5.0" apply false
}Then subprojects can no longer automatically use the org.unbroken-dome.helm-publish and org.unbroken-dome.helm-releases plugins because they now reside in separate JARs. You will need to declare them as well:
plugins {
id("org.unbroken-dome.helm") version "1.6.0" apply false
id("org.unbroken-dome.helm-publish") version "1.6.0" apply false
id("org.unbroken-dome.helm-releases") version "1.6.0" apply false
}Alternatively, you can use the following snippet at the beginning of your settings.gradle or settings.gradle.kts, to keep the version in a single place. This will then allow you to omit the version whenever you declare the plugin in a build.gradle(.kts) file.
pluginManagement {
resolutionStrategy.eachPlugin {
if (requested.id.namespace == "org.unbroken-dome" && requested.id.name.startsWith("helm")) {
useVersion("1.6")
}
}
}v1.5.0
Enhancements
- Added support for publishing Helm charts to Nexus repositories (thanks to @CrazyMoonkin)
Fixes
- Fix Chartmuseum API path when multi-tenancy is not used (thanks to @adferrand)
Other Changes
v1.4.0
Enhancements
- Added support for publishing to Harbor repositories
(thanks to @adferrand for Harbor 1.x compatibility fix) - Added multi-tenancy support for publishing to Chartmuseum repositories
Other Improvements
- Automatic Helm client download now fetches version 3.4.1 by default
v1.3.0
NOTE: This plugin version is no longer compatible with Gradle 5.1, please upgrade to Gradle 5.2 or higher (preferably the latest Gradle version)
Enhancements
- Release Testing:
helm testis now fully integrated into thehelm-releasesplugin. Simply callhelmTestto test all your releases, orhelmTest<Release>to test a specific release. (See documentation) - Checking release status: interactive task to call
helm statusfor a release. (See documentation) - Multiple lint configurations:
helm lintcan now be run multiple times with different values, making it easier to cover all conditional branches of your templates. (See documentation)
Other improvements
- Helm exec worker now gets all environment variables from Gradle build (thanks to @Emilio-Pega)
- Helm client download now uses latest version 3.3.4 as default
v1.2.3
NOTE: This plugin version is no longer compatible with Gradle 5.1, please upgrade to Gradle 5.2 or higher (preferably the latest Gradle version)
Bugfixes
- #85 avoid decorator objects around
HelmReleaseandHelmReleaseTargetwhich rendered generated Groovy DSL setters inaccessible to the build script - Restore Gradle 5.2 compatibility: fallback to using
ProjectLayout.configurableFiles()instead ofObjectFactory.fileCollection()which was added in 5.3
v1.2.2
Enhancements
- #74 pass the
PATHenvironment variable to the Helm worker so it can call external scripts e.g. credential helpers (thanks to @Emilio-Pega)
Bugfixes
v1.2.1
Enhancements
- #65
KUBECONFIGenvironment variable is now forwarded to Helm invocations (thanks to @Emilio-Pega)
Bugfixes
- #26
HelmTesttasks can now be properly instantiated - #56 Fix basic authentication for Helm chart repositories (thanks to @marinkobabic)
- fix broken link to API docs in documentation (thanks to @cyt3ea)
- #57 fix serialization issue with
RegularFilePropertytask properties (thanks to @alex-lmco)