...

/

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 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:

Press + to interact
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:

Press + to interact
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 ...