Skip to content

Commit f1c2b4b

Browse files
committed
feat:retry
1 parent 43d692c commit f1c2b4b

10 files changed

Lines changed: 357 additions & 1 deletion

File tree

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
manifest/
21
manifest/configMaps/

manifest/deployments/api.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-api-gateway-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-api-gateway
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-api-gateway
14+
spec:
15+
containers:
16+
- name: vlearning-api-gateway
17+
image: javedmv/api-gateway:latest # Replace with your actual image name
18+
ports:
19+
- containerPort: 3000
20+
envFrom:
21+
- configMapRef:
22+
name: api-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-api-gateway
28+
spec:
29+
selector:
30+
app: vlearning-api-gateway
31+
ports:
32+
- protocol: TCP
33+
port: 3000
34+
targetPort: 3000

manifest/deployments/auth.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-auth-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-auth-service
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-auth-service
14+
spec:
15+
containers:
16+
- name: vlearning-auth-service
17+
image: javedmv/auth-service:latest # Replace with your actual Docker image name
18+
ports:
19+
- containerPort: 3001
20+
envFrom:
21+
- configMapRef:
22+
name: auth-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-auth-service
28+
spec:
29+
selector:
30+
app: vlearning-auth-service
31+
ports:
32+
- protocol: TCP
33+
port: 3001
34+
targetPort: 3001

manifest/deployments/chat.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-chat-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-chat-service
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-chat-service
14+
spec:
15+
containers:
16+
- name: vlearning-chat-service
17+
image: javedmv/chat-service:latest # Replace with your actual Docker image name
18+
ports:
19+
- containerPort: 3005
20+
envFrom:
21+
- configMapRef:
22+
name: chat-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-chat-service
28+
spec:
29+
selector:
30+
app: vlearning-chat-service
31+
ports:
32+
- protocol: TCP
33+
port: 3005
34+
targetPort: 3005

manifest/deployments/course.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-course-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-course-srv
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-course-srv
14+
spec:
15+
containers:
16+
- name: vlearning-course-srv
17+
image: javedmv/course-srv:latest # Replace with your actual Docker image name
18+
ports:
19+
- containerPort: 3003
20+
envFrom:
21+
- configMapRef:
22+
name: course-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-course-srv
28+
spec:
29+
selector:
30+
app: vlearning-course-srv
31+
ports:
32+
- protocol: TCP
33+
port: 3003
34+
targetPort: 3003

manifest/deployments/kafka.yaml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: kafka
5+
labels:
6+
app: kafka
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: kafka
12+
template:
13+
metadata:
14+
labels:
15+
app: kafka
16+
spec:
17+
containers:
18+
- name: kafka
19+
image: bitnami/kafka:latest
20+
ports:
21+
- containerPort: 9092
22+
name: plaintext
23+
- containerPort: 9093
24+
name: controller
25+
env:
26+
- name: ALLOW_PLAINTEXT_LISTENER
27+
value: "yes"
28+
- name: KAFKA_CFG_BROKER_ID
29+
value: "1"
30+
- name: KAFKA_CFG_NODE_ID
31+
value: "1"
32+
- name: KAFKA_CFG_PROCESS_ROLES
33+
value: "broker,controller"
34+
- name: KAFKA_CFG_CONTROLLER_QUORUM_VOTERS
35+
value: "1@kafka:9093"
36+
- name: KAFKA_CFG_LISTENERS
37+
value: "PLAINTEXT://:9092,CONTROLLER://:9093"
38+
- name: KAFKA_CFG_ADVERTISED_LISTENERS
39+
value: "PLAINTEXT://kafka:9092"
40+
- name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP
41+
value: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
42+
- name: KAFKA_CFG_CONTROLLER_LISTENER_NAMES
43+
value: "CONTROLLER"
44+
- name: KAFKA_CFG_INTER_BROKER_LISTENER_NAME
45+
value: "PLAINTEXT"
46+
- name: KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR
47+
value: "1"
48+
- name: KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE
49+
value: "true"
50+
---
51+
apiVersion: v1
52+
kind: Service
53+
metadata:
54+
name: kafka
55+
labels:
56+
app: kafka
57+
spec:
58+
ports:
59+
- port: 9092
60+
targetPort: 9092
61+
name: plaintext
62+
- port: 9093
63+
targetPort: 9093
64+
name: controller
65+
selector:
66+
app: kafka
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-notification-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-notification-service
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-notification-service
14+
spec:
15+
containers:
16+
- name: vlearning-notification-service
17+
image: javedmv/notification-service:latest # Replace with your actual Docker image name
18+
ports:
19+
- containerPort: 3002
20+
envFrom:
21+
- configMapRef:
22+
name: notification-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-notification-service
28+
spec:
29+
selector:
30+
app: vlearning-notification-service
31+
ports:
32+
- protocol: TCP
33+
port: 3002
34+
targetPort: 3002

