Skip to content

Helm Chart Helper

⚠ THIS REPO IS WIP. USE AT YOUR OWN RISK!

The following functions are included:

HELPERS:

More information about helpers see: helper

  • Creating namespaces
  • Creating docker-registry secrets
  • Creating secrets
  • Creating ingress
  • Creating tls-secrets
  • Creating configMaps
  • Creating serviceMonitor to work with prometheus metrics
  • Creating job

CHART:

More information about chart see: chart

Enable the CHART function by changing the value chart.enabled to true

chart:
  enabled: true
  ...
  • Creating a chart which includes the following "modified" helpers:
  • chart.secrets
  • chart.configMaps
  • chart.serviceMonitor

You can also create jobsand sidecars in CHART

Package Registry URL


Quickstart

Create an folder called omh-sample

mkdir omh-sample
cd omh-sample

Chart.yaml

Create an empty Chart.yaml File and add this:

touch Chart.yaml
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.11.1
    condition: nodered.enabled
  - name: ohmyhelm
    alias: secretexample
    repository: https://gitlab.com/api/v4/projects/28993678/packages/helm/stable
    version: 1.11.1
    condition: secretexample.enabled

values.yaml

Now create an values.yaml with the follwing:

touch values.yaml
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: USELESS_PASSWORD
          valueFrom:
            secretKeyRef:
              name: useless-secret-chart
              key: password
        - name: USERNAME
          valueFrom:
            secretKeyRef:
              name: useless-secret-chart
              key: user
        - name: USELESS_PASSWORD_2
          valueFrom:
            secretKeyRef:
              name: useless-secret-helper
              key: password
        - name: USERNAME_2
          valueFrom:
            secretKeyRef:
              name: useless-secret-helper
              key: user
    statefulsetVolume:
      volumeMounts:
        - name: data-nodered
          mountPath: /data 
      volumeClaimTemplates:
        - metadata:
            name: "data-nodered"
          spec:
            accessModes: 
              - ReadWriteOnce
            resources:
              requests:
                storage: 2Gi
    # This is the "chart helper" secret 
    secrets:
      enabled: true
      secrets:
        - name: useless-secret-chart
          namespace: default
          values:
            password: "!1234567890"
            user: "example"
# This is the "helper" secret 
secretexample:
  enabled: true
  secrets:
    - name: useless-secret-helper
      namespace: default
      values:
        password: "1234567890!"
        user: "example"

Now install the new Chart

helm dep update
helm install my-sample . --namespace "mysample"

install an Chart with ohMyHelm from terminal

The default ohMyHelm doesn't create an deployment, you need to add your values with -f omh-values.yaml to deploy something.

See examples directory in this repository:

  • examples/omh-nodered-deployment-values.yaml
  • examples/omh-nodered-statful-values.yaml
helm repo add ohmyhelm https://gitlab.com/api/v4/projects/28993678/packages/helm/stable
helm repo update
helm install -f omh-values.yaml nodered ohmyhelm/ohmyhelm --version 1.11.1

Need more information about Helm, see: docs - helm install


Last update: December 13, 2021