first commit

This commit is contained in:
florian 2025-10-08 11:38:29 +02:00
commit 9816c281ad
12 changed files with 220 additions and 0 deletions

View File

@ -0,0 +1,34 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend-api-internal
namespace: app-notifications
spec:
replicas: 1
selector:
matchLabels:
app: backend-api-internal
template:
metadata:
labels:
app: backend-api-internal
spec:
containers:
- name: backend-api-internal
image: notification_app.backend-api-internal:v1
imagePullPolicy: Never
ports:
- containerPort: 8101
env:
- name: BACKEND_API_INTERNAL_RMQ_HOST
value: "rabbitmq.app-notifications.svc.cluster.local"
- name: BACKEND_API_DB_HOST
value: "mysql.app-notifications.svc.cluster.local"
volumeMounts:
- name: backend-api-internal-secrets
mountPath: /etc/secrets
readOnly: true
volumes:
- name: backend-api-internal-secrets
secret:
secretName: backend-api-internal

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: backend-api-internal
namespace: app-notifications
spec:
selector:
app: backend-api-internal
ports:
- protocol: TCP
port: 8101
targetPort: 8101
nodePort: 30101
type: NodePort

View File

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend-api
namespace: app-notifications
spec:
replicas: 1
selector:
matchLabels:
app: backend-api
template:
metadata:
labels:
app: backend-api
spec:
containers:
- name: backend-api
image: notification_app.backend-api:v1
imagePullPolicy: Never
ports:
- containerPort: 8100
env:
- name: BACKEND_API_DB_HOST
value: "mysql.app-notifications.svc.cluster.local"
volumeMounts:
- name: backend-api-secrets
mountPath: /etc/secrets
readOnly: true
volumes:
- name: backend-api-secrets
secret:
secretName: backend-api

14
backend-api/service.yaml Normal file
View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: backend-api
namespace: app-notifications
spec:
selector:
app: backend-api
ports:
- protocol: TCP
port: 8100
targetPort: 8100
nodePort: 30100
type: NodePort

33
mysql/deployment.yaml Normal file
View File

@ -0,0 +1,33 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: app-notifications
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-pvc
containers:
- name: mysql
image: mysql:8.0.4
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: root-password
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql

7
mysql/kustomization.yaml Normal file
View File

@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
configMapGenerator:
- name: mysql-initdb
files:
- initdb/app_database.sql

12
mysql/pvc.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: app-notifications
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

13
mysql/service.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: app-notifications
spec:
selector:
app: mysql
ports:
- protocol: TCP
port: 3306
targetPort: 3306
type: ClusterIP

4
namespace.yaml Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: app-notifications

28
rabbitmq/deployment.yaml Normal file
View File

@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq
namespace: app-notifications
spec:
replicas: 1
selector:
matchLabels:
app: rabbitmq
template:
metadata:
labels:
app: rabbitmq
spec:
containers:
- name: rabbitmq
image: rabbitmq:3.11-management
ports:
- containerPort: 5672
- containerPort: 15672
volumeMounts:
- name: rabbitmq-data
mountPath: /var/lib/rabbitmq
volumes:
- name: rabbitmq-data
persistentVolumeClaim:
claimName: rabbitmq-pvc

11
rabbitmq/pvc.yaml Normal file
View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rabbitmq-pvc
namespace: app-notifications
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi

18
rabbitmq/service.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
namespace: app-notifications
spec:
ports:
- port: 5672
targetPort: 5672
protocol: TCP
name: amqp
- port: 15672
targetPort: 15672
protocol: TCP
name: management
selector:
app: rabbitmq
type: ClusterIP