helm
A helm asset will template and render an existing helm chart. You can either reference an existing chart in a private or public github repo, or your installer runbook can include assets to drop an existing helm chart at local.chart_root.
Required Parameters
dest- The directory in which to render the chart. If the source chart is atcharts/src/nginx, anddestis set tocharts/rendered/, then the chart will be templated atcharts/rendered/nginx
Optional Parameters
github- Configuration for indicating a chart hosted in a private or public github repo. Fields are same asassets.v1.githubrequired:
path- Path in repo from which to pull file or directoryref- Reference to a github commit to pull, usually a SHA or a tag – usage of branches is supported but discouraged as content could change within a single Ship releaserepo- The GitHub repository to pull from, formated asowner/repoe.g.replicatedhq/ship
optional:
source- One ofpublicorprivate, ifprivate, access to the repo can be validated on release creation
helm_fetch- Configuration for indicating a chart hosted somewhere that would be accessible to thehelm fetchfunction.required:
chart_ref-chart URL | repo/chartnameas would be passed tohelm fetch
optional:
repo_url- repository URL as would be passed tohelm fetchwith the--repoflagversion- version as would be passed tohelm fetchwith the--versionflag
helm_opts- Additional options as would be passed tohelm templatelocal- Configuration for indicating an already existing source chart to render from.required:
chart_root- The base directory of the existing chart.
values- Values to set during rendering, overrides defaults invalues.yamlif present in the chart root.values_from- values_fromwhen- This asset will be included when ‘when’ is omitted or true
Examples
assets:
v1:
- helm:
github:
repo: github.com/replicatedhq/superbigtool-k8s
ref: 8fcaebe55af67fe6789fa678faaa76fa867fbc
path: k8s-yamls/
source: private
dest: charts/rendered/
assets:
v1:
- helm:
values:
AppFlavor: ship
NginxReplicas: '{{repl ConfigOption \"nginx_replicas\"}}'
helm_opts:
- '--name'
- >-
{{repl Installation \"channel_name\"}}-{{repl Installation
\"semver\"}}
local:
chart_root: charts/src/nginx/
dest: charts/rendered/