diff --git a/README.md b/README.md index 1449eaa7..f7564759 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,36 @@ # hcr -helm chart releaser +Helm chart releaser is a tool to help to host helm repository as GitHub page, where packaged chart is uploaded as +a release asset and the index file is hosted on GitHub page. This tool is very similar to +[helm chart releaser](https://github.com/helm/chart-releaser), but is simpler and works with private repos as well. + +## Install +``` +git clone https://github.com/pete911/hcr.git +cd hcr +go install +``` + +## Use +``` +Usage of hcr: + -charts-dir string + The Helm charts location (default "charts") + -pages-branch string + The GitHub pages branch (default "gh-pages") + -remote string + The Git remote for the GitHub Pages branch (default "origin") + -token string + GitHub Auth Token +``` + +Simply run `hcr` inside the project, this will: +- check if `-pages-branch` exists +- packages helm charts from `-charts-dir` to current directory as `-.tgz` +- adds `-pages-branch` git worktree to temp. directory +- creates release per chart in `-charts-dir` and uploads packaged chart as asset to that release +- update index file with the released charts, commit and push index file to `-pages-branch` + +This makes it simpler and easier than [helm chart releaser](https://github.com/helm/chart-releaser), because we are not +reading from GitHub pages (or downloading releases) over http, so we don't face issues with restrictions on private +repositories (autogenerated pages link, authentication, ...), caching (GitHub pages are not updated immediately with +the latest changes) etc.