From d4e4c91d48e796930d2c4a296a9d270996e72ecc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Pailharey?= <rpailharey@grandlyon.com>
Date: Mon, 6 Feb 2023 15:39:12 +0100
Subject: [PATCH] doc: updated k8s

---
 k8s/README.md                                 | 13 ++-
 k8s/deployments/busybox-deployment.yml        | 11 +--
 .../database-restore-deployment.yml           | 23 +++--
 .../ecolyo-agent-client-deployment.yml        |  1 -
 .../ecolyo-agent-database-deployment.yml      | 42 +++-----
 .../ecolyo-agent-meilisearch-deployment.yml   | 44 ++++-----
 .../ecolyo-agent-server-deployment.yml        | 98 +++++++------------
 k8s/secrets/ecolyo-agent-server-config.yml    | 22 +++++
 k8s/secrets/sge-api.yml                       |  8 --
 k8s/services/backend.yml                      |  7 +-
 k8s/services/ecolyo-agent-client-service.yml  |  1 -
 .../ecolyo-agent-database-service.yml         |  3 +-
 .../ecolyo-agent-meilisearch-service.yml      |  3 +-
 13 files changed, 115 insertions(+), 161 deletions(-)
 create mode 100644 k8s/secrets/ecolyo-agent-server-config.yml
 delete mode 100644 k8s/secrets/sge-api.yml

diff --git a/k8s/README.md b/k8s/README.md
index f203343..c038213 100644
--- a/k8s/README.md
+++ b/k8s/README.md
@@ -43,12 +43,12 @@ Configuration:
 - Remplacer les valeurs de "host", "name" et "password"
 - Lancer `oc apply -f ecolyo-agent-database.yml`
 
-### Secrets des APIs SGE
+### Secrets de config pour le serveur
 
-- Depuis VS Code, créer un fichier sge-api.yml
-- Copier le contenu du fichier k8s/secrets/sge-api.yml dedans
-- Remplacer la valeur de "token"
-- Lancer `oc apply -f sge-api.yml`
+- Depuis VS Code, créer un fichier ecolyo-agent-server-config.yml
+- Copier le contenu du fichier k8s/secrets/ecolyo-agent-server-config.yml dedans
+- Remplacer les valeurs des différentes variables
+- Lancer `oc apply -f ecolyo-agent-server-config.yml`
 
 ### Secrets de Meilisearch
 
@@ -68,6 +68,9 @@ Configuration:
 | pvc-3-ns-selfdata-d01-syn-claim | 2 GiB    | BDD MySQL      |
 | pvc-4-ns-selfdata-d01-syn-claim | 1 GiB    | Dumps MySQL    |
 
+> **Attention**
+> Ceci est la configuration pour un environnement de RECETTE, pour la PRODUCTION remplacer les noms par pvc-*-ns-selfdata-**p**01-syn-claim
+
 ## Création des déploiements
 
 ### Déployer la base de données MySQL
diff --git a/k8s/deployments/busybox-deployment.yml b/k8s/deployments/busybox-deployment.yml
index 51e32c4..56e08fb 100644
--- a/k8s/deployments/busybox-deployment.yml
+++ b/k8s/deployments/busybox-deployment.yml
@@ -2,16 +2,15 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: busybox
-  namespace: ns-selfdata-d01-syn
 spec:
+  replicas: 1
   selector:
     matchLabels:
-      app: httpd
-  replicas: 1
+      app: busybox
   template:
     metadata:
       labels:
-        app: httpd
+        app: busybox
     spec:
       volumes:
         - name: data
@@ -30,10 +29,10 @@ spec:
           resources:
             limits:
               cpu: 100m
-              memory: 8Mi
+              memory: 16Mi
             requests:
               cpu: 100m
-              memory: 8Mi
+              memory: 16Mi
           volumeMounts:
             - name: data
               mountPath: /mnt/data
