From d0393b6a70bf6d1b6757581f32564633a6b8389f Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Thu, 23 Sep 2021 11:44:15 +0200 Subject: [PATCH] Refactor dev deployment. --- dev/trialytix/deployment.yaml | 182 ++++++++++++++++++ dev/trialytix/trialytix-configmap.testing.yml | 71 ------- .../trialytix-deployment.testing.yml | 49 ----- dev/trialytix/trialytix-ingress.testing.yml | 17 -- dev/trialytix/trialytix-service.testing.yml | 29 --- 5 files changed, 182 insertions(+), 166 deletions(-) create mode 100644 dev/trialytix/deployment.yaml delete mode 100644 dev/trialytix/trialytix-configmap.testing.yml delete mode 100644 dev/trialytix/trialytix-deployment.testing.yml delete mode 100644 dev/trialytix/trialytix-ingress.testing.yml delete mode 100644 dev/trialytix/trialytix-service.testing.yml diff --git a/dev/trialytix/deployment.yaml b/dev/trialytix/deployment.yaml new file mode 100644 index 0000000..5c14e27 --- /dev/null +++ b/dev/trialytix/deployment.yaml @@ -0,0 +1,182 @@ +# Deployment description +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: trialytix-deployment + namespace: dev-environment +spec: + replicas: 1 + selector: + matchLabels: + app: trialytix-dev + template: + metadata: + labels: + app: trialytix-dev + spec: + containers: + # Backend container + - name: trialytix-backend + image: packages.semapp.lan:5000/trialytix_backend:kubernetes-test + resources: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "4" + ports: + - containerPort: 5100 + name: trialytix-back + protocol: TCP + envFrom: + - configMapRef: + name: trialytix-config-backend-dev + imagePullPolicy: Always + # Frontend container + - name: trialytix-frontend + image: packages.semapp.lan:5000/trialytix_frontend:kubernetes-test + resources: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "4" + ports: + - containerPort: 8100 + name: trialytix-front + protocol: TCP + volumeMounts: + - mountPath: /etc/nginx/conf.d + readOnly: true + name: nginx-trialytix-dev-conf + envFrom: + - configMapRef: + name: trialytix-config-backend-dev + imagePullPolicy: Always + volumes: + - name: nginx-trialytix-dev-conf + configMap: + name: nginx-trialytix-dev-conf + +# Env Configuration +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: dev-environment + name: trialytix-config-backend-dev + labels: + app: trialytix-dev +data: + DJANGO_DB_ENGINE: django.db.backends.postgresql_psycopg2 + DJANGO_DB_NAME: trialytix-dev + DJANGO_DB_USER: trialytix + DJANGO_DB_PASSWORD: 3uJQ2WGvvrZFbBHX8n6eo7qheE + DJANGO_DB_HOST: dbpg11.semapp.lan + DJANGO_DB_PORT: "5432" + ALLOWED_HOSTS: '["*"]' + FRONTEND_URL: 'http://trialytix-dev.k3s.semapp.lan' + API_URL: 'http://trialytix-dev.k3s.semapp.lan' + FRONTEND_PORT: '8100' + BACKEND_PORT: '5100' + +# Nginx configuration +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: dev-environment + name: nginx-trialytix-dev-conf +data: + default.conf: | + upstream backend { + server backend-trialytix-dev:5100; + } + + server { + listen 8100; + + access_log /var/log/nginx/access.log; + charset utf-8; + client_max_body_size 1G; + + location / { + root /srv/trialytix; + index index.html index.htm; + try_files $uri /index.html =404; + } + + location ~ ^/api { + proxy_pass http://backend; + proxy_redirect off; + + 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_read_timeout 300s; + proxy_send_timeout 300s; + send_timeout 300s; + } + + error_page 404 =200 /index.html; + + add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; + + expires off; + open_file_cache off; + sendfile off; + } + +# Trialytix service +--- +apiVersion: v1 +kind: Service +metadata: + name: backend-trialytix-dev + namespace: dev-environment +spec: + selector: + app: trialytix-dev + ports: + - name: trialytix-back + port: 5100 + targetPort: trialytix-back + type: NodePort + +--- +apiVersion: v1 +kind: Service +metadata: + name: frontend-trialytix-dev + namespace: dev-environment +spec: + selector: + app: trialytix-dev + ports: + - name: trialytix-front + port: 8100 + targetPort: trialytix-front + type: NodePort + +# Ingress description +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: trialytix-ingress + namespace: dev-environment + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: trialytix-dev.k3s.semapp.lan + http: + paths: + - path: / + backend: + serviceName: frontend-trialytix-dev + servicePort: 8100 \ No newline at end of file diff --git a/dev/trialytix/trialytix-configmap.testing.yml b/dev/trialytix/trialytix-configmap.testing.yml deleted file mode 100644 index ea678d4..0000000 --- a/dev/trialytix/trialytix-configmap.testing.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - namespace: dev-environment - name: trialytix-config-backend-testing - labels: - app: trialytix -data: - DJANGO_DB_ENGINE: django.db.backends.postgresql_psycopg2 - DJANGO_DB_NAME: trialytix-testing - DJANGO_DB_USER: trialytix-testing - DJANGO_DB_PASSWORD: trialytix-testing - DJANGO_DB_HOST: postgres-lb - ALLOWED_HOSTS: '["*"]' - FRONTEND_URL: 'http://trialytix-testing.k3s.semapp.lan' - REACT_APP_PROD_API_URL: 'http://trialytix-testing.k3s.semapp.lan' - api_url: 'http://trialytix-testing.k3s.semapp.lan' - FRONTEND_PORT: '8100' - BACKEND_PORT: '5100' - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - namespace: dev-environment - name: nginx-trialytix-conf -data: - default.conf: | - upstream backend { - server backend:5100; - } - - server { - listen 8100; - - #server_name trialytix-qa.semapp.lan; - - access_log /var/log/nginx/access.log; - charset utf-8; - client_max_body_size 1G; - - location / { - root /srv/trialytix; - #add_header X-Frame-Options "SAMEORIGIN"; - index index.html index.htm; - try_files $uri /index.html =404; - } - - location ~ ^/api { - proxy_pass http://backend; - proxy_redirect off; - - 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_read_timeout 300s; - proxy_send_timeout 300s; - send_timeout 300s; - } - - error_page 404 =200 /index.html; - - add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; - - expires off; - open_file_cache off; - sendfile off; - } - diff --git a/dev/trialytix/trialytix-deployment.testing.yml b/dev/trialytix/trialytix-deployment.testing.yml deleted file mode 100644 index 7bdf07b..0000000 --- a/dev/trialytix/trialytix-deployment.testing.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: trialytix-testing - namespace: dev-environment -spec: - replicas: 1 - selector: - matchLabels: - environment: testing - app: trialytix - template: - metadata: - labels: - environment: testing - app: trialytix - spec: - containers: - # Backend container - - name: trialytix-backend - image: packages.semapp.lan:5000/trialytix_backend:kubernetes-test - ports: - - containerPort: 5100 - name: trialytix-back - protocol: TCP - envFrom: - - configMapRef: - name: trialytix-config-backend-testing - imagePullPolicy: Always - # Frontend container - - name: trialytix-frontend - image: packages.semapp.lan:5000/trialytix_frontend:kubernetes-test - ports: - - containerPort: 8100 - name: trialytix-front - protocol: TCP - volumeMounts: - - mountPath: /etc/nginx/conf.d - readOnly: true - name: nginx-trialytix-conf - envFrom: - - configMapRef: - name: trialytix-config-backend-testing - imagePullPolicy: Always - volumes: - - name: nginx-trialytix-conf - configMap: - name: nginx-trialytix-conf diff --git a/dev/trialytix/trialytix-ingress.testing.yml b/dev/trialytix/trialytix-ingress.testing.yml deleted file mode 100644 index 5b1daf3..0000000 --- a/dev/trialytix/trialytix-ingress.testing.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: networking.k8s.io/v1beta1 -kind: Ingress -metadata: - name: trialytix-ingress - namespace: dev-environment - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: trialytix-testing.k3s.semapp.lan - http: - paths: - - path: / - backend: - serviceName: frontend - servicePort: 8100 diff --git a/dev/trialytix/trialytix-service.testing.yml b/dev/trialytix/trialytix-service.testing.yml deleted file mode 100644 index 23998f0..0000000 --- a/dev/trialytix/trialytix-service.testing.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: backend - namespace: dev-environment -spec: - selector: - app: trialytix - ports: - - name: trialytix-back - port: 5100 - targetPort: trialytix-back - type: NodePort - ---- -apiVersion: v1 -kind: Service -metadata: - name: frontend - namespace: dev-environment -spec: - selector: - app: trialytix - ports: - - name: trialytix-front - port: 8100 - targetPort: trialytix-front - type: NodePort