Skip to content

ejhayes/auto-plugin-helm-chartmuseum

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

196f342 · Jan 10, 2024

History

76 Commits
Nov 1, 2023
Jul 13, 2023
Nov 1, 2023
Nov 1, 2023
Nov 1, 2023
Jul 14, 2023
Jul 13, 2023
Jun 23, 2023
Jul 17, 2023
Jul 13, 2023
Nov 1, 2023
Jul 17, 2023
Jul 17, 2023
Nov 1, 2023
Nov 1, 2023
Nov 1, 2023
Jan 10, 2024
Nov 1, 2023
Jul 17, 2023
Jul 13, 2023

Repository files navigation

auto-plugin-helm-chartmuseum

npm version Maintainability Test Coverage FOSSA Status All Contributors

Auto plugin for helm charts! This plugin can do the following:

  • Sets helm package version to auto version
  • Updates local dependencies to auto version (if version specified is 0.0.0-local or the value specified in the replaceVersionString param)
  • Replaces file://.... with repository value if replaceFileWithRepository is set to true
  • Updates documentation using helm-docs if useHelmDocs is set to true
  • Pushes packages to chartmuseum (using cm-push plugin) if push is set to true

quickstart

This plugin has the following dependencies:

  • helm: required
  • helm-docs: required if HELM_PLUGIN_USE_HELM_DOCS is set to true
  • cm-push: required if HELM_PLUGIN_ENABLE_PUSH is set to true

To use in your projects, add this to you .autorc file under plugins section:

{
  "plugins": [
    ["auto-plugin-helm", {
      "enableCanary": true,
      "enablePrelreases": true,
      "recursive": true,
      "useHelmDocs": true,
      "enablePush": true,
      "forcePush": true,
      "repository": "@myRepoAlias",
      "publishRepository": "myRepoAlias"
    }]
  ]
}

github actions

You can use this with GitHub actions as follows:

- name: Setup Helm
  uses: azure/setup-helm@v3
- name: Setup helm-docs
  run: |
    wget https://github.com/norwoodj/helm-docs/releases/download/v1.11.0/helm-docs_1.11.0_Linux_x86_64.deb
    sudo dpkg -i helm-docs_1.11.0_Linux_x86_64.deb
    rm helm-docs_1.11.0_Linux_x86_64.deb
- name: Setup Helm Push Plugin
  run: helm plugin install https://github.com/chartmuseum/helm-push
- name: Add Chartmuseum repo
  run: helm repo add local $CHARTMUSEUM_BASE_URL
- env:
    HELM_PLUGIN_ENABLE_CANARY: true
    HELM_PLUGIN_PUSH: true
    HELM_PLUGIN_REPOSITORY: '@local'
    HELM_PLUGIN_PUBLISH_REPOSITORY: local
    GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: npx auto shipit

configuration

setting description environment variable default
path Path to charts HELM_PLUGIN_PATH .
recursive Search for all charts in path HELM_PLUGIN_RECURSIVE false
forcePush Force push chart versions HELM_PLUGIN_FORCE_PUSH false
push Push charts to repository HELM_PLUGIN_PUSH false
enableCanary Enable canary builds HELM_PLUGIN_ENABLE_CANARY false
enablePrereleases Enable prelrease builds HELM_PLUGIN_ENABLE_PRERELEASE false
replaceVersionString Replace version placeholder with current version HELM_PLUGIN_REPLACE_VERSION_STRING true
replaceFileWithRepository Replace local file references with remote repository reference HELM_PLUGIN_REPLACE_FILE_WITH_REPOSITORY false
repository Repository to replace file references with HELM_PLUGIN_REPOSITORY ''
versionString Default version string to replace HELM_PLUGIN_VERSION_STRING 0.0.0-local
useHelmDocs Use helm-docs to update README.md HELM_PLUGIN_USE_HELM_DOCS false
publishPath Local path to use for packaged charts HELM_PLUGIN_PUBLISH_PATH publish
publishRepository Repository to publish to HELM_PLUGIN_PUBLISH_REPOSITORY publish

If you are pushing to chart museum (set push or HELM_PLUGIN_PUSH to true) you can also set auth with these environment variables (additional environment variables can be found in the docs):

  • HELM_REPO_USERNAME
  • HELM_REPO_PASSWORD

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Eric Hayes

📖 🚇 ⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!