Skip to content

Helm S3 Publisher is a project to help with the process of publishing new releases for charts.

License

Notifications You must be signed in to change notification settings

toolsascode/helm-s3-publisher

Repository files navigation

helm-s3-publisher

Go Reference Testing Published Versions

Helm S3 Publisher is a small project with the purpose of helping in the process of publishing new helm charts using the helm s3 plugin already known by the community.

Requirements

How to install?

Helm Plugin

helm plugin install https://github.com/toolsascode/helm-s3-publisher.git

or

helm plugin install https://github.com/toolsascode/helm-s3-publisher.git --version 1.1.0-beta

Binary via Github

curl -fLSs https://raw.githubusercontent.com/toolsascode/helm-s3-publisher/main/scripts/install.sh | bash

Or

curl -fLSs https://raw.githubusercontent.com/toolsascode/helm-s3-publisher/main/scripts/install.sh | sudo bash

Go Install

go install github.com/toolsascode/helm-s3-publisher/cmd/helm-s3-publisher@latest

Homebrew

brew install toolsascode/tap/helm-s3-publisher

Scoop

  1. Run PowerShell as an Administrator and:
  2. To add this bucket, run scoop bucket add helm-s3-publisher-scoop https://github.com/toolsascode/scoop-bucket.
  3. To install, do scoop install helm-s3-publisher.

Usage

  • Ideal for automating pipelines and follows these steps:
    • Check the minimum requirements to start the process;
    • The Git LS Tree feature is built into the CLI and helps you automatically check which charts have changed and will be updated.
    • Validates whether the changed chart already has a published version.
    • It is possible to force and override the version that exists in the repository.
    • We do not recommend using this functionality in production, only in necessary cases.
    • Then, package the chart.
    • Finally, publish the chart to the indicated AWS S3 Bucket using the helm s3 plugin.
helm s3-publisher REPO [CHART PATHS] [flags]

Examples:

  1. In this first example, the CLI will search for directories of the changed charts and publish them to the repository automatically. Since in this case we chose to use the Git Ls Tree feature, it is good practice to exclude paths that should not be processed and avoid failures. At the end, a JSON file will be generated with all interactions performed, published or not.
helm s3-publisher myrepo /path/to/helm-charts \
--git-ls-tree --exclude-paths ".git, .github" \
--log-level debug --report json
  1. In the following example, we inform exactly which chart(s) were manually changed.
helm s3-publisher myrepo \
/path/to/helm-charts/chart1,/path/to/helm-charts/chart2 \
--log-level debug --report json
Inputs Required Description
REPO Yes (Required) Repository for searching and publishing the new version of the chart.
CHART PATHS No (Optional and Default: . ) List of charts directories separated by commas. If the Git LS Tree feature is enabled, the CLI will attempt identify all changed chart directories indicated in the PATHS parameter. Example: "dir-chart-1,dir-chart-2"

SEE ALSO

About

Helm S3 Publisher is a project to help with the process of publishing new releases for charts.

Resources

License

Stars

Watchers

Forks