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 thereplaceVersionString
param) - Replaces
file://....
withrepository
value ifreplaceFileWithRepository
is set totrue
- Updates documentation using
helm-docs
ifuseHelmDocs
is set totrue
- Pushes packages to chartmuseum (using
cm-push
plugin) ifpush
is set totrue
This plugin has the following dependencies:
helm
: requiredhelm-docs
: required ifHELM_PLUGIN_USE_HELM_DOCS
is set totrue
cm-push
: required ifHELM_PLUGIN_ENABLE_PUSH
is set totrue
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"
}]
]
}
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
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
Thanks goes to these wonderful people (emoji key):
Eric Hayes 📖 🚇 |
This project follows the all-contributors specification. Contributions of any kind welcome!