Skip to content

pete911/hcr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hcr

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, 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")
  -pre-release
        Whether the (chart) release should be marked as pre-release
  -remote string
        The Git remote for the GitHub Pages branch (default "origin")
  -tag string
        Release tag, defaults to chart version
  -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 <name>-<version>.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, 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.