From b2cdd3b1cf9f27bca74fd8e3bef0e1f1ca13db2c Mon Sep 17 00:00:00 2001
From: derrabauke <pfralf@googlemail.com>
Date: Mon, 15 Mar 2021 00:57:00 +0100
Subject: [PATCH] added an extra health endpoint - figured out how to configure
 liveliness

---
 app/server/Dockerfile                              |  3 ---
 app/server/chart/backend/templates/deployment.yaml | 13 +++++++++++--
 app/server/chart/backend/values.yaml               |  2 +-
 app/server/src/index.js                            |  2 ++
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/app/server/Dockerfile b/app/server/Dockerfile
index 1a9fa79..126e138 100644
--- a/app/server/Dockerfile
+++ b/app/server/Dockerfile
@@ -8,8 +8,5 @@ COPY . .
 
 RUN npm install --production
 
-ENV PORT 3002
-ENV NODE_ENV production
-
 EXPOSE 3002
 CMD ["npm", "start"]
diff --git a/app/server/chart/backend/templates/deployment.yaml b/app/server/chart/backend/templates/deployment.yaml
index c30a4ea..d2c5c3b 100644
--- a/app/server/chart/backend/templates/deployment.yaml
+++ b/app/server/chart/backend/templates/deployment.yaml
@@ -33,17 +33,26 @@ spec:
             {{- toYaml .Values.securityContext | nindent 12 }}
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
           imagePullPolicy: {{ .Values.image.pullPolicy }}
+          env:
+            - name: PORT
+              value: "{{ .Values.port }}"
+            - name: MONGODB_URL
+              value: "mongodb://{{ .Values.mongodb.fullnameOverride}}:{{ .Values.mongodb.service.port }}"
+            - name: NODE_ENV
+              value: "production"
+            - name: JWT_SECRET
+              value: "secretz"
           ports:
             - name: primary
               containerPort: {{ .Values.port }}
               protocol: TCP
           livenessProbe:
             httpGet:
-              path: /
+              path: /health
               port: primary
           readinessProbe:
             httpGet:
-              path: /
+              path: /health
               port: primary
           resources:
             {{- toYaml .Values.resources | nindent 12 }}
diff --git a/app/server/chart/backend/values.yaml b/app/server/chart/backend/values.yaml
index 8b503d9..af9ae33 100644
--- a/app/server/chart/backend/values.yaml
+++ b/app/server/chart/backend/values.yaml
@@ -3,7 +3,7 @@ image:
   repository: backend #! change to container registry if possible
   pullPolicy: IfNotPresent
   # Overrides the image tag whose default is the chart appVersion.
-  tag: "v0.0.2"
+  tag: "v0.0.3"
 replicaCount: 1
 port: 3002
 
diff --git a/app/server/src/index.js b/app/server/src/index.js
index bb07165..6872853 100644
--- a/app/server/src/index.js
+++ b/app/server/src/index.js
@@ -8,6 +8,7 @@ const todoRoutes = require('./routes/todo');
 const userRoutes = require('./routes/user');
 const errorRoutes = require('./routes/error');
 const envRoute = require('./routes/env.js');
+const healthRoute = require('./routes/health.js');
 let cookieParser = require('cookie-parser');
 
 const app = express();
@@ -37,6 +38,7 @@ app.use(userRoutes);
 app.use('/', express.static(path.resolve(__dirname, `./public`)));
 // IMPORTANT: Educational purpose only! Possibly exposes sensitive data.
 app.use(envRoute);
+app.use(healthRoute);
 // NOTE: must be last one, because is uses a wildcard (!) that behaves aa
 // fallback and catches everything else
 app.use(errorRoutes);
-- 
GitLab