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.
generated
timestamp field in the index file is now updated with current time on push, reindex and delete.
- Added
--verbose
global flag. This flag enables debug output. Currently onlyhelm s3 reindex
command supports it, but other commands may be updated in the future. [Refs: #320]
-
Supported (and tested against) Helm versions updated to 3.12.3 and 3.13.2.
-
Helm version detection now fallbacks to Helm v3 in case of errors, as Helm v2 is deprecated for 3 years already. [Refs: #334]
-
Refactored install script so now the plugin does not require bash. This solves a few issues with installing the plugin on some distributions. [Refs: #262 #273 #241] thanks to @yonahd and @jouve
-
Fixed issues when the plugin was erroneously detecting Helm v2 instead of Helm v3. [Refs: #269 #221] thanks to @clhuang
-
Added more context info to errors returned by the plugin, so that it is easier to understand what went wrong, e.g. what chart failed during
helm s3 reindex
.
- Fixed a bug introduced in 0.15.0 where
helm s3 init
failed if therepositories.yaml
file did not exist, e.g. immediately after helm was installed. [Refs: #301 #300]
-
helm s3 init
now supports--force
and--ignore-if-exists
flags.--force
flag replaces the index file if it exists.--ignore-if-exists
flag allows to exit normally without triggering an error if the index file already exists. [Refs: #207 #73] -
Added support for AWS IAM Identity Center (aka AWS SSO). See README for instructions. [Refs: #274 #143]
- Supported (and tested against) Helm versions updated to 3.11.3 and 3.12.3.
-
Updated dependencies which fixes potential security vulnerabilities.
-
Introduced minor documentation improvements.
-
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.