diff --git a/Kubernetes/backend-deployment-service.yml b/Kubernetes/backend-deployment-service.yml new file mode 100644 index 00000000..d1515f0a --- /dev/null +++ b/Kubernetes/backend-deployment-service.yml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend-deployment + namespace: chatapp-ns +spec: + replicas: 1 + selector: + matchLabels: + app: backend + template: + metadata: + labels: + app: backend + spec: + containers: + - name: backend + image: rohit273/chatapp-backend:latest + ports: + - containerPort: 5000 + env: + - name: MONGO_URL + value: "mongodb://mongodb-svc:27017/chat" + - name: PORT + value: "5000" +--- +apiVersion: v1 +kind: Service +metadata: + name: backend-svc + namespace: chatapp-ns +spec: + selector: + app: backend + ports: + - protocol: TCP + port: 5000 + targetPort: 5000 diff --git a/Kubernetes/frontend-deployment-service.yml b/Kubernetes/frontend-deployment-service.yml new file mode 100644 index 00000000..1f116be7 --- /dev/null +++ b/Kubernetes/frontend-deployment-service.yml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend-deployment + namespace: chatapp-ns +spec: + replicas: 1 + selector: + matchLabels: + app: frontend + template: + metadata: + labels: + app: frontend + spec: + containers: + - name: frontend + image: rohit273/chatapp-frontend:latest + ports: + - containerPort: 3000 +--- +apiVersion: v1 +kind: Service +metadata: + name: frontend-svc + namespace: chatapp-ns +spec: + selector: + app: frontend + ports: + - protocol: TCP + port: 3000 + targetPort: 3000 + type: ClusterIP diff --git a/Kubernetes/mongo-deployment-service.yml b/Kubernetes/mongo-deployment-service.yml new file mode 100644 index 00000000..0bd68c26 --- /dev/null +++ b/Kubernetes/mongo-deployment-service.yml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mongodb-deployment + namespace: chatapp-ns +spec: + replicas: 1 + selector: + matchLabels: + app: mongodb + template: + metadata: + labels: + app: mongodb + type: NodePort + spec: + containers: + - name: mongodb + image: mongo:latest + ports: + - containerPort: 27017 + volumeMounts: + - mountPath: /data/db + name: mongodb-storage + volumes: + - name: mongodb-storage + persistentVolumeClaim: + claimName: mongodb-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: mongodb-svc + namespace: chatapp-ns +spec: + selector: + app: mongodb + ports: + - protocol: TCP + port: 27017 + targetPort: 27017 diff --git a/Kubernetes/persistent-volume.yml b/Kubernetes/persistent-volume.yml new file mode 100644 index 00000000..eecb227e --- /dev/null +++ b/Kubernetes/persistent-volume.yml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mongodb-pv + namespace: chatapp-ns +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: standard + hostPath: + path: /data/db +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mongodb-pvc + namespace: chatapp-ns +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: standard diff --git a/server/.env b/server/.env index ef47b5c4..6ab2a41b 100644 --- a/server/.env +++ b/server/.env @@ -1,2 +1,2 @@ PORT=5000 -MONGO_URL="mongodb://localhost:27017/chat" \ No newline at end of file +MONGO_URL="mongodb://mongo-svc:27017/chat" \ No newline at end of file