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
, anddest
is 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.github
required:
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
/repo
e.g.replicatedhq/ship
optional:
source
- One ofpublic
orprivate
, 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 fetch
function.required:
chart_ref
-chart URL | repo/chartname
as would be passed tohelm fetch
optional:
repo_url
- repository URL as would be passed tohelm fetch
with the--repo
flagversion
- version as would be passed tohelm fetch
with the--version
flag
helm_opts
- Additional options as would be passed tohelm template
local
- 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.yaml
if 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/