1.0.0 • Published 3 years ago

helm-chart-publisher v1.0.0

Weekly downloads
18
License
MIT License
Repository
-
Last release
3 years ago

node-helm-chart-publisher

Build Status NPM

node package helm chart and publish to git repository plugin

Helm chart is an integral part of a project, more often its definition is placed as closest to code as possible.

In order to be able to develop both at the same time helm allows to do chart versioning.

This plugin packages the chart and leverages the possibility of using git repository as a helm repository.

Basic usage

  • add chart definition to helm foldder in your project directory
   ├── src                    
   ├── dist                    
   ├── helm                    
   │   └── your-app-name
   │       ├── templates
   │       ├── values.yaml
   │       └── Chart.yaml
   └── ...
  • add and configure plugin in package.json
{
    "scripts": {
        "helm-chart-publish": "helm-chart-publisher --projectName=<NAME-OF-YOUR-PROJECT>"
    }
}
  • run script
$ npm run helm-chart-publish -- --chart.version=1.0.3 --gitChartRepo.url=<HELM-CHART-GIT-URL> --gitChartRepo.username=<HELM-CHART-GIT-USERNAME> --gitChartRepo.password=<HELM-CHART-GIT-PASSWORD>

Requirements

Plugin requires helm client in version 2.x or 3.x to be installed.

Workflow

  • clone git repository where helm chart definitions are stored
  • init helm client
  • update chart dependencies
  • package chart
  • reindex helm chart repository
  • push changes to git repository

Parameters

ParameterDescriptionDefault valueFlagEnvironment variablepackage.json config property
Git chart repository URLURL to a git repository in which helm charts are stored. Accepts both ssh and https protocols.-gitChartRepo.url-helm-chart-publish.gitChartRepoUrl
Git usernameGit repository username-gitChartRepo.usernameHELM_CHART_PUBLISH_GIT_REPO_USERNAMEhelm-chart-publish.gitUsername
Git passwordGit repository password-gitChartRepo.passwordHELM_CHART_PUBLISH_GIT_REPO_PASSWORD-
Git repository working directoryDirectory in git repository where helm chart repository is stored/ (root folder of the repository)gitChartRepo.workDir-helm-chart-publish.gitChartRepoWorkDir
Chart versionVersion under which the chart will be publishedproject.versionchart.version--
Chart nameName of the chart (must be the same as name in chart valyes.yaml)project.namechart.name-helm-chart-publish.chartName
Chart definition pathWhere in the project chart definition is stored${projectDir}/helm/$chartNamechart.definitionPath-helm-chart-publish.chartDefinitionPath