...

/

Build a Helm Umbrella Chart

Build a Helm Umbrella Chart

Learn the refactoring of a generic Helm chart into specific charts and combine it with an umbrella chart.

We'll cover the following...

We’ll be building an umbrella chart for the entire Kanban stack, including the front-end and back-end Service, and the database.

The first step is to create two separate charts—kanban-frontend and kanban-backend. Therefore, copy and paste the entire /app folder and rename it accordingly.

Refactor sub-charts

The kanban-frontend chart

Let’s start with correcting the kanban-frontend chart. We’ll first adjust our Chart.yaml file:

apiVersion: v2
name: kanban-frontend
description: A Helm chart for kanban-frontend
type: application
version: 0.1.0
appVersion: "1.16.0"

We’ve renamed a chart, changed a description, and removed the dependencies property because we don’t need to have a database for a front-end Service.

Next, we’ll move on to the /kanban-frontend/templates/deployment.yaml file, for which we don’t need to inject environment variables; therefore, we can remove that part. So the resultant Deployment file would be as follows:

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "fullName" . }}
labels: {{ include "labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ include "fullName" . }}
template:
metadata:
labels: {{ include "labels" . | nindent 8 }}
spec:
containers:
- name: {{ include "fullName" . }}
{{- with .Values.container }}
image: {{ .image }}
ports:
- containerPort: {{ .port }}
{{- end }}

Another thing that we might spot is that all the values are not under the app property from a ...