At the time of making this commit, the package `github.com/ghodss/yaml`
is no longer actively maintained.
`sigs.k8s.io/yaml` is a permanent fork of `ghodss/yaml` and is actively
maintained by Kubernetes SIG.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* pkg/chartmuseum,cmd: introduce the new `keep-chart-always-up-to-date` flag and the default cache interval when not set.
* The flags works to always get the realtime index for the chart repository(which is the behavior before v0.13.0), it will cost more fs I/O.
* Default interval is now set to 5m when `cache-interval` flag not set which we suggests in the issue list.
The patch includes:
* increases most of the museum api throughout by wrapping the event
emitter into goroutine since the event listener already holds on the
concurrent lock(#396).
* adds the new server option `keep-chart-always-up-to-date` to force use
the latest version.
* `getIndexFile` rollbacks to fully reload index only if cacheinterval
not set for better backward compatibility before v0.13.0(#444).
Signed-off-by: scnace <scbizu@gmail.com>
Signed-off-by: scbizu <scbizu@gmail.com>
* pkg/chartmuseum/server: `getRepoObjectSlice` adds the read lock when index refresher works.
Signed-off-by: scbizu <scbizu@gmail.com>
* pkg/chartmuseum: rebuildIndex adds tenant lock
Signed-off-by: scbizu <scbizu@gmail.com>
* pkg/config: clarify the usage of always-regenerate-chart-index
Co-authored-by: Casey Buto <cbuto@d2iq.com>
Signed-off-by: Nace Sc <scbizu@icloud.com>
Signed-off-by: scbizu <scbizu@gmail.com>
* feat: Add support for hosting an artifacthub-repo.yml file
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* feat: Add multitenancy support for artifacthub
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* refactor: check if map is empty before adding the route
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* fix: Avoid data races for cacheEntries and index files
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* test: Update to the latest locust version
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* refactor: remove unecessary lock
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* refactor: no need to return error from load function
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* fix: Add additional tenant cache locking
Signed-off-by: Casey Buto <cbuto@d2iq.com>
* feature add chart template and value api
Signed-off-by: zerohzz <zzhzero@qq.com>
* fix latest chart get template and value
Signed-off-by: zerohzz <zzhzero@qq.com>
* fix template value style and test http code
Signed-off-by: zerohzz <zzhzero@qq.com>
* break redundant loop
Signed-off-by: zzhzero <zzhzero@qq.com>
* refactor: remove disablemetrics for enablemetrics
Signed-off-by: nerdeveloper <odirionye@gmail.com>
* chore: set defaults to true as it does the reverse in the config
Signed-off-by: nerdeveloper <odirionye@gmail.com>
* chore: make defaults cleaner
Signed-off-by: nerdeveloper <odirionye@gmail.com>
* docs: update docs on the prometheus metrics
Signed-off-by: nerdeveloper <odirionye@gmail.com>
* chore: fix typo
Signed-off-by: nerdeveloper <odirionye@gmail.com>
- Update version to v0.14.0
- Fix readme for push plugin (in place of #513)
- Upgrade Go modules, Go version in CI
- Use Helm 3.8 in acceptance tests
- Remove bad semever chart tests and testdata
- Support for M1 Macs local dev
- Add SECURITY.md
Signed-off-by: Josh Dolitsky <josh@dolit.ski>
* Fix duplicate versions for same chart
* The detailed issue is described in #450
* And there is a PR #454 fixed one scenario of this issue
* But there is another ocassion in which users upload chart with prov
* in this PR is to handle this situation with the way similar with #454
Signed-off-by: DQ <dengq@vmware.com>
* Enhance: optimize loop in `getChartAndProvFiles`
* If conflict, it didn't need to do the left logic, just return the file
* move out file format check logic out of `validateChartOrProv`
* these changes are discussed in https://github.com/helm/chartmuseum/pull/492#discussion_r716032288
Signed-off-by: DQ <dengq@vmware.com>
* pkg/chartmuseum/server: add tests for cover duplicate index entry cases
Signed-off-by: scnace <scbizu@gmail.com>
* pkg/chartmuseum/server/multitenant: fix the bad action type when upload
package when overwrite option is set ,index entry addChart should be updateChart under the overwrite cases.
Signed-off-by: scnace <scbizu@gmail.com>
- update to Go 1.15.7
- add release artifacts script (copied from Helm)
- add KEYS file containing maintainer signing keys
- update Makefile to follow Helm release process
- update dependencies (including auth and storage)
- rename masterHandler to rootHandler
- add get-chartmuseum script (based on get-helm-3 script)
- remove unused scripts and make targets for old release process
- modify README with new install instructions and docker image
- rename scripts to use dashes vs underscores
Signed-off-by: Josh Dolitsky <josh@dolit.ski>
* pkg/repo,pkg/chartmuseum: use object metadata to correctly get the chart version
Signed-off-by: scnace <scbizu@gmail.com>
* pkg/chartmuseum/server: log error rather than panic if mutitant reponame not found
Signed-off-by: scnace <scbizu@gmail.com>
* mod: bump storage to v0.10.0
Signed-off-by: scnace <scbizu@gmail.com>
- Add info to README
- Turn off by default
- Fix issue with hanging deletes
- Reorganize/rename code
- Verify functionality
- Make unit tests pass
Signed-off-by: jdolitsky <393494+jdolitsky@users.noreply.github.com>
* Allow to bind chartmuseum to a specific interface
The new config option "listen.host" ("--listen-host", "LISTEN_HOST") may
be used to bind chartmuseum to a specific interface rather than 0.0.0.0.
Default is 0.0.0.0 to stick with current behaviour.
Fixes #255
Signed-off-by: jayme-github <jayme-github@users.noreply.github.com>
* Refactor to make host a field of router
Signed-off-by: jayme-github <jayme-github@users.noreply.github.com>