Skip to content

Commit 29370af

Browse files
committed
Add Kubernetes manifests for notification-system
1 parent cb4566f commit 29370af

1 file changed

Lines changed: 125 additions & 0 deletions

File tree

k8s/infra.yaml

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Minimal in-cluster infra for local/dev clusters (kind/minikube).
2+
# For production, prefer managed services (RDS/Cloud SQL, Elasticache,
3+
# Amazon MQ) or the Bitnami subcharts wired up in charts/notification-system.
4+
apiVersion: apps/v1
5+
kind: StatefulSet
6+
metadata:
7+
name: postgres
8+
namespace: notification-system
9+
spec:
10+
serviceName: postgres
11+
replicas: 1
12+
selector:
13+
matchLabels:
14+
app: postgres
15+
template:
16+
metadata:
17+
labels:
18+
app: postgres
19+
spec:
20+
containers:
21+
- name: postgres
22+
image: postgres:15-alpine
23+
ports:
24+
- containerPort: 5432
25+
envFrom:
26+
- configMapRef:
27+
name: notification-system-config
28+
env:
29+
- name: POSTGRES_DB
30+
value: notification_system
31+
- name: POSTGRES_PASSWORD
32+
valueFrom:
33+
secretKeyRef:
34+
name: notification-system-secrets
35+
key: DB_PASSWORD
36+
volumeMounts:
37+
- name: data
38+
mountPath: /var/lib/postgresql/data
39+
volumeClaimTemplates:
40+
- metadata:
41+
name: data
42+
spec:
43+
accessModes: ["ReadWriteOnce"]
44+
resources:
45+
requests:
46+
storage: 5Gi
47+
---
48+
apiVersion: v1
49+
kind: Service
50+
metadata:
51+
name: postgres
52+
namespace: notification-system
53+
spec:
54+
selector:
55+
app: postgres
56+
ports:
57+
- port: 5432
58+
---
59+
apiVersion: apps/v1
60+
kind: Deployment
61+
metadata:
62+
name: redis
63+
namespace: notification-system
64+
spec:
65+
replicas: 1
66+
selector:
67+
matchLabels:
68+
app: redis
69+
template:
70+
metadata:
71+
labels:
72+
app: redis
73+
spec:
74+
containers:
75+
- name: redis
76+
image: redis:7-alpine
77+
ports:
78+
- containerPort: 6379
79+
---
80+
apiVersion: v1
81+
kind: Service
82+
metadata:
83+
name: redis-master
84+
namespace: notification-system
85+
spec:
86+
selector:
87+
app: redis
88+
ports:
89+
- port: 6379
90+
---
91+
apiVersion: apps/v1
92+
kind: Deployment
93+
metadata:
94+
name: rabbitmq
95+
namespace: notification-system
96+
spec:
97+
replicas: 1
98+
selector:
99+
matchLabels:
100+
app: rabbitmq
101+
template:
102+
metadata:
103+
labels:
104+
app: rabbitmq
105+
spec:
106+
containers:
107+
- name: rabbitmq
108+
image: rabbitmq:3.12-management-alpine
109+
ports:
110+
- containerPort: 5672
111+
- containerPort: 15672
112+
---
113+
apiVersion: v1
114+
kind: Service
115+
metadata:
116+
name: rabbitmq
117+
namespace: notification-system
118+
spec:
119+
selector:
120+
app: rabbitmq
121+
ports:
122+
- name: amqp
123+
port: 5672
124+
- name: management
125+
port: 15672

0 commit comments

Comments
 (0)