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