Helm Chart Helper¶
THIS REPO IS WIP. USE AT YOUR OWN RISK!
What is ohMyHelm?¶
ohMyHelm is a framework for building helm charts without struggling with creating or modifying templates
. Just add your informations to the values.yaml
in a similar way to docker-compose
files.
ohMyHelm has two main
categories.
- Within
HELPERS
you will find some differenttools
, to create stuff likesecrets
andconfigMaps
. If you can't find the right "helper" you can user themainfest
helper to create wathever you want ( For exampleStorageClass
manifest ). - With
CHARTS
you can simply create a deployment, statefulset or daemonset withservice
,rbac
,initContainer
,jobs
, etc.
HELPERS¶
More information about HELPER
see: helper
included helpers:
namespaces
manifests
imageCredentials
for container registriesingress
secrets
tlsSecrets
for self-signed certsconfigMaps
serviceMonitor
prometheus metricsjob
CHART¶
Enable the CHART
function by changing the value chart.enabled
to true
. More information about CHART
see: chart
chart:
enabled: true
...
ohMyHelm Package Registry URL https://gitlab.com/api/v4/projects/28993678/packages/helm/stable
Quickstart¶
Prerequists:
kubernetes
kubeconfig
helm
cli installed- optional
kubectl
installed
Create an folder called omh-sample
Chart.yaml¶
Within this folder, Create a Chart.yaml
File and add this:
apiVersion: v2
name: mysample
description: Example Chart with ohmyhelm as dependency
type: application
version: 0.1.0
appVersion: "1.16.0"
dependencies:
- name: ohmyhelm
alias: nodered
repository: https://gitlab.com/api/v4/projects/28993678/packages/helm/stable
version: 1.15.2
condition: nodered.enabled
values.yaml¶
Create the values.yaml
in the same folder and the follwing content:
nodered:
enabled: true
chart:
enabled: true
statefulset: true
fullnameOverride: "nodered"
container:
image: nodered/node-red:latest
ports:
- name: http
containerPort: 1880
protocol: TCP
env:
- name: TZ
value: "Europe/Berlin"
statefulsetVolume:
volumeMounts:
- name: data-nodered
mountPath: /data
volumeClaimTemplates:
- metadata:
name: "data-nodered"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
Now install the new Chart¶
helm dep update
helm upgrade --install -n "mysample" --create-namespace my-sample .
That's it!?¶
Your chart is installed and your new service is deployed in your kubernetes cluster. A service
object will automatically generated ( ohMyHelm default ) and listen on port 80. Try to connect to our freshly installed service.
# If necessary, change the port in "LOCALPORT"
LOCALPORT="9999"
kubectl port-forward svc/nodered --namespace mysample $LOCALPORT:80
Open your browser http://localhost:9999
Whats next?¶
Now, you will build your own Chart with ohMyHelm or add an ingress to your service? You know what you need? Check out our checklist documentation.
Need more information about Helm, see: docs - helm install