helm chart repository server
--depth-dynamic
flag for dynamic multitenancy--disable-delete
flag for explicitly disabling DELETEsv0.8.2 is a one-off release just to address the bug described in #206
Release containing a fix for the security vulnerability described here.
Users are highly encouraged to upgrade ASAP!!
If you need to verify that your systems are unaffected, please use chartmuseum/chart-scanner.
ChartMuseum turns 1 year old! It's been an amazing year serving up charts around the world!
The biggest change in this release is the introduction of bearer/token auth support. Big thanks to @zachpuck for the initial work on this. Checkout chartmuseum/auth-server-example for more info on how to use this.
Other great stuff:
--disable-force-overwrite
Prevent extra slash added to chart URL, causing 404s (#136) Ensure /health at root route when using depth > 1 (#140) Fix chart name detection in .prov uploads (#138) Add documentation on how to auth against Google Cloud (#144)
Support for Redis as external cache store (#72) Introduce statefile "index-cache.yaml" to improve startup speed (#91)
Fix Prometheus monitoring for multitenancy (#123) Fix double put and object validation occur introduced in fix for #125 (#131)
Upgrade to Helm 2.9.1 Update CI image to use Go 1.10 Add docs on Prometheus metrics (#128)
Support for OpenStack storage backend (#110) Added flag to control the limit of storage objects per repo (#118)
In local storage, auto create storage root with parent directory (#121) Fix interaction with helm push plugin when CHART_REPO_FORM_FIELD_NAME is used (#125)
Fixes for multitenancy-related issues with local storage.
If a "mytenant" directory did not exist prior to a GET /mytenant/index.yaml
or a POST /api/mytenant/charts
, the result was an unexpected error due to missing directory.
Changes made in order to act more similar to cloud storage.
Please see #102 and #106 for more info.
Fix for nasty #96 introduced in v0.5.0
Users encouraged to upgrade!
Warning: v0.5.0 introduces a regression for Microsoft Azure users, please upgrade to v0.5.1!
MULTITENANT SUPPORT!!!
Multitenancy is now supported with the --depth
flag!
To begin, start with a directory structure such as
charts
├── org1
│ ├── repo1
│ │ └── nginx-ingress-0.9.3.tgz
├── org2
│ ├── repo1
│ │ └── chartmuseum-0.4.0.tgz
This represents a storage layout appropriate for --depth=2
. The organization level can be eliminated by using --depth=1
. The default depth is 0 (singletenant server).
Start the server with --depth=2
, pointing to the charts/
directory:
chartmuseum --debug --depth=2 --storage="local" --storage-local-rootdir=./charts
This example will provide two separate Helm Chart Repositories at the following locations:
helm repo add org1-repo1 http://localhost:8080/org1/repo1
helm repo add org2-repo1 http://localhost:8080/org2/repo1
This should work with all supported storage backends.
To use the chart manipulation routes, simply place the name of the repo directly after "/api" in the route:
curl -F "[email protected]" http://localhost:8080/api/org1/repo1/charts
Also in this release:
Big thanks to everyone involved in making this happen!