From 657e2761961381c38a60bca34615d0342a8615f1 Mon Sep 17 00:00:00 2001
From: abduki <abdullah.kiran@student.reutlingen-university.de>
Date: Sun, 15 Dec 2024 21:08:16 +0100
Subject: [PATCH] add mongo.yaml with env variables and mongo-service that
 exposes internal port 27017 to external port 27017

---
 minikube-prod/mongo.yaml                      | 45 +++++++++++++++++++
 .../todo/controller/UserController.java       |  5 ++-
 2 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 minikube-prod/mongo.yaml

diff --git a/minikube-prod/mongo.yaml b/minikube-prod/mongo.yaml
new file mode 100644
index 0000000..ac8e05d
--- /dev/null
+++ b/minikube-prod/mongo.yaml
@@ -0,0 +1,45 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: mongodb
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: mongodb
+  template:
+    metadata:
+      labels:
+        app: mongodb
+    spec:
+      containers:
+        - name: mongodb
+          image: mongo:latest
+          ports:
+            - containerPort: 27017
+          env:
+            - name: MONGO_INITDB_ROOT_USERNAME
+              value: tododbuser
+            - name: MONGO_INITDB_ROOT_PASSWORD
+              value: tododbadminpassword
+            - name: MONGO_INITDB_DATABASE
+              value: todo
+          volumeMounts:
+            - mountPath: /data/db
+              name: mongo-data
+      volumes:
+        - name: mongo-data
+          persistentVolumeClaim:
+            claimName: mongo-pvc
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: mongodb-service
+spec:
+  ports:
+    - port: 27017
+      targetPort: 27017
+  selector:
+    app: mongodb
diff --git a/src/main/java/com/cloudcomputing/todo/controller/UserController.java b/src/main/java/com/cloudcomputing/todo/controller/UserController.java
index 0e76842..8589673 100644
--- a/src/main/java/com/cloudcomputing/todo/controller/UserController.java
+++ b/src/main/java/com/cloudcomputing/todo/controller/UserController.java
@@ -12,9 +12,10 @@ import org.springframework.web.bind.annotation.*;
 import java.util.List;
 
 /*
- * 1. eval $(minikube docker-env) (docker-befehle werden dadurch in minikube ausgeführt)
+ * 1. eval $(minikube docker-env) (docker-befehle werden dadurch in minikube ausgeführt) |
+ *    windows: Invoke-Expression (minikube docker-env) // minikube muss dafür laufen auf windows, also erst 2. dann 1.
  * 2. minikube starten
- * 3. docker-compose ausführen
+ * 3. docker build -t <name> (einmal für jedes dockerfile um images zu erstellen)
  * 4.
 
  */
-- 
GitLab