bsord / helm-push

Push local chart to hosted chart museum repository
MIT License
14 stars 19 forks source link

Helm Push

Build GitHub last commit License

Push a chart to a ChartMuseum or OCI compatible registry with Helm v3

Usage

Using Token Auth with OCI Registry:

steps:
  - name: Push Helm chart to OCI compatible registry (Github)
    uses: bsord/helm-push@4.2.0
    with:
      useOCIRegistry: true
      registry-url:  oci://ghcr.io/${{ github.repository }}
      username: bsord
      access-token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}
      force: true
      chart-folder: chart

Using Token Auth with AWS ECR: (Feel free to use any AWS CLI action step of your choice)

steps:
  - name: AWS ECR Login
    id: ecr_login
    uses: KaMeHb-UA/aws-cli-action@v3
    with:
      command: aws ecr get-login-password

  - name: Push Helm chart to Amazon Elastic Container Registry (ECR)
    uses: bsord/helm-push@4.2.0
    with:
      useOCIRegistry: true
      registry-url: oci://123456789123.dkr.ecr.eu-west-1.amazonaws.com
      username: AWS
      access-token: ${{ steps.ecr_login.outputs.result }}
      chart-folder: chart

Using Password Auth:

steps:
  - name: Push Helm Chart to ChartMuseum
    uses: bsord/helm-push@4.2.0
    with:
      username: ${{ secrets.HELM_USERNAME }}
      password: ${{ secrets.HELM_PASSWORD }}
      registry-url: 'https://h.cfcr.io/user_or_org/reponame'
      force: true
      chart-folder: chart

Using Token Auth:

steps:
  - name: Push Helm Chart to ChartMuseum
    uses: bsord/helm-push@4.2.0
    with:
      access-token: ${{ secrets.HELM_API_KEY }}
      registry-url: 'https://h.cfcr.io/user_or_org/reponame'
      force: true
      chart-folder: chart

Parameters

Key Value Required Default
useOCIRegistry Push to OCI compatibly registry No false
access-token API Token with Helm read/write permissions Yes (if using token auth) ""
username Username for registry Yes (if using pw auth) ""
password Password for registry Yes (if using pw auth) ""
registry-url Registry url Yes ""
chart-folder Relative path to chart folder to be published No chart
force Force overwrite if version already exists No false
update-dependencies Update dependencies from "Chart.yaml" to dir "charts/" before packaging No false
add-repositories Optionally add list of Helm Repositories to add running helm repo add $args for each line No ""

License

This project is distributed under the MIT license.

TODO