diff --git a/k8s/deployments/database-restore-deployment.yml b/k8s/deployments/database-restore-deployment.yml
index 48e7241..ee076b2 100644
--- a/k8s/deployments/database-restore-deployment.yml
+++ b/k8s/deployments/database-restore-deployment.yml
@@ -2,16 +2,15 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: database-restore
-  namespace: ns-selfdata-d01-syn
 spec:
+  replicas: 0
   selector:
     matchLabels:
-      app: httpd
-  replicas: 0
+      app: database-restore
   template:
     metadata:
       labels:
-        app: httpd
+        app: database-restore
     spec:
       volumes:
         - name: pvc-4-ns-selfdata-d01-syn-claim
@@ -36,16 +35,16 @@ spec:
                 secretKeyRef:
                   name: ecolyo-agent-database
                   key: host
-          - resources:
-              limits:
-                cpu: 100m
-                memory: 256Mi
-              requests:
-                cpu: 100m
-                memory: 256Mi
+          resources:
+            limits:
+              cpu: 100m
+              memory: 256Mi
+            requests:
+              cpu: 100m
+              memory: 256Mi
           volumeMounts:
             - name: pvc-4-ns-selfdata-d01-syn-claim
               mountPath: /dump
           terminationMessagePath: /dev/termination-log
           terminationMessagePolicy: File
-          imagePullPolicy: IfNotPresent
\ No newline at end of file
+          imagePullPolicy: IfNotPresent
diff --git a/k8s/deployments/ecolyo-agent-client-deployment.yml b/k8s/deployments/ecolyo-agent-client-deployment.yml
index dd38251..6863fa4 100644
--- a/k8s/deployments/ecolyo-agent-client-deployment.yml
+++ b/k8s/deployments/ecolyo-agent-client-deployment.yml
@@ -3,7 +3,6 @@ kind: Deployment
 apiVersion: apps/v1
 metadata:
   name: ecolyo-agent-client
-  namespace: ns-selfdata-d01-syn
 spec:
   replicas: 1
   selector:
diff --git a/k8s/deployments/ecolyo-agent-database-deployment.yml b/k8s/deployments/ecolyo-agent-database-deployment.yml
index c3f309d..9ff2fb2 100644
--- a/k8s/deployments/ecolyo-agent-database-deployment.yml
+++ b/k8s/deployments/ecolyo-agent-database-deployment.yml
@@ -1,36 +1,25 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.26.1 (a9d05d509)
-  creationTimestamp: null
-  labels:
-    io.kompose.service: ecolyo-agent-database
   name: ecolyo-agent-database
 spec:
   replicas: 1
   selector:
     matchLabels:
-      io.kompose.service: ecolyo-agent-database
-  strategy:
-    type: Recreate
+      app: ecolyo-agent-database
   template:
     metadata:
-      annotations:
-        kompose.cmd: kompose convert
-        kompose.version: 1.26.1 (a9d05d509)
-      creationTimestamp: null
       labels:
-        io.kompose.network/ecolyo-agent-network: "true"
-        io.kompose.service: ecolyo-agent-database
+        app: ecolyo-agent-database
     spec:
       volumes:
         - name: pvc-3-ns-selfdata-d01-syn-claim
           persistentVolumeClaim:
             claimName: pvc-3-ns-selfdata-d01-syn-claim
       containers:
-        env:
+        - name: ecolyo-agent-database
+          image: mysql:8
+          env:
             - name: MYSQL_DATABASE
               valueFrom:
                 secretKeyRef:
@@ -41,22 +30,15 @@ spec:
                 secretKeyRef:
                   name: ecolyo-agent-database
                   key: password
-          image: mysql:5
-          livenessProbe:
-            exec:
-              command:
-                - mysqladmin ping -h 127.0.0.1 -u root --password=$MYSQL_ROOT_PASSWORD
-            failureThreshold: 60
-            periodSeconds: 5
-            timeoutSeconds: 10
-          name: ecolyo-agent-database
           ports:
             - containerPort: 3306
           volumeMounts:
             - name: pvc-3-ns-selfdata-d01-syn-claim
               mountPath: /var/lib/mysql
