From 20888e900a7902279932f2b63b72562139e378be Mon Sep 17 00:00:00 2001 From: Abelangel <abelange.burgosdi@hes-so.ch> Date: Sat, 5 Apr 2025 17:53:52 +0200 Subject: [PATCH] premiere version deploiement --- microservices/buildMK.sh | 9 + minikube/cors.conf | 14 -- ...oiement(2).yml => deploiement-complet.yml} | 149 +++++++++-- minikube/deploiement.yml | 148 ----------- minikube/k8s-auth.yaml | 31 --- minikube/k8s-postgres.yaml | 55 ---- minikube/nginx-configmap.yml | 47 ++++ minikube/nginx.conf | 235 ------------------ 8 files changed, 182 insertions(+), 506 deletions(-) create mode 100755 microservices/buildMK.sh delete mode 100644 minikube/cors.conf rename minikube/{deploiement(2).yml => deploiement-complet.yml} (58%) delete mode 100644 minikube/deploiement.yml delete mode 100644 minikube/k8s-auth.yaml delete mode 100644 minikube/k8s-postgres.yaml create mode 100644 minikube/nginx-configmap.yml delete mode 100644 minikube/nginx.conf diff --git a/microservices/buildMK.sh b/microservices/buildMK.sh new file mode 100755 index 0000000..dcdcab5 --- /dev/null +++ b/microservices/buildMK.sh @@ -0,0 +1,9 @@ +eval $(minikube docker-env) +docker images + +docker build -t service-frontend ./frontend +docker build -t service-auth ./auth +docker build -t service-correction-qcm ./correction_qcm +docker build -t service-realise-qcm ./realise_qcm +docker build -t service-search-qcm ./search_qcm +docker build -t service-creation-qcm ./creation_qcm diff --git a/minikube/cors.conf b/minikube/cors.conf deleted file mode 100644 index b0c36cc..0000000 --- a/minikube/cors.conf +++ /dev/null @@ -1,14 +0,0 @@ -add_header 'Access-Control-Allow-Origin' '*' always; -add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always; -add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type' always; -add_header 'Access-Control-Max-Age' 1728000 always; - -if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always; - add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type' always; - add_header 'Access-Control-Max-Age' 1728000 always; - add_header 'Content-Length' 0; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - return 204; -} diff --git a/minikube/deploiement(2).yml b/minikube/deploiement-complet.yml similarity index 58% rename from minikube/deploiement(2).yml rename to minikube/deploiement-complet.yml index fc2b789..63538a2 100644 --- a/minikube/deploiement(2).yml +++ b/minikube/deploiement-complet.yml @@ -1,4 +1,4 @@ -# PVC pour PostgreSQL +# PostgreSQL apiVersion: v1 kind: PersistentVolumeClaim metadata: @@ -10,7 +10,6 @@ spec: requests: storage: 1Gi --- -# Service PostgreSQL apiVersion: v1 kind: Service metadata: @@ -22,7 +21,6 @@ spec: - port: 5432 targetPort: 5432 --- -# Déploiement PostgreSQL apiVersion: apps/v1 kind: Deployment metadata: @@ -56,8 +54,8 @@ spec: - name: postgres-storage persistentVolumeClaim: claimName: postgres-pvc + --- -# Déploiement service-auth apiVersion: apps/v1 kind: Deployment metadata: @@ -74,26 +72,10 @@ spec: spec: containers: - name: service-auth + imagePullPolicy: Never image: service-auth ports: - containerPort: 8002 - env: - - name: POSTGRES_USER - value: "user" - - name: POSTGRES_PASSWORD - value: "super" - - name: POSTGRES_DB - value: "dbqcm" - - name: DATABASE_URL - value: "postgresql://user:super@postgres:5432/dbqcm" - - name: API_PORT - value: "30992" - - name: SECRET_JWT - value: "JECROISQUECEMESSAGEESTSECRET" - - name: CLIENTID - value: "f8b0e14f7eee1a718ad0b3f32c52fe34813d56e9052976f076e039d006e24000" - - name: CLIENTSECRET - value: "gloas-1451c5f206cb04b6b300e6dcbf19a01f1a44bff5e8562741a7efd0ec27eb0855" --- apiVersion: v1 kind: Service @@ -106,8 +88,29 @@ spec: - port: 8002 targetPort: 8002 type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: service-correction-qcm +spec: + replicas: 1 + selector: + matchLabels: + app: service-correction-qcm + template: + metadata: + labels: + app: service-correction-qcm + spec: + containers: + - name: service-correction-qcm + imagePullPolicy: Never + image: service-correction-qcm + ports: + - containerPort: 8003 --- -# Services restants (sans déploiements) apiVersion: v1 kind: Service metadata: @@ -119,6 +122,28 @@ spec: - port: 8003 targetPort: 8003 type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: service-creation-qcm +spec: + replicas: 1 + selector: + matchLabels: + app: service-creation-qcm + template: + metadata: + labels: + app: service-creation-qcm + spec: + containers: + - name: service-creation-qcm + imagePullPolicy: Never + image: service-creation-qcm + ports: + - containerPort: 8004 --- apiVersion: v1 kind: Service @@ -131,6 +156,28 @@ spec: - port: 8004 targetPort: 8004 type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: service-realise-qcm +spec: + replicas: 1 + selector: + matchLabels: + app: service-realise-qcm + template: + metadata: + labels: + app: service-realise-qcm + spec: + containers: + - name: service-realise-qcm + imagePullPolicy: Never + image: service-realise-qcm + ports: + - containerPort: 8005 --- apiVersion: v1 kind: Service @@ -143,6 +190,28 @@ spec: - port: 8005 targetPort: 8005 type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: service-search-qcm +spec: + replicas: 1 + selector: + matchLabels: + app: service-search-qcm + template: + metadata: + labels: + app: service-search-qcm + spec: + containers: + - name: service-search-qcm + imagePullPolicy: Never + image: service-search-qcm + ports: + - containerPort: 8006 --- apiVersion: v1 kind: Service @@ -155,8 +224,42 @@ spec: - port: 8006 targetPort: 8006 type: ClusterIP + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: service-frontend +spec: + replicas: 1 + selector: + matchLabels: + app: service-frontend + template: + metadata: + labels: + app: service-frontend + spec: + containers: + - name: service-frontend + imagePullPolicy: Never + image: service-frontend + ports: + - containerPort: 4200 +--- +apiVersion: v1 +kind: Service +metadata: + name: service-frontend +spec: + selector: + app: service-frontend + ports: + - port: 4200 + targetPort: 4200 + type: ClusterIP + --- -# Déploiement nginx apiVersion: apps/v1 kind: Deployment metadata: diff --git a/minikube/deploiement.yml b/minikube/deploiement.yml deleted file mode 100644 index 7afb3c0..0000000 --- a/minikube/deploiement.yml +++ /dev/null @@ -1,148 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: postgres-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: postgres -spec: - selector: - app: postgres - ports: - - port: 5432 - targetPort: 5432 ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: postgres -spec: - replicas: 1 - selector: - matchLabels: - app: postgres - template: - metadata: - labels: - app: postgres - spec: - containers: - - name: postgres - image: postgres:latest - ports: - - containerPort: 5432 - env: - - name: POSTGRES_USER - value: "user" - - name: POSTGRES_PASSWORD - value: "super" - - name: POSTGRES_DB - value: "dbqcm" - volumeMounts: - - mountPath: /var/lib/postgresql/data - name: postgres-storage - volumes: - - name: postgres-storage - persistentVolumeClaim: - claimName: postgres-pvc ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: service-auth -spec: - replicas: 1 - selector: - matchLabels: - app: service-auth - template: - metadata: - labels: - app: service-auth - spec: - containers: - - name: service-auth - image: service-auth - ports: - - containerPort: 8002 - env: - - name: POSTGRES_USER - value: "user" - - name: POSTGRES_PASSWORD - value: "super" - - name: POSTGRES_DB - value: "dbqcm" - - name: DATABASE_URL - value: "postgresql://user:super@postgres:5432/dbqcm" ---- -apiVersion: v1 -kind: Service -metadata: - name: service-auth -spec: - selector: - app: service-auth - ports: - - port: 8002 - targetPort: 8002 - type: ClusterIP - ---- -apiVersion: v1 -kind: Service -metadata: - name: service-correction-qcm -spec: - selector: - app: service-correction-qcm - ports: - - port: 8003 - targetPort: 8003 - type: ClusterIP ---- -apiVersion: v1 -kind: Service -metadata: - name: service-creation-qcm -spec: - selector: - app: service-creation-qcm - ports: - - port: 8004 - targetPort: 8004 - type: ClusterIP - ---- -apiVersion: v1 -kind: Service -metadata: - name: service-realise-qcm -spec: - selector: - app: service-realise-qcm - ports: - - port: 8005 - targetPort: 8005 - type: ClusterIP - - ---- -apiVersion: v1 -kind: Service -metadata: - name: service-search-qcm -spec: - selector: - app: service-search-qcm - ports: - - port: 8006 - targetPort: 8006 - type: ClusterIP diff --git a/minikube/k8s-auth.yaml b/minikube/k8s-auth.yaml deleted file mode 100644 index 14eaec5..0000000 --- a/minikube/k8s-auth.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: auth -spec: - replicas: 1 - selector: - matchLabels: - app: auth - template: - metadata: - labels: - app: auth - spec: - containers: - - name: auth - image: service-auth - ports: - - containerPort: 8002 ---- -apiVersion: v1 -kind: Service -metadata: - name: auth -spec: - selector: - app: auth - ports: - - port: 8002 - targetPort: 8002 - type: ClusterIP \ No newline at end of file diff --git a/minikube/k8s-postgres.yaml b/minikube/k8s-postgres.yaml deleted file mode 100644 index 172b726..0000000 --- a/minikube/k8s-postgres.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: postgres-pvc -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: postgres -spec: - selector: - app: postgres - ports: - - port: 5432 - targetPort: 5432 ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: postgres -spec: - replicas: 1 - selector: - matchLabels: - app: postgres - template: - metadata: - labels: - app: postgres - spec: - containers: - - name: postgres - image: postgres:latest - ports: - - containerPort: 5432 - env: - - name: POSTGRES_USER - value: "user" - - name: POSTGRES_PASSWORD - value: "super" - - name: POSTGRES_DB - value: "dbqcm" - volumeMounts: - - mountPath: /var/lib/postgresql/data - name: postgres-storage - volumes: - - name: postgres-storage - persistentVolumeClaim: - claimName: postgres-pvc \ No newline at end of file diff --git a/minikube/nginx-configmap.yml b/minikube/nginx-configmap.yml new file mode 100644 index 0000000..407871f --- /dev/null +++ b/minikube/nginx-configmap.yml @@ -0,0 +1,47 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-conf +data: + nginx.conf: | + events { + worker_connections 1024; + } + http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + server { + listen 80; + location /auth { + proxy_pass http://service-auth:8002; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location /correction { + proxy_pass http://service-correction-qcm:8003; + } + location /creation { + proxy_pass http://service-creation-qcm:8004; + } + location /realise { + proxy_pass http://service-realise-qcm:8005; + } + location /search { + proxy_pass http://service-search-qcm:8006; + } + } + } +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: cors-conf +data: + cors.conf: | + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; + add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; \ No newline at end of file diff --git a/minikube/nginx.conf b/minikube/nginx.conf deleted file mode 100644 index 4689b48..0000000 --- a/minikube/nginx.conf +++ /dev/null @@ -1,235 +0,0 @@ -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - - sendfile on; - keepalive_timeout 65; - - server { - listen 30992; - - location /auth/jwt { - proxy_pass http://service-auth:30992; - - } - - - - location /reponseCorrect/ { - proxy_pass http://service-correction-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /responses_QCM/ { - proxy_pass http://service-correction-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /feedback { - proxy_pass http://service-correction-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /results { - proxy_pass http://service-correction-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /QCM { - proxy_pass http://service-creation-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /QCM/ { - proxy_pass http://service-creation-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /numeric_question { - proxy_pass http://service-creation-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - - - location /numeric_response { - proxy_pass http://service-realise-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /response { - proxy_pass http://service-realise-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /terminer { - proxy_pass http://service-realise-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /question { - proxy_pass http://service-realise-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /realised_QCMs { - proxy_pass http://service-search-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - - location /examen_QCM { - proxy_pass http://service-search-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /created_QCMs { - proxy_pass http://service-search-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /infos_QCM/ { - proxy_pass http://service-search-qcm:30992; - proxy_pass_request_headers on; - proxy_set_header Authorization $http_authorization; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - include cors.conf; -} - - - location /true_false_question { - proxy_pass http://service-creation-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - location /join { - proxy_pass http://service-realise-qcm:30992; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass_request_headers on; -proxy_set_header Authorization $http_authorization; - - include cors.conf; - } - - - - - } - - -} -- GitLab