From 951639f8e98ed83448a341573847aca7c5f42878 Mon Sep 17 00:00:00 2001
From: Paolo Brasolin <paolo.brasolin@eurac.edu>
Date: Mon, 28 Feb 2022 11:40:19 +0100
Subject: [PATCH] feat: #be sketch k8s dev/stg envs

---
 backend/kustomize/kustomization.yaml          |  8 ----
 .../overlays/dev/database.deployment.yaml     | 25 +++++++++++
 .../kustomize/overlays/dev/kustomization.yaml | 16 +++++++
 .../overlays/dev/webserver.deployment.yaml    | 15 +++++++
 .../overlays/staging/deployment.yaml          | 14 ------
 .../kustomize/overlays/staging/ingress.yaml   | 23 ----------
 .../overlays/staging/kustomization.yaml       | 45 -------------------
 .../overlays/stg/database.deployment.yaml     | 25 +++++++++++
 .../kustomize/overlays/stg/kustomization.yaml | 17 +++++++
 .../overlays/stg/webserver.deployment.yaml    | 15 +++++++
 10 files changed, 113 insertions(+), 90 deletions(-)
 delete mode 100644 backend/kustomize/kustomization.yaml
 create mode 100644 backend/kustomize/overlays/dev/database.deployment.yaml
 create mode 100644 backend/kustomize/overlays/dev/kustomization.yaml
 create mode 100644 backend/kustomize/overlays/dev/webserver.deployment.yaml
 delete mode 100644 backend/kustomize/overlays/staging/deployment.yaml
 delete mode 100644 backend/kustomize/overlays/staging/ingress.yaml
 delete mode 100644 backend/kustomize/overlays/staging/kustomization.yaml
 create mode 100644 backend/kustomize/overlays/stg/database.deployment.yaml
 create mode 100644 backend/kustomize/overlays/stg/kustomization.yaml
 create mode 100644 backend/kustomize/overlays/stg/webserver.deployment.yaml

