kubee-helmet
kubee helmet is the kubee chart manager.
Features
Section titled “Features”kubee helmet is a Helm cli that adds support for:
Jsonnet- to add Prometheus Mixin supportkustomize- to add support for application without Helm Chart such as ArgoCd.- a cluster values file - to share cluster wide configuration between charts
Familiar
Section titled “Familiar”kubee helmet is based on well-supported Kubernetes tools:
- Helm, the official kubernetes package manager
- Kustomize, the official manifest customization tool
- Jsonnet Kubernetes, the Google configuration language
It just executes Helm commands and therefore installs Helm Charts
All new installations:
- have a history (ie revision)
- can be rollback
- can be diffed
There is no magic. All commands are:
- bash command,
- printed to the shell (visible)
- and can be re-executed at wil
What is a Kubee Helmet hart?
Section titled “What is a Kubee Helmet hart?”What is a Jsonnet Helmet Chart?
Section titled “What is a Jsonnet Helmet Chart?”What is the format of a Cluster Values file?
Section titled “What is the format of a Cluster Values file?”Rules:
- Hard: Every root property in a cluster values file is the alias name of the chart in
snake_case. - Soft: Every property name should be written in
snake_case- Why?
hyphen-caseis not supported by Helm Template (ie Go template) - Why Not in
CamelCase? So that we get used to the fact that we don’t use-as a separator
- Why?
Example:
chart_1: hostname: foo.bar issuer_name: juliachart_2: hostname: bar.foo dns_zones: [ ]kubee helmet will transform it in a compliant Helm values.
You can see the Helm values:
- to be applied with:
kubee helmet --cluster clusterName values chartName- applied with:
helm get -n namespace values chartNameSecret Security
Section titled “Secret Security”With Helm, you retrieve the applied data (manifests, values) from a storage backend.
The default storage backend for Helm is a Kubernetes secret,
therefore the security is by default managed by Kubernetes RBAC.
Example: With this command, if you have access to the Kubernetes secret, you should be able to see the applied values files with eventually your secrets.
helm get -n namespace values chartReleaseNameMore information can be found in the storage backend section