-          resources: {}
-          
-      restartPolicy: Always
-      
-status: {}
+          resources:
+            limits:
+              cpu: 100m
+              memory: 512Mi
+            requests:
+              cpu: 100m
+              memory: 512Mi
diff --git a/k8s/deployments/ecolyo-agent-meilisearch-deployment.yml b/k8s/deployments/ecolyo-agent-meilisearch-deployment.yml
index 7647963..5631364 100644
--- a/k8s/deployments/ecolyo-agent-meilisearch-deployment.yml
+++ b/k8s/deployments/ecolyo-agent-meilisearch-deployment.yml
@@ -1,38 +1,30 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.26.1 (a9d05d509)
-  creationTimestamp: null
-  labels:
-    io.kompose.service: ecolyo-agent-meilisearch
   name: ecolyo-agent-meilisearch
 spec:
   replicas: 1
   selector:
     matchLabels:
-      io.kompose.service: ecolyo-agent-meilisearch
-  strategy:
-    type: Recreate
+      app: ecolyo-agent-meilisearch
   template:
     metadata:
-      annotations:
-        kompose.cmd: kompose convert
-        kompose.version: 1.26.1 (a9d05d509)
-      creationTimestamp: null
       labels:
-        io.kompose.network/ecolyo-agent-network: "true"
-        io.kompose.service: ecolyo-agent-meilisearch
+        app: ecolyo-agent-meilisearch
     spec:
+      volumes:
+        - name: pvc-1-ns-selfdata-d01-syn-claim
+          persistentVolumeClaim:
+            claimName: pvc-1-ns-selfdata-d01-syn-claim
       containers:
-        - env:
+        - name: ecolyo-agent-meilisearch
+          image: getmeili/meilisearch:v0.28.1
+          env:
             - name: MEILI_MASTER_KEY
               valueFrom:
                 secretKeyRef:
                   name: meilisearch
                   key: master-key
-          image: getmeili/meilisearch:v0.28.1
           livenessProbe:
             exec:
               command:
@@ -42,17 +34,15 @@ spec:
             failureThreshold: 3
             periodSeconds: 10
             timeoutSeconds: 10
-          name: ecolyo-agent-meilisearch
           ports:
             - containerPort: 7700
-          resources: {}
+          resources:
+            limits:
+              cpu: 100m
+              memory: 256Mi
+            requests:
+              cpu: 100m
+              memory: 256Mi
           volumeMounts:
             - mountPath: /meili_data
-              name: pvc-1-ns-selfdata-d01-syn-claim
-      restartPolicy: Always
-      volumes:
-        - name: pvc-1-ns-selfdata-d01-syn-claim
-          persistentVolumeClaim:
-            claimName: pvc-1-ns-selfdata-d01-syn-claim
-     
-status: {}
+              name: pvc-1-ns-selfdata-d01-syn-claim
\ No newline at end of file
diff --git a/k8s/deployments/ecolyo-agent-server-deployment.yml b/k8s/deployments/ecolyo-agent-server-deployment.yml
index 5d976e3..9345795 100644
--- a/k8s/deployments/ecolyo-agent-server-deployment.yml
+++ b/k8s/deployments/ecolyo-agent-server-deployment.yml
@@ -1,89 +1,61 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  annotations:
-    kompose.cmd: kompose convert
-    kompose.version: 1.26.1 (a9d05d509)
-  creationTimestamp: null
-  labels:
-    io.kompose.service: ecolyo-agent-server
   name: ecolyo-agent-server
 spec:
   replicas: 1
   selector:
     matchLabels:
-      io.kompose.service: ecolyo-agent-server
-  strategy:
-    type: Recreate
+      app: ecolyo-agent-server
   template:
     metadata:
