All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Supported (and tested against) Helm versions updated to 3.9.4 and 3.10.1.
-
The plugin command line interface changed to use cobra instead of kingpin. This provides more compatibility and the same UX as in Helm. [Refs: #202]
-
Go updated to 1.19. [Refs: #199]
-
Supported (and tested against) Helm versions updated to 3.9.3. [Refs: #201]
-
Completed the migration of the CI pipeline to Github Actions. [Refs: #166 #205]
- Fixed a bug where the plugin failed to fetch charts with special characters
in version (e.g.
v1.0.1+build.123
). [Refs: #158 #204]
- Added support for Linux ARM. [Refs: #175]
-
Supported (and tested against) Helm versions updated to 3.8.2 and 3.9.2. Deprecated Helm version 2.17.0 is still supported, but will be removed in one of the following plugin releases. [Refs: #176 #194 #195]
-
Fixed an issue where
helm s3 delete
failed on charts previously pushed with--relative
flag. [Refs: #134 #191] -
Fixed an issue where plugin installation failed in Alpine images. [Refs: #152 #159] thanks to @sanyer
- Potentially vulnerable Go module dependencies updated to latest patched versions. [Refs: #169] thanks to @allaryin
-
Added Dependabot to manage dependency updates. [Refs: #178]
- Support for Windows. [Refs: #160] thanks to @jwenz723
- Support for Apple Silicon (Mac ARM). [Refs: #167]
- Some parts of CI pipelines were moved to GitHub Actions. [Refs: #162 #163 #165]
- Go updated to 1.16. [Refs: #162]
- Added dynamic bucket region discovery that removes the need for setting region manually via
HELM_S3_REGION
etc. in the majority of cases. See #146 for details on how this works. [Refs: #146] Many thanks to @pregnor
-
Set supported Helm versions to v2.17, v3.4, v3.5. [Refs: #137]
-
Integration tests were reworked into Go e2e tests, all legacy tests removed. [Refs: #136]
-
AWS SDK updated to v1.37.18 to support AWS SSO [Refs: #123 #138]
-
Added support for
HELM_S3_REGION
environment variable to override AWS region for bucket location. [Refs: #51 #117] -
Added support for relative URLs in repository index: charts can be pushed with
--relative
flag. [Refs: #121 #122]
- Update Helm versions the plugin is tested against: v2.16, v2.17, v3.3, v3.4. [Refs: #125]
helm version
now has optional flag--mode
that additionally prints the mode (Helm version) in which the plugin operates, either v2 or v3.- Added
HELM_S3_MODE
that can be used to forcefully change the mode (Helm version), in case when the plugin does not detect Helm version properly.
- Changed the way the plugin detects Helm version. Now it parses
helm version
output instead of checkinghelm env
command existence.
-
Helm v3 support. The plugin can detect Helm version and use the corresponding "mode" to operate properly. This means that Helm v2 is still supported, and will be until the sunset of v2 (approximately until the summer of 2020). [Refs: #95 #98]
-
The plugin is now also distributed as Docker images. Images are pushed to Docker Hub tagged with plugin release version and suffixed with Helm version. The image built from master branch is also available, note that it should be only used for playing and testing, it is strongly discouraged to use that image for production use cases. Refer to https://hub.docker.com/r/hypnoglow/helm-s3 for details and all available tags. [Refs: #79 #88]
-
Migrate to go modules & update Go to 1.12. [Refs: #86] @moeryomenko
-
CI now runs tests on multiple Helm versions: v2.14, v2.15, v2.16, v3.0. [Refs: #89 #97]
-
Huge rework on internal Helm integration code to provide support for both Helm v2 and v3. [Refs: #95 #98]
-
Bumped almost all dependencies to more actual versions. Helm SDK now includes both v2.16.1 and v3.0.0. [Refs: #74 #69 #87] @willejs
- Fixed incorrect s3 url when "proxy" runs on uninitialized repository. [Refs: #77 #78] @horacimacias
-
Added possibility to enable S3 serverside encryption. [Refs: #52] @nexusix
-
Added possibility to specify Content-Type for uploaded charts. [Refs: #59 #60] @bashims
-
Added checksum verification on plugin installation. [Refs: #63]
-
On
helm s3 reindex
, only*.tgz
files in the bucket directory are taken into account, everything else is ignored. [Refs: #57 #58] @kylehodgetts -
Default Content-Type for uploaded charts is set to
application/gzip
. [Refs: #59 #60] @bashims -
make
is no longer required to install the plugin. [Refs: #62 #64] @willhayslett
- Added global
--acl
flag to address issues for setups with multiple Amazon accounts. Thanks to @razaj92 for the Pull Request! [Ref: #37] - Added
--dry-run
flag tohelm s3 push
command. It simulates a push, but doesn't actually touch anything. This option is useful, for example, to indicate if a chart upload would fail due to the version not being changed. [Ref: #44] - Added
--ignore-if-exists
flag tohelm s3 push
command. It allows to exit normally without triggering an error if the pushed chart already exists. A clean exit code may be useful to avoid some error management in the CI/CD. [Ref: #41]
- Moved
helm s3 reindex
command out of beta, as it seems there are no more issues related to it.