From 62dc211ea4088ff9ea4a476de8a8eea736f013be Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Mon, 10 Jul 2023 18:03:28 -0500 Subject: [PATCH] added app data presistent volume to k8s --- deployments/postgres_db-deployment.yaml | 87 ++++++++++++++----- deployments/spring-app-deployment-v1.yaml | 10 +-- deployments/spring-app-deployment-v2.yaml | 12 +-- pom.xml | 16 ++-- src/main/java/net/codejava/AppController.java | 12 +-- src/main/java/net/codejava/SalesDAO.java | 10 +-- src/main/resources/templates/index.html | 4 +- 7 files changed, 99 insertions(+), 52 deletions(-) diff --git a/deployments/postgres_db-deployment.yaml b/deployments/postgres_db-deployment.yaml index 71f9ecf..50183b9 100644 --- a/deployments/postgres_db-deployment.yaml +++ b/deployments/postgres_db-deployment.yaml @@ -1,3 +1,57 @@ +apiVersion: v1 +kind: Service +metadata: + name: postgres-database-service +spec: + selector: + app: postgres-database + ports: + - name: postgres + port: 5432 + targetPort: 5432 + type: ClusterIP +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: postgres-pv-volume + labels: + type: local + app: postgres-database +spec: + storageClassName: manual + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data" +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: postgres-pv-claim + labels: + app: postgres-database +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgres-config + labels: + app: postgres +data: + POSTGRES_DB: postgresdb + POSTGRES_USER: postgresadmin + POSTGRES_PASSWORD: admin123 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -14,28 +68,19 @@ spec: spec: containers: - name: postgres-database-container - image: postgres:latest + image: postgres:10.4 + imagePullPolicy: "IfNotPresent" ports: - containerPort: 5432 - env: - - name: POSTGRES_PASSWORD - value: postgres + envFrom: + - configMapRef: + name: postgres-config volumeMounts: - - name: postgres-volume - mountPath: /var/lib/postgresql/data + - mountPath: /var/lib/postgresql/data + name: postgredb volumes: - - name: postgres-volume - emptyDir: {} ---- -apiVersion: v1 -kind: Service -metadata: - name: postgres-database-service -spec: - selector: - app: postgres-database - ports: - - name: postgres - port: 5432 - targetPort: 5432 - type: ClusterIP \ No newline at end of file + - name: postgredb + # persistentVolumeClaim: + # claimName: postgres-pv-claim + emptyDir: + sizeLimit: "500Mi" \ No newline at end of file diff --git a/deployments/spring-app-deployment-v1.yaml b/deployments/spring-app-deployment-v1.yaml index 6c2fc75..7b80304 100644 --- a/deployments/spring-app-deployment-v1.yaml +++ b/deployments/spring-app-deployment-v1.yaml @@ -15,16 +15,16 @@ spec: spec: containers: - name: spring-app-container - image: ghcr.io/octodemo/java-springboot-demo:107 + image: ghcr.io/octodemo/java-springboot-demo:999 ports: - containerPort: 8086 env: - name: DB_URL - value: jdbc:postgresql://database:5432/postgres - - name: POSTGRES_USER - value: postgres + value: jdbc:postgresql://postgres-database-service:5432/postgres + - name: USER_NAME + value: postgresadmin - name: PASSWORD - value: postgres + value: admin123 - name: CHANGELOG_VERSION value: changelog_version-3.3.xml imagePullSecrets: diff --git a/deployments/spring-app-deployment-v2.yaml b/deployments/spring-app-deployment-v2.yaml index 5f3810b..7031dc8 100644 --- a/deployments/spring-app-deployment-v2.yaml +++ b/deployments/spring-app-deployment-v2.yaml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: spring-app-deployment-v2 spec: - replicas: 6 + replicas: 3 selector: matchLabels: app: spring-app @@ -15,16 +15,16 @@ spec: spec: containers: - name: spring-app-container - image: ghcr.io/octodemo/java-springboot-demo:108 + image: ghcr.io/octodemo/java-springboot-demo:1000 ports: - containerPort: 8086 env: - name: DB_URL - value: jdbc:postgresql://database:5432/postgres - - name: POSTGRES_USER - value: postgres + value: jdbc:postgresql://postgres-database-service:5432/postgres + - name: USER_NAME + value: postgresadmin - name: PASSWORD - value: postgres + value: admin123 - name: CHANGELOG_VERSION value: changelog_version-3.3.xml imagePullSecrets: diff --git a/pom.xml b/pom.xml index a4f868e..649965a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ net.codejava salesmanager - 0.0.7-SNAPSHOT + 0.0.8-SNAPSHOT demo Demo project for Spring Boot @@ -65,10 +65,11 @@ + org.postgresql postgresql - 42.5.4 + 42.6.0 @@ -113,11 +114,12 @@ - - org.postgresql - postgresql - 42.5.4 - + + + org.postgresql + postgresql + 42.6.0 + diff --git a/src/main/java/net/codejava/AppController.java b/src/main/java/net/codejava/AppController.java index 3eabbb3..469b6b5 100755 --- a/src/main/java/net/codejava/AppController.java +++ b/src/main/java/net/codejava/AppController.java @@ -64,10 +64,10 @@ public String delete(@PathVariable(name = "id") int id) { return "redirect:/"; } - // // method to clear the amount column in the database given an id - // @RequestMapping("/clear/{id}") - // public String clearAmount(@PathVariable(name = "id") int id) { - // dao.clearAmount(id); - // return "redirect:/"; - // } + // method to clear the amount column in the database given an id + @RequestMapping("/clear/{id}") + public String clearAmount(@PathVariable(name = "id") int id) { + dao.clearAmount(id); + return "redirect:/"; + } } diff --git a/src/main/java/net/codejava/SalesDAO.java b/src/main/java/net/codejava/SalesDAO.java index 35145fc..1cf17f8 100755 --- a/src/main/java/net/codejava/SalesDAO.java +++ b/src/main/java/net/codejava/SalesDAO.java @@ -51,9 +51,9 @@ public void delete(int id) { jdbcTemplate.update(sql, id); } - // // method to clear the amount column in the database given an id - // public void clearAmount(int id) { - // String sql = "UPDATE SALES SET amount=0 WHERE id=?"; - // jdbcTemplate.update(sql, id); - // } + // method to clear the amount column in the database given an id + public void clearAmount(int id) { + String sql = "UPDATE SALES SET amount=0 WHERE id=?"; + jdbcTemplate.update(sql, id); + } } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index afac167..4dbceca 100755 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -31,8 +31,8 @@

Sales Records

    Delete - - +     + Clear