Skip to content

Commit 1f032f8

Browse files
Feature/networking (#86)
2 parents f7df5f4 + 2fea785 commit 1f032f8

6 files changed

Lines changed: 162 additions & 23 deletions

File tree

.github/workflows/cd_kubernetes.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ jobs:
2222
- name: Checkout
2323
uses: actions/checkout@v4
2424

25+
# Get current commit hash
26+
- name: Get Tag
27+
id: tag
28+
run: echo "SHORT_SHA=sha-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
29+
2530
# Use Azure's kubectl installation action
2631
- name: Install Kubectl
2732
uses: azure/setup-kubectl@v4
@@ -43,4 +48,11 @@ jobs:
4348
# Run helm upgrade to upgrade deployment
4449
- name: Upgrade Deployment with Helm
4550
run: |
46-
helm upgrade --install meetatmensa ./deployment/k8s -n devoops
51+
helm upgrade --install meetatmensa ./deployment/k8s -n devoops \
52+
--set client.image.tag=${SHORT_SHA} \
53+
--set gateway.image.tag=${SHORT_SHA} \
54+
--set genai.image.tag=${SHORT_SHA} \
55+
--set matchdb.image.tag=${SHORT_SHA} \
56+
--set matching.image.tag=${SHORT_SHA} \
57+
--set user.image.tag=${SHORT_SHA} \
58+
--set userdb.image.tag=${SHORT_SHA}

deployment/k8s/charts/client/values.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,18 @@ service:
5454

5555
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
5656
ingress:
57-
enabled: true
58-
className: ""
59-
annotations:
60-
kubernetes.io/ingress.class: traefik
57+
enabled: false
58+
#className: ""
59+
#annotations:
60+
# kubernetes.io/ingress.class: traefik
6161
# kubernetes.io/tls-acme: "true"
62-
traefik.ingress.kubernetes.io/router.tls.certresolver: "letsencrypt"
63-
hosts:
64-
- host: app.meetatmensa.com
65-
paths:
66-
- path: /
67-
pathType: Prefix
68-
tls: []
62+
# traefik.ingress.kubernetes.io/router.tls.certresolver: "letsencrypt"
63+
#hosts:
64+
# - host: app.meetatmensa.com
65+
# paths:
66+
# - path: /
67+
# pathType: Prefix
68+
#tls: []
6969
# - secretName: chart-example-tls
7070
# hosts:
7171
# - chart-example.local

deployment/k8s/charts/gateway/values.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,18 @@ service:
5454

5555
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
5656
ingress:
57-
enabled: true
58-
className: ""
59-
annotations:
60-
kubernetes.io/ingress.class: traefik
61-
traefik.ingress.kubernetes.io/router.tls.certresolver: "letsencrypt"
57+
#enabled: true
58+
#className: ""
59+
#annotations:
60+
# kubernetes.io/ingress.class: traefik
61+
# traefik.ingress.kubernetes.io/router.tls.certresolver: "letsencrypt"
6262
# kubernetes.io/tls-acme: "true"
63-
hosts:
64-
- host: api.meetatmensa.com
65-
paths:
66-
- path: /
67-
pathType: Prefix
68-
tls: []
63+
#hosts:
64+
# - host: api.meetatmensa.com
65+
# paths:
66+
# - path: /
67+
# pathType: Prefix
68+
#tls: []
6969
# - secretName: chart-example-tls
7070
# hosts:
7171
# - chart-example.local
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{{/*
2+
Expand the name of the chart.
3+
*/}}
4+
{{- define "meetatmensa.name" -}}
5+
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6+
{{- end }}
7+
8+
{{/*
9+
Create a default fully qualified app name.
10+
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11+
If release name contains chart name it will be used as a full name.
12+
*/}}
13+
{{- define "meetatmensa.fullname" -}}
14+
{{- if .Values.fullnameOverride }}
15+
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16+
{{- else }}
17+
{{- $name := default .Chart.Name .Values.nameOverride }}
18+
{{- if contains $name .Release.Name }}
19+
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
20+
{{- else }}
21+
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22+
{{- end }}
23+
{{- end }}
24+
{{- end }}
25+
26+
{{/*
27+
Create chart name and version as used by the chart label.
28+
*/}}
29+
{{- define "meetatmensa.chart" -}}
30+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31+
{{- end }}
32+
33+
{{/*
34+
Common labels
35+
*/}}
36+
{{- define "meetatmensa.labels" -}}
37+
helm.sh/chart: {{ include "meetatmensa.chart" . }}
38+
{{ include "meetatmensa.selectorLabels" . }}
39+
{{- if .Chart.AppVersion }}
40+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41+
{{- end }}
42+
app.kubernetes.io/managed-by: {{ .Release.Service }}
43+
{{- end }}
44+
45+
{{/*
46+
Selector labels
47+
*/}}
48+
{{- define "meetatmensa.selectorLabels" -}}
49+
app.kubernetes.io/name: {{ include "meetatmensa.name" . }}
50+
app.kubernetes.io/instance: {{ .Release.Name }}
51+
{{- end }}
52+
53+
{{/*
54+
Create the name of the service account to use
55+
*/}}
56+
{{- define "meetatmensa.serviceAccountName" -}}
57+
{{- if .Values.serviceAccount.create }}
58+
{{- default (include "meetatmensa.fullname" .) .Values.serviceAccount.name }}
59+
{{- else }}
60+
{{- default "default" .Values.serviceAccount.name }}
61+
{{- end }}
62+
{{- end }}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#k8s/templates/ingress.yaml
2+
{{- if .Values.ingress.enabled }}
3+
apiVersion: networking.k8s.io/v1
4+
kind: Ingress
5+
metadata:
6+
name: {{ include "meetatmensa.fullname" . }}
7+
labels:
8+
app.kubernetes.io/name: {{ include "meetatmensa.name" . }}
9+
app.kubernetes.io/instance: {{ .Release.Name }}
10+
{{- with .Values.ingress.annotations }}
11+
annotations:
12+
{{- toYaml . | nindent 4 }}
13+
{{- end }}
14+
spec:
15+
tls:
16+
- hosts:
17+
- {{ .Values.ingress.gatewayHost }}
18+
- {{ .Values.ingress.clientHost }}
19+
secretName: meetatmensa-tls
20+
# secretName: meetatmensa-tls
21+
rules:
22+
- host: {{ .Values.ingress.gatewayHost }}
23+
http:
24+
paths:
25+
- path: /
26+
pathType: Prefix
27+
backend:
28+
service:
29+
name: {{ .Values.ingress.gatewayServiceName }}
30+
port:
31+
number: {{ .Values.gateway.service.port }}
32+
- host: {{ .Values.ingress.clientHost }}
33+
http:
34+
paths:
35+
- path: /
36+
pathType: Prefix
37+
backend:
38+
service:
39+
name: {{ .Values.ingress.clientServiceName }}
40+
port:
41+
number: {{ .Values.client.service.port }}
42+
{{- end }}

deployment/k8s/values.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# k8s/values.yaml
2+
ingress:
3+
enabled: true
4+
gatewayServiceName: meetatmensa-gateway
5+
gatewayHost: api.meetatmensa.com
6+
clientServiceName: meetatmensa-client
7+
clientHost: app.meetatmensa.com
8+
annotations:
9+
cert-manager.io/cluster-issuer: letsencrypt-prod
10+
kubernetes.io/ingress.class: nginx
11+
12+
gateway:
13+
ingress:
14+
enabled: false
15+
service:
16+
port: 8080
17+
18+
19+
client:
20+
ingress:
21+
enabled: false
22+
service:
23+
port: 80

0 commit comments

Comments
 (0)