manifest/deployments/payment.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: vlearning-payment-deployment
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: vlearning-payment-srv
10+
template:
11+
metadata:
12+
labels:
13+
app: vlearning-payment-srv
14+
spec:
15+
containers:
16+
- name: vlearning-payment-srv
17+
image: javedmv/payment-srv:latest # Replace with your actual Docker image
18+
ports:
19+
- containerPort: 3004
20+
envFrom:
21+
- configMapRef:
22+
name: payment-config
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: vlearning-payment-srv
28+
spec:
29+
selector:
30+
app: vlearning-payment-srv
31+
ports:
32+
- protocol: TCP
33+
port: 3004
34+
targetPort: 3004
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: zookeeper
5+
labels:
6+
app: zookeeper
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: zookeeper
12+
template:
13+
metadata:
14+
labels:
15+
app: zookeeper
16+
spec:
17+
containers:
18+
- name: zookeeper
19+
image: bitnami/zookeeper:latest
20+
ports:
21+
- containerPort: 2181
22+
env:
23+
- name: ZOOKEEPER_CLIENT_PORT
24+
value: "2181"
25+
- name: ZOOKEEPER_TICK_TIME
26+
value: "2000"
27+
- name: ALLOW_ANONYMOUS_LOGIN
28+
value: "yes" # This line enables anonymous login

manifest/ingress-controller.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: vlearning-ingress
5+
annotations:
6+
nginx.ingress.kubernetes.io/use-regex: "true"
7+
cert-manager.io/cluster-issuer: letsencrypt-prod # ✅ Change if you're not using Let's Encrypt or using a different issuer
8+
nginx.ingress.kubernetes.io/enable-cors: "true"
9+
nginx.ingress.kubernetes.io/cors-allow-origin: "v-learning-client-5r8j.vercel.app" # 🔧 Change to your actual frontend domain
10+
nginx.ingress.kubernetes.io/enable-access-log: "true"
11+
nginx.ingress.kubernetes.io/websocket-services: "vlearning-chat-service" # ✅ Ensure this matches your chat service name
12+
spec:
13+
ingressClassName: webapprouting.kubernetes.azure.com # 🔧 Change if not using Azure or a different ingress class
14+
rules:
15+
- host: vlearning.live # 🔧 Change to your actual domain
16+
http:
17+
paths:
18+
- path: /auth
19+
pathType: Prefix
20+
backend:
21+
service:
22+
name: vlearning-auth-service # ✅ Make sure service name matches your K8s service
23+
port:
24+
number: 3001
25+
- path: /course
26+
pathType: Prefix
27+
backend:
28+
service:
29+
name: vlearning-course-srv # ✅ Confirm this matches your course service name
30+
port:
31+
number: 3003
32+
- path: /notification
33+
pathType: Prefix
34+
backend:
35+
service:
36+
name: vlearning-notification-service
37+
port:
38+
number: 3002
39+
- path: /payment
40+
pathType: Prefix
41+
backend:
42+
service:
43+
name: vlearning-payment-srv
44+
port:
45+
number: 3004
46+
- path: /chat
47+
pathType: Prefix
48+
backend:
49+
service:
50+
name: vlearning-chat-service
51+
port:
52+
number: 3005
53+
- path: /socket.io
54+
pathType: Prefix
55+
backend:
56+
service:
57+
name: vlearning-chat-service
58+
port:
59+
number: 3005

0 commit comments

Comments
 (0)