--- title: Helm introduction tags: Kubernetes description: --- <style> .reveal { font-size: 26px; } </style> - slides: - documentation: - [Helm](https://helm.sh/docs/) --- ### What is it? - package manager for kubernetes - template engine for yaml files --- ### Quick install - install `kubectl` - install `helm` --- ### File structure wordpress/ Chart.yaml # A YAML file containing information about the chart LICENSE # OPTIONAL: A plain text file containing the license for the chart README.md # OPTIONAL: A human-readable README file values.yaml # The default configuration values for this chart values.schema.json # OPTIONAL: A JSON Schema for imposing a structure on the values.yaml file charts/ # A directory containing any charts upon which this chart depends. crds/ # Custom Resource Definitions templates/ # A directory of templates that, when combined with values, # will generate valid Kubernetes manifest files. templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes --- *- demo `patienten-peer` helm -* --- ### Adjustments made 1. Create `build/helm/patienten-peer` 2. Added gitlab-ci-templates:`php-helm-deploy-template.yml` 3. Modified `.gitlab-ci.yml` --- ### Lessions learned - `kubectl create secret -o yaml` in kubectl=~1.5 - has been added later to kubectl - gcloud uses k8s 1.5 - gcloud-helm image uses k8s - workaround has been created by providing the yaml via `stdin` - `helm install --set-string=23` - required if the value look like a number - `{{ if foo -}}` - often handy - easy to make mistakes --- ### Todo - Include sentry into the helm image - Currently sentry is an after step - `sentry-cli` could be included into the image - `kubectl create secret docker-registry` workaround - generated object is more complex - may be harder to setup/debug --- ### Usefull pages to lookup - [Topics Charts](https://helm.sh/docs/topics/charts/) - [Template build-in objects](https://helm.sh/docs/chart_template_guide/builtin_objects/) - [Template control flow](https://helm.sh/docs/chart_template_guide/control_structures/)