Chart.yaml
This file is the metadata manifest for your Helm chart.
For example
apiVersion: v2
name: backend-app
description: A Helm chart for deploying backend of our app
version: 0.1.0
appVersion: "1.16.0"
values.yaml
This file contains default values for your chart's configuration — like image tags, replica counts, or resource limits.
For example
replicaCount: 2
image:
repository: nginx
tag: "1.21"
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
templates/ folder
This is where the actual Kubernetes resource files (Deployment, Service, etc.) are defined — but written using Go templating syntax.
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.serviceName }}
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: my-app
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"