-      annotations:
-        kompose.cmd: kompose convert
-        kompose.version: 1.26.1 (a9d05d509)
-      creationTimestamp: null
       labels:
-        io.kompose.network/ecolyo-agent-network: "true"
-        io.kompose.service: ecolyo-agent-server
+        app: ecolyo-agent-server
     spec:
       volumes:
         - name: pvc-2-ns-selfdata-d01-syn-claim
           persistentVolumeClaim:
             claimName: pvc-2-ns-selfdata-d01-syn-claim
       containers:
-        - env:
-          - name: ADMIN_ROLE
-          - name: AUTH_URL
-          - name: CLIENT_ID
-          - name: CLIENT_SECRET
-          - name: HOSTNAME
-          - name: DEBUG_MODE
-          - name: HTTPS_PORT
-          - name: IMAGE_FOLDER
-          - name: MOCK_OAUTH2
-          - name: REDIRECT_URL
-          - name: TOKEN_URL
-          - name: USERINFO_URL
-          - name: MEILI_HOST
-            value: 'http://ecolyo-agent-meilisearch-service:7700'
-          - name: DATABASE_HOST
-            valueFrom:
-              secretKeyRef:
-                name: ecolyo-agent-database
-                key: host
-          - name: DATABASE_NAME
-            valueFrom:
-              secretKeyRef:
-                name: ecolyo-agent-database
-                key: name
-          - name: DATABASE_USER
-            value: root
-          - name: DATABASE_PASSWORD
-            valueFrom:
-              secretKeyRef:
-                name: ecolyo-agent-database
-                key: password
-          - name: SGE_API_TOKEN
-            valueFrom:
-              secretKeyRef:
-                name: sge-api
-                key: token
-          - name: MEILI_MASTER_KEY
-            valueFrom:
-              secretKeyRef:
-                name: meilisearch
-                key: master-key
-          image: registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server:master
+        - name: ecolyo-agent-server
+          image: registry.forge.grandlyon.com/web-et-numerique/factory/llle_project/backoffice-server:master
+          env:
+            - name: DATABASE_HOST
+              valueFrom:
+                secretKeyRef:
+                  name: ecolyo-agent-database
+                  key: host
+            - name: DATABASE_NAME
+              valueFrom:
+                secretKeyRef:
+                  name: ecolyo-agent-database
+                  key: name
+            - name: DATABASE_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: ecolyo-agent-database
+                  key: password
+            - name: MEILI_MASTER_KEY
+              valueFrom:
+                secretKeyRef:
+                  name: meilisearch
+                  key: master-key
+          envFrom:
+            - secretRef:
+                name: ecolyo-agent-server-config
           imagePullPolicy: Always
           volumeMounts:
             - name: pvc-2-ns-selfdata-d01-syn-claim
               mountPath: /app/mnt
-          name: ecolyo-agent-server
           ports:
             - containerPort: 1443
             - containerPort: 8090
-          resources: {}    
+          resources:
+            limits:
+              cpu: 100m
+              memory: 64Mi
+            requests:
+              cpu: 100m
+              memory: 64Mi   
       imagePullSecrets:
         - name: llle-project
