Skip to content

Commit 24550cf

Browse files
committed
Added database helm files
1 parent c0f5d1d commit 24550cf

6 files changed

Lines changed: 132 additions & 0 deletions

File tree

helm/database/Chart.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v2
2+
name: database
3+
description: Helm chart for Postgres (student-db)
4+
type: application
5+
version: 0.1.0
6+
appVersion: "15"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: postgres-config
5+
namespace: {{ .Values.namespace }}
6+
data:
7+
POSTGRES_HOST: {{ .Values.config.POSTGRES_HOST | quote }}
8+
POSTGRES_PORT: {{ .Values.config.POSTGRES_PORT | quote }}
9+
POSTGRES_DB: {{ .Values.config.POSTGRES_DB | quote }}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: postgres
5+
namespace: {{ .Values.namespace }}
6+
spec:
7+
replicas: {{ .Values.replicaCount }}
8+
selector:
9+
matchLabels:
10+
app: postgres
11+
template:
12+
metadata:
13+
labels:
14+
app: postgres
15+
spec:
16+
nodeSelector:
17+
{{ toYaml .Values.nodeSelector | indent 8 }}
18+
containers:
19+
- name: postgres
20+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
21+
imagePullPolicy: {{ .Values.image.pullPolicy }}
22+
ports:
23+
- containerPort: {{ .Values.service.targetPort }}
24+
env:
25+
- name: POSTGRES_USER
26+
valueFrom:
27+
secretKeyRef:
28+
name: {{ .Values.database.secretName }}
29+
key: {{ .Values.database.usernameKey }}
30+
- name: POSTGRES_PASSWORD
31+
valueFrom:
32+
secretKeyRef:
33+
name: {{ .Values.database.secretName }}
34+
key: {{ .Values.database.passwordKey }}
35+
- name: POSTGRES_DB
36+
valueFrom:
37+
configMapKeyRef:
38+
name: postgres-config
39+
key: POSTGRES_DB
40+
- name: POSTGRES_HOST
41+
valueFrom:
42+
configMapKeyRef:
43+
name: postgres-config
44+
key: POSTGRES_HOST
45+
- name: POSTGRES_PORT
46+
valueFrom:
47+
configMapKeyRef:
48+
name: postgres-config
49+
key: POSTGRES_PORT
50+
volumeMounts:
51+
- name: postgres-storage
52+
mountPath: /var/lib/postgresql/data
53+
volumes:
54+
- name: postgres-storage
55+
persistentVolumeClaim:
56+
claimName: postgres-pvc

helm/database/templates/pvc.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{{- if .Values.persistence.enabled }}
2+
apiVersion: v1
3+
kind: PersistentVolumeClaim
4+
metadata:
5+
name: postgres-pvc
6+
namespace: {{ .Values.namespace }}
7+
spec:
8+
accessModes:
9+
- ReadWriteOnce
10+
resources:
11+
requests:
12+
storage: {{ .Values.persistence.size }}
13+
{{- if .Values.persistence.storageClass }}
14+
storageClassName: {{ .Values.persistence.storageClass | quote }}
15+
{{- end }}
16+
{{- end }}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: {{ .Values.service.name }}
5+
namespace: {{ .Values.namespace }}
6+
spec:
7+
selector:
8+
app: postgres
9+
ports:
10+
- protocol: TCP
11+
port: {{ .Values.service.port }}
12+
targetPort: {{ .Values.service.targetPort }}
13+
type: {{ .Values.service.type }}

helm/database/values.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
namespace: student-api
2+
3+
replicaCount: 1
4+
5+
image:
6+
repository: postgres
7+
tag: "15"
8+
pullPolicy: IfNotPresent
9+
10+
service:
11+
name: postgres
12+
type: ClusterIP
13+
port: 5432
14+
targetPort: 5432
15+
16+
config:
17+
POSTGRES_HOST: "postgres"
18+
POSTGRES_PORT: "5432"
19+
POSTGRES_DB: "studentdb"
20+
21+
database:
22+
secretName: postgres-secret
23+
usernameKey: POSTGRES_USER
24+
passwordKey: POSTGRES_PASSWORD
25+
26+
persistence:
27+
enabled: true
28+
size: 1Gi
29+
storageClass: "" # set if you want a specific storageClass
30+
31+
nodeSelector:
32+
type: database

0 commit comments

Comments
 (0)