Skip to content

Push an entire collection of helm charts to a ChartMuseum repository from your GitHub repository.

License

Notifications You must be signed in to change notification settings

linkpoolio/helm-repo-pusher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helm Repo Pusher

Pushes an entire directory of Helm Charts to a ChartMuseum instance.

This Github Action is a fork of goodsmileduck's helm push action.

This fork varies in that rather than pushing just a singular helm chart, it will push all of the charts in the given ${SOURCE_DIR}.

Thus if you are using a GitHub Repository to manage all of your helm charts in one place, you can use this Github Action to automate pushing all of your charts with a very simple CI configuration.

You can also manage multiple Chart repositories (e.g. stable and incubator) from the same GitHub repository and use this Action to publish each.

Usage

workflow.yml Example

Place in a .yml file such as this one in your .github/workflows folder. Refer to the documentation on workflow YAML syntax here.

name: release incubator charts

on:
  push:
    branches:
      - master
    paths:
      - 'incubator/**'

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: linkpoolio/helm-repo-pusher@v3
      env:
        SOURCE_DIR: './incubator'
        FORCE: 'True'
        CHARTMUSEUM_URL: 'https://chartmuseum.url'
        CHARTMUSEUM_USER: '${{ secrets.CHARTMUSEUM_USER }}'
        CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }}

Configuration

The following settings must be passed as environment variables as shown in the example. Sensitive information, especially CHARTMUSEUM_USER and CHARTMUSEUM_PASSWORD, should be set as encrypted secrets — otherwise, they'll be public to anyone browsing your repository.

Key Value Suggested Type Required
CHARTMUSEUM_URL Chartmuseum url env Yes
CHARTMUSEUM_USER Username for chartmuseum secret Yes
CHARTMUSEUM_PASSWORD Password for chartmuseum secret Yes
SOURCE_DIR The local directory you wish to upload. For example, ./charts. Defaults to the root of your repository (.) if not provided. env Yes
FORCE Force chart upload (in case version exist in chartmuseum, upload will fail without FORCE). Defaults is False if not provided. env No

Action versions

  • v2: helm v2.17.0
  • v3: helm3 v3.3.1

License

This project is distributed under the MIT license.

About

Push an entire collection of helm charts to a ChartMuseum repository from your GitHub repository.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Smarty 51.9%
  • Dockerfile 24.6%
  • Shell 23.5%