helm
Description
Execute helm
commands. Deploy, upgrade, and delete your charts.
Requirements
kubectl
helm
Parameters
Parameter |
Comment |
---|---|
command |
Any helm command with nested subcommands |
args |
flag/value pairs, a flag needs to be listed by its full name |
opts |
flags without arguments i.e. switches |
chart |
name of the chart |
name |
name of the chart release |
Examples
# If you have a simple command with an argument you can write it like this
# helm repo add stable https://kubernetes-charts.storage.googleapis.com/
- name: Add stable repo to Helm
helm:
command: repo add stable https://kubernetes-charts.storage.googleapis.com/
# Command (repo) and its subcommand (update) are both placed in the "command"
# parameter of Narrenschiff helm module
# helm repo update
- name: Update repo for stable charts
helm:
command: repo update
# use "chart" and "name" to define chart and its release
# helm install ingress-controller stable/nginx-ingress --atomic --namespace default
- name: Install Ingress controller
helm:
command: install
name: ingress-controller # release of the chart
chart: stable/nginx-ingress # chart you're using from the chart repo
opts: # all switches are listed in opts as YAML list
- atomic
args: # all flags with inputs go under args
namespace: default
version: 1.41.1
# You can use "set" to set values on the command line
- name: Install cert-manager
helm:
command: install
name: cert-manager
chart: jetstack/cert-manager
opts:
- atomic
args:
namespace: cert-manager
version: v0.12.0
set: # set is a YAML list of key/value pairs
- ingressShim.defaultIssuerName=letsencrypt-prod
- ingressShim.defaultIssuerKind=ClusterIssuer
- ingressShim.defaultIssuerGroup=cert-manager.io
# In Narrenschiff you can combine "set" with templating if you need to set some secrets
- name: Install PostgreSQL
helm:
command: install
name: postgres
chart: bitnami/postgresql
opts:
- atomic
args:
version: 9.1.1
set:
- "global.postgresql.postgresqlPassword={{ postgresqlPassword }}"
# Values can be used when you have URLs as your chart values
- name: Upgrade Chart Museum
helm:
command: upgrade
name: museum
chart: stable/chartmuseum
opts:
- atomic
- cleanup-on-fail
args:
version: 2.13.0
values:
- https://github.com/helm/charts/blob/master/stable/chartmuseum/values.yaml
# Files in "values" are always passed as secretmaps!
- name: Install Graylog
helm:
command: install
name: "graylog"
chart: stable/graylog
opts:
- atomic
args:
namespace: "graylog"
version: 1.6.9
values:
- "{{ ingress | secretmap }}"
- "{{ service | secretmap }}"
Status
Warning
This module is experimental.