.. _helm: Helm ---- You must have Helm 3.0 installed for this functionality to work. Helm is an automation tool for creating all the Kubernetes resources needed to deploy a single application. This is done by creating a "Chart" that describes the components of your installation. When a chart is instantiated, a "Release" is created. The helm_install() function makes some assumptions about the environment. Values for charts are placed in a subdirectory name **charts/**. If you don't provide a **release_name**, it is derived from the last word in the **chart_name**. For example, if the chart_name is "stable/tomcat", "tomcat" is the release name. Finally, the YAML file with modified values are stored using the following naming pattern: **charts/{{release_name}}-values.yaml** A directory structure would look like this:: my-project/ charts/ tomcat-values.yaml deploy.py Let's say the only thing we want to modify on the Tomcat chart was **ingress** information. The contents of **tomcat-values.yaml** would look like this:: ingress: enabled: true hosts: - tomcat.{{domain}} tls: - hosts: - tomcat.{{domain}} Note that we are using Jinja2 templating syntax. When we call **helm_install**, we can provide the value of all template variables in the **param** parameters. You can see this in the following example of **deploy.py**:: from k9.helm import * form k9.core import set_default_namespace() // Set the namespace to install into set_default_namespace('tomcat') helm_install('stable/tomcat', {'domain': 'sandbox.simoncomputing.com'}) In the above example, what will happen is the **charts/tomcat-values.yaml** file will be translated using Jinja to another file **.output/tomcat-values.yaml**. That file will look like this:: ingress: enabled: true hosts: - tomcat.sandbox.simoncomputing.com tls: - hosts: - tomcat.sandbox.simoncomputing.com From that point the **helm** command is called like this:: helm install -f .output/tomcat-values.yaml tomcat stable/tomcat **Note** that all Helm functions will throw an exception if an error occurs. .. autofunction:: k9.helm.helm_repo_add .. autofunction:: k9.helm.helm_repo_update .. autofunction:: k9.helm.helm_repo_ls .. autofunction:: k9.helm.helm_repo_remove .. autofunction:: k9.helm.helm_install .. autofunction:: k9.helm.helm_uninstall .. autofunction:: k9.helm.helm_ls .. autofunction:: k9.helm.helm_exists