File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ apiVersion : v2
2+ name : application
3+ description : Helm chart for Flask REST API (student-api)
4+ type : application
5+ version : 0.1.0
6+ appVersion : " 7.0.0"
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : ConfigMap
3+ metadata :
4+ name : flask-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 }}
Original file line number Diff line number Diff line change 1+ apiVersion : apps/v1
2+ kind : Deployment
3+ metadata :
4+ name : flask-api
5+ namespace : {{ .Values.namespace }}
6+ spec :
7+ replicas : {{ .Values.replicaCount }}
8+ selector :
9+ matchLabels :
10+ app : flask-api
11+ template :
12+ metadata :
13+ labels :
14+ app : flask-api
15+ spec :
16+ nodeSelector :
17+ {{ toYaml .Values.nodeSelector | indent 8 }}
18+ initContainers :
19+ - name : db-migrations
20+ image : " {{ .Values.image.repository }}:{{ .Values.image.tag }}"
21+ workingDir : /api/app
22+ env :
23+ - name : FLASK_APP
24+ value : " wsgi.py"
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_HOST
36+ valueFrom :
37+ configMapKeyRef :
38+ name : flask-config
39+ key : POSTGRES_HOST
40+ - name : POSTGRES_PORT
41+ valueFrom :
42+ configMapKeyRef :
43+ name : flask-config
44+ key : POSTGRES_PORT
45+ - name : POSTGRES_DB
46+ valueFrom :
47+ configMapKeyRef :
48+ name : flask-config
49+ key : POSTGRES_DB
50+ command :
51+ - sh
52+ - -c
53+ - |
54+ echo "Waiting for Postgres at $POSTGRES_HOST:$POSTGRES_PORT..."
55+ until pg_isready -h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER; do
56+ sleep 2
57+ done
58+ echo "Postgres is ready, running migrations..."
59+ flask db upgrade
60+ containers :
61+ - name : flask-api
62+ image : " {{ .Values.image.repository }}:{{ .Values.image.tag }}"
63+ imagePullPolicy : {{ .Values.image.pullPolicy }}
64+ ports :
65+ - containerPort : {{ .Values.service.targetPort }}
66+ env :
67+ - name : POSTGRES_USER
68+ valueFrom :
69+ secretKeyRef :
70+ name : {{ .Values.database.secretName }}
71+ key : {{ .Values.database.usernameKey }}
72+ - name : POSTGRES_PASSWORD
73+ valueFrom :
74+ secretKeyRef :
75+ name : {{ .Values.database.secretName }}
76+ key : {{ .Values.database.passwordKey }}
77+ - name : POSTGRES_HOST
78+ valueFrom :
79+ configMapKeyRef :
80+ name : flask-config
81+ key : POSTGRES_HOST
82+ - name : POSTGRES_PORT
83+ valueFrom :
84+ configMapKeyRef :
85+ name : flask-config
86+ key : POSTGRES_PORT
87+ - name : POSTGRES_DB
88+ valueFrom :
89+ configMapKeyRef :
90+ name : flask-config
91+ key : POSTGRES_DB
Original file line number Diff line number Diff line change 1+ apiVersion : v1
2+ kind : Service
3+ metadata :
4+ name : {{ .Values.service.name }}
5+ namespace : {{ .Values.namespace }}
6+ spec :
7+ selector :
8+ app : flask-api
9+ ports :
10+ - protocol : TCP
11+ port : {{ .Values.service.port }}
12+ targetPort : {{ .Values.service.targetPort }}
13+ type : {{ .Values.service.type }}
Original file line number Diff line number Diff line change 1+ namespace : student-api
2+
3+ replicaCount : 2
4+
5+ image :
6+ repository : akhilthyadi/flask-app
7+ tag : " 7.0.0"
8+ pullPolicy : IfNotPresent
9+
10+ service :
11+ name : flask-api-service
12+ type : NodePort
13+ port : 80
14+ targetPort : 5000
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+ nodeSelector :
27+ type : application
You can’t perform that action at this time.
0 commit comments