diff --git a/k8s/README.md b/k8s/README.md index f2033439db483662bff170d6629e3b7b49e67cc7..c03821314647eb40dcc33443ef9aad459642339f 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 51e32c4c440e9066dcb72295c967fef933f5f2f9..56e08fbdd617f8a0c6ecbbc3cfcb1aff65334818 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 48e7241e9937236779ead8a32fbc825e04f7d0c8..ee076b2c34fac613fff36ae021ec0c8b23e3f368 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 dd38251b78c19bb6f3d3116334efdc0692b568da..6863fa4d511f687630315ccbf4a36d70d02fc4a0 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 c3f309d8eb11d705a865b6c7d9fad24785311560..9ff2fb25a2568b3589d1da94280e8c9a76d93e46 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 764796348f96c89f59132c530d7bd796fa445522..56313647c69abf1358dafe7d00a318ae36b45768 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 5d976e30e9ca39ca57c724c1b25e0cd7422e5455..9345795fea26d13688fc7fa77c85f43a82c84f06 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 0000000000000000000000000000000000000000..98869c968eec617e36fc11ca18283d05eca80554 --- /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 6383ea078d1c6c6c4ce053cfdf9d7c4bc55a349a..0000000000000000000000000000000000000000 --- 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 7994c84d94b1067b5b4a1811c1c82d6c5bd44c48..7ef154d5f26deba00595bd6c58c5c66c0a6f8532 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 072f5a2c84083d10d39df0fad7548f30f57eed5f..f62801e2e5d6c21b726677ef8ec557668d294477 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 feb977d3297fb571fef809bdc7cb09f42302e8ba..233c4a38cabb7620e8d36a2b0f71c95f8bb345da 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 2f2afd58ec88fc225ce491780c1da4d23b224b53..49f057590877a60b5f208a54b077867582dfc55e 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