diff --git a/backend/kustomize/kustomization.yaml b/backend/kustomize/kustomization.yaml
deleted file mode 100644
index d9e5412..0000000
--- a/backend/kustomize/kustomization.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-resources:
-  - deployment.yaml
-  - service.yaml
-  - ingress.yaml
diff --git a/backend/kustomize/overlays/dev/database.deployment.yaml b/backend/kustomize/overlays/dev/database.deployment.yaml
new file mode 100644
index 0000000..8215896
--- /dev/null
+++ b/backend/kustomize/overlays/dev/database.deployment.yaml
@@ -0,0 +1,25 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: oetzi-database-deployment
+spec:
+  template:
+    spec:
+      containers:
+        - name: pg
+          env:
+            - name: POSTGRES_DB
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: database
+            - name: POSTGRES_USER
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: username
+            - name: POSTGRES_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: username
diff --git a/backend/kustomize/overlays/dev/kustomization.yaml b/backend/kustomize/overlays/dev/kustomization.yaml
new file mode 100644
index 0000000..bfaf367
--- /dev/null
+++ b/backend/kustomize/overlays/dev/kustomization.yaml
@@ -0,0 +1,16 @@
+kind: Kustomization
+resources:
+  - ../../base
+commonLabels:
+  environment: dev
+patchesStrategicMerge:
+  - database.deployment.yaml
+  - webserver.deployment.yaml
+secretGenerator:
+  - literals:
+      - username=db_user
+      - password=db_pass
+      - database=db_name
+      - url=postgres://db_user:db_pass@oetzi-database-service/db_name
+    name: oetzi-database-credentials
+    type: Opaque
diff --git a/backend/kustomize/overlays/dev/webserver.deployment.yaml b/backend/kustomize/overlays/dev/webserver.deployment.yaml
new file mode 100644
index 0000000..f97a94a
--- /dev/null
+++ b/backend/kustomize/overlays/dev/webserver.deployment.yaml
@@ -0,0 +1,15 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: oetzi-webserver-deployment
+spec:
+  template:
+    spec:
+      containers:
+        - name: oetzi
+          env:
+            - name: DATABASE_URL
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: url
diff --git a/backend/kustomize/overlays/staging/deployment.yaml b/backend/kustomize/overlays/staging/deployment.yaml
deleted file mode 100644
index 98e2e6c..0000000
--- a/backend/kustomize/overlays/staging/deployment.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: deployment
-spec:
-  template:
-    spec:
-      containers:
-        - name: webserver
-          image: WEBSERVER
-          ports:
-            - name: http
-              containerPort: 80
diff --git a/backend/kustomize/overlays/staging/ingress.yaml b/backend/kustomize/overlays/staging/ingress.yaml
deleted file mode 100644
index fb9f3dc..0000000
--- a/backend/kustomize/overlays/staging/ingress.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
-  name: ingress
-  annotations:
-    ingress.kubernetes.io/configuration-snippet: |
-      rewrite ^(/PATH)$ $1/ permanent;
-    ingress.kubernetes.io/rewrite-target: /
-    kubernetes.io/tls-acme: "true"
-spec:
-  rules:
-    - host: HOST
-      http:
-        paths:
-          - backend:
-              serviceName: service-http
-              servicePort: 80
-            path: /PATH
-  tls:
-    - hosts:
-        - kommul-dev.eurac.edu
-      secretName: kommul-dev.eurac.edu-NAME-tls
diff --git a/backend/kustomize/overlays/staging/kustomization.yaml b/backend/kustomize/overlays/staging/kustomization.yaml
deleted file mode 100644
index e6a6cb5..0000000
--- a/backend/kustomize/overlays/staging/kustomization.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-bases:
-  - ../../base
-
-patchesStrategicMerge:
-  - deployment.yaml
-  - ingress.yaml
-
-namePrefix: merlin-platform-
-# nameSuffix: -v1
-commonLabels:
-  variant: staging
-  org: commul
-  app: merlin-webpage
-commonAnnotations:
-  note: merlin-platform-note
-namespace: kommul-dev
-
-images:
-  - name: WEBSERVER
-    newName: gitlab.inf.unibz.it:4567/commul/merlin-platform/www/master:445bc35dde4520cab61a36c793c7c5a626f43e62
-
-patchesJSON6902:
-  - target:
-      group: extensions
-      version: v1beta1
-      kind: Ingress
-      name: ingress
-    patch: |-
-      - op: replace
-        path: /metadata/annotations/ingress.kubernetes.io~1configuration-snippet
-        value: |
-          rewrite ^(/merlin)$ $1/ permanent;
-      - op: replace
-        path: /spec/rules/0/host
-        value: kommul-dev.eurac.edu
-      - op: replace
-        path: /spec/rules/0/http/paths/0/path
-        value: /merlin
-      - op: replace
-        path: /spec/tls/0/secretName
-        value: kommul-dev.eurac.edu-merlin-tls
diff --git a/backend/kustomize/overlays/stg/database.deployment.yaml b/backend/kustomize/overlays/stg/database.deployment.yaml
new file mode 100644
index 0000000..8215896
--- /dev/null
+++ b/backend/kustomize/overlays/stg/database.deployment.yaml
@@ -0,0 +1,25 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: oetzi-database-deployment
+spec:
+  template:
+    spec:
+      containers:
+        - name: pg
+          env:
+            - name: POSTGRES_DB
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: database
+            - name: POSTGRES_USER
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: username
+            - name: POSTGRES_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: username
diff --git a/backend/kustomize/overlays/stg/kustomization.yaml b/backend/kustomize/overlays/stg/kustomization.yaml
new file mode 100644
index 0000000..85bf48f
--- /dev/null
+++ b/backend/kustomize/overlays/stg/kustomization.yaml
@@ -0,0 +1,17 @@
+kind: Kustomization
+resources:
+  - ../../base
+commonLabels:
+  environment: stg
+patchesStrategicMerge:
+  - database.deployment.yaml
+  - webserver.deployment.yaml
+secretGenerator:
+  # TODO: avoid using literals
+  - literals:
+      - username=db_user
+      - password=db_pass
+      - database=db_name
+      - url=postgres://db_user:db_pass@oetzi-database-service/db_name
+    name: oetzi-database-credentials
+    type: Opaque
diff --git a/backend/kustomize/overlays/stg/webserver.deployment.yaml b/backend/kustomize/overlays/stg/webserver.deployment.yaml
new file mode 100644
index 0000000..f97a94a
--- /dev/null
+++ b/backend/kustomize/overlays/stg/webserver.deployment.yaml
@@ -0,0 +1,15 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: oetzi-webserver-deployment
+spec:
+  template:
+    spec:
+      containers:
+        - name: oetzi
+          env:
+            - name: DATABASE_URL
+              valueFrom:
+                secretKeyRef:
+                  name: oetzi-database-credentials
+                  key: url
-- 
GitLab