kota's memex

The package manager for kubernetes.

Lets you install rather complex kubernetes applications quickly and easily. For example if you wanted to setup mariadb, you would normally need to create a stateful set, secrets, etc. With helm you can just run two commands:

helm repo add bitnami https://charts.bitnami.com
helm install mymaria bitnami/mariadb

creating packages

Packages in helm are called charts. A chart is a directory of configuration files, you can create the basic scaffolding with:
helm create myapp

myapp.yaml

Controls basic package info such as the name, description, version, and an optional list of dependencies.

values.yaml

Controls default configuration values for the package.

templates/

Files under this directory are treated as yaml templates. It uses go's templating language.

installing packages

Local directory install:
helm install myrelease ./myapp

Remote repository install:
helm install myrelease myrepo/myapp

Change values.yaml: helm install myrelease ./myapp -f custom.yaml

list packages

Helm actually has the ability to track all applications that have been installed in the cluster using helm:
helm list

upgrade package

helm upgrade myrelease ./myapp --set image.tag=1.16.1-alpine

rollback package

helm rollback myrelease 1

uninstall package

helm delete myrelease