1
+ apiVersion : apps/v1
2
+ kind : Deployment
3
+ metadata :
4
+ name : frontend
5
+ namespace : peerprep
6
+ labels :
7
+ project : peerprep
8
+ peerprep.service : frontend
9
+ spec :
10
+ replicas : 1
11
+ selector :
12
+ matchLabels :
13
+ project : peerprep
14
+ peerprep.service : frontend
15
+ strategy :
16
+ type : Recreate
17
+ template :
18
+ metadata :
19
+ labels :
20
+ project : peerprep
21
+ peerprep.service : frontend
22
+ peerprep.network.match-api : " true"
23
+ peerprep.network.user-api : " true"
24
+ peerprep.network.question-api : " true"
25
+ peerprep.network.collab-api : " true"
26
+ spec :
27
+ initContainers :
28
+ - name : wait-for-services
29
+ image : node:lts-alpine
30
+ env :
31
+ - name : VITE_USER_SERVICE
32
+ value : http://user-service:9001
33
+ - name : VITE_QUESTION_SERVICE
34
+ value : http://question-service:9002
35
+ - name : VITE_COLLAB_SERVICE
36
+ value : http://collab-service:9003
37
+ - name : VITE_MATCHING_SERVICE
38
+ value : http://matching-service:9004
39
+ command :
40
+ - /bin/sh
41
+ - -c
42
+ - |
43
+ until wget --no-verbose --tries=1 --spider "$VITE_USER_SERVICE/health"; do
44
+ echo "Waiting for User Service"
45
+ sleep 2
46
+ done &
47
+
48
+ until wget --no-verbose --tries=1 --spider "$VITE_QUESTION_SERVICE/health"; do
49
+ echo "Waiting for Question Service"
50
+ sleep 2
51
+ done &
52
+
53
+ until wget --no-verbose --tries=1 --spider "$VITE_COLLAB_SERVICE/health"; do
54
+ echo "Waiting for Collaboration Service"
55
+ sleep 2
56
+ done &
57
+
58
+ until wget --no-verbose --tries=1 --spider "$VITE_MATCHING_SERVICE/health"; do
59
+ echo "Waiting for Matching Service"
60
+ sleep 2
61
+ done &
62
+
63
+ wait
64
+ echo "All services healthy"
65
+
66
+ containers :
67
+ - name : frontend
68
+ image : ay2425s1cs3219g16/frontend:main
69
+ imagePullPolicy : IfNotPresent
70
+ envFrom :
71
+ - secretRef :
72
+ name : frontend-secret
73
+ env :
74
+ - name : FRONTEND_PORT
75
+ value : " 3000"
76
+ - name : VITE_USER_SERVICE
77
+ value : http://user-service:9001
78
+ - name : VITE_QUESTION_SERVICE
79
+ value : http://question-service:9002
80
+ - name : VITE_COLLAB_SERVICE
81
+ value : http://collab-service:9003
82
+ - name : VITE_MATCHING_SERVICE
83
+ value : http://matching-service:9004
84
+ ports :
85
+ - name : frontend-ctr
86
+ containerPort : 3000
87
+ resources :
88
+ requests :
89
+ cpu : 250m
90
+ memory : 256Mi
91
+ limits :
92
+ cpu : 500m
93
+ memory : 512Mi
94
+
0 commit comments