-      restartPolicy: Always
-
-status: {}
diff --git a/k8s/secrets/ecolyo-agent-server-config.yml b/k8s/secrets/ecolyo-agent-server-config.yml
new file mode 100644
index 0000000..98869c9
--- /dev/null
+++ b/k8s/secrets/ecolyo-agent-server-config.yml
@@ -0,0 +1,22 @@
+kind: Secret
+apiVersion: v1
+metadata:
+  name: ecolyo-agent-server-config
+stringData:
+  # Replace all values between <...>
+  ADMIN_ROLE: <Admin group created in FIM>
+  AUTH_URL: <OAuth2 authentication URL>
+  CLIENT_ID: <OAuth2 client ID>
+  CLIENT_SECRET: <OAuth2 client secret>
+  DATABASE_USER: root
+  DEBUG_MODE: <true/false>
+  HOSTNAME: <ecolyo-agent(-rec).apps.grandlyon.com>
+  HTTPS_PORT: 1143
+  IMAGE_FOLDER: mnt/image-lib
+  MEILI_HOST: http://ecolyo-agent-meilisearch-service:7700
+  MOCK_OAUTH2: false
+  REDIRECT_URL: <HOSTNAME/OAuth2Callback>
+  SGE_API_TOKEN: <YOUR TOKEN>
+  TOKEN_URL: <OAuth2 token URL>
+  USERINFO_URL: <OAuth2 user info URL>
+type: Opaque
\ No newline at end of file
diff --git a/k8s/secrets/sge-api.yml b/k8s/secrets/sge-api.yml
deleted file mode 100644
index 6383ea0..0000000
--- a/k8s/secrets/sge-api.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
-  name: sge-api
-  namespace: ns-selfdata-d01-syn
-stringData:
-  token: YOUR_TOKEN
-type: Opaque
\ No newline at end of file
diff --git a/k8s/services/backend.yml b/k8s/services/backend.yml
index 7994c84..7ef154d 100644
--- a/k8s/services/backend.yml
+++ b/k8s/services/backend.yml
@@ -2,16 +2,15 @@ apiVersion: v1
 kind: Service
 metadata:
   name: backend
-  namespace: ns-selfdata-d01-syn
 spec:
   selector:
-    io.kompose.service: ecolyo-agent-server
+    app: ecolyo-agent-server
   ports:
-    - name: '1443'
+    - name: 'https-port'
       protocol: TCP
       port: 1443
       targetPort: 1443
-    - name: '8090'
+    - name: 'mock-oauth2'
       protocol: TCP
       port: 8090
       targetPort: 8090
diff --git a/k8s/services/ecolyo-agent-client-service.yml b/k8s/services/ecolyo-agent-client-service.yml
index 072f5a2..f62801e 100644
--- a/k8s/services/ecolyo-agent-client-service.yml
+++ b/k8s/services/ecolyo-agent-client-service.yml
@@ -2,7 +2,6 @@ apiVersion: v1
 kind: Service
 metadata:
   name: ecolyo-agent-client-service
-  namespace: ns-selfdata-d01-syn
 spec:
   selector:
     app: ecolyo-agent-client
diff --git a/k8s/services/ecolyo-agent-database-service.yml b/k8s/services/ecolyo-agent-database-service.yml
index feb977d..233c4a3 100644
--- a/k8s/services/ecolyo-agent-database-service.yml
+++ b/k8s/services/ecolyo-agent-database-service.yml
@@ -2,10 +2,9 @@ apiVersion: v1
 kind: Service
 metadata:
   name: ecolyo-agent-database-service
-  namespace: ns-selfdata-d01-syn
 spec:
   selector:
-    io.kompose.service: ecolyo-agent-database
+    app: ecolyo-agent-database
   ports:
     - protocol: TCP
       port: 3306
diff --git a/k8s/services/ecolyo-agent-meilisearch-service.yml b/k8s/services/ecolyo-agent-meilisearch-service.yml
index 2f2afd5..49f0575 100644
--- a/k8s/services/ecolyo-agent-meilisearch-service.yml
+++ b/k8s/services/ecolyo-agent-meilisearch-service.yml
@@ -2,10 +2,9 @@ apiVersion: v1
 kind: Service
 metadata:
   name: ecolyo-agent-meilisearch-service
-  namespace: ns-selfdata-d01-syn
 spec:
   selector:
-    io.kompose.service: ecolyo-agent-meilisearch
+    app: ecolyo-agent-meilisearch
   ports:
     - protocol: TCP
       port: 7700
-- 
GitLab