From a9096ed182a5c2a37a03fcce26f63549df5c3be8 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Wed, 22 Sep 2021 16:34:59 +0200 Subject: [PATCH 01/15] Add qa semcust yaml --- qa/semcust/deployment.yaml | 249 +++++++++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 qa/semcust/deployment.yaml diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml new file mode 100644 index 0000000..b167346 --- /dev/null +++ b/qa/semcust/deployment.yaml @@ -0,0 +1,249 @@ +# Deployment description +apiVersion: apps/v1 +kind: Deployment +metadata: + name: semcust-deployment + namespace: qa-environment + labels: + app: semcust-qa +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: semcust-qa + template: + metadata: + labels: + app: semcust-qa + spec: + # securityContext: + # runAsUser: 1000 + # runAsGroup: 1000 + # fsGroup: 1000 + containers: + - name: semcust-frontend + image: packages.semapp.lan:5000/semcust_frontend:develop + resources: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "4" + ports: + - containerPort: 8200 + name: semcust-http + protocol: TCP + volumeMounts: + - mountPath: /etc/nginx/conf.d + readOnly: true + name: nginx-conf + imagePullPolicy: Always + - name: semcust-backend + image: packages.semapp.lan:5000/semcust_backend:develop + resources: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "4" + ports: + - containerPort: 5200 + name: semcust-backend + protocol: TCP + imagePullPolicy: Always + envFrom: + - configMapRef: + name: semcust-qa-config + volumes: + - name: nginx-conf + configMap: + name: nginx-conf + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: qa-environment + name: semcust-qa-config + labels: + app: semcust-qa +data: + DJANGO_DB_ENGINE: "django.db.backends.postgresql_psycopg2" + DJANGO_DB_NAME: "semcust_dev" + DJANGO_DB_USER: "semcust" + DJANGO_DB_PASSWORD: "WxEY6hVNRrIYJeRAtjR2AlZzJp" + DJANGO_DB_HOST: "dbpg11.semapp.lan" + DJANGO_DB_PORT: "5432" + ALLOWED_HOSTS: '["*"]' + FRONTEND_URL: "semcust-qa.k3s.semapp.lan" + API_URL: "http://semcust-qa.k3s.semapp.lan/" + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: qa-environment + name: nginx-conf +data: + default.conf: | + upstream backend { + server semcust-backend-qa:5200; + } + + server { + listen 8200; + + #server_name semcust-dev.semapp.lan; + + access_log /var/log/nginx/access.log; + charset utf-8; + client_max_body_size 1G; + + location / { + root /srv/semcust; + #add_header X-Frame-Options "SAMEORIGIN"; + index index.html index.htm; + try_files $uri $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; + } + + location /admin { + 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; + } + + location /forum { + 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; + } + + location /confluence { + 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; + } + + location /help-desk { + 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; + } + + location /static-backend { + 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; + } + +--- +# semcust Service +apiVersion: v1 +kind: Service +metadata: + name: semcust-frontend-qa + namespace: qa-environment +spec: + selector: + app: semcust-qa + ports: + - name: semcust-http + port: 8200 + targetPort: semcust-http + type: NodePort + +--- +# semcust backend +apiVersion: v1 +kind: Service +metadata: + name: semcust-backend-qa + namespace: qa-environment +spec: + selector: + app: semcust-qa + ports: + - name: semcust-backend + port: 5200 + targetPort: semcust-backend + type: NodePort +--- + +# Ingress description +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: semcust-qa-ingress + namespace: qa-environment + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: semcust-qa.k3s.semapp.lan + http: + paths: + - path: / + backend: + serviceName: semcust-frontend-qa + servicePort: 8200 \ No newline at end of file From fd7e1f71de1cdba87a0a81a2ed39416dcfaf0429 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Thu, 23 Sep 2021 14:07:33 +0200 Subject: [PATCH 02/15] Fix memory and limit usage in deployment file --- qa/semcust/deployment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml index b167346..bfece06 100644 --- a/qa/semcust/deployment.yaml +++ b/qa/semcust/deployment.yaml @@ -27,10 +27,10 @@ spec: image: packages.semapp.lan:5000/semcust_frontend:develop resources: requests: - memory: "512Mi" + memory: "256Mi" cpu: "100m" limits: - memory: "1Gi" + memory: "512Mi" cpu: "4" ports: - containerPort: 8200 @@ -45,10 +45,10 @@ spec: image: packages.semapp.lan:5000/semcust_backend:develop resources: requests: - memory: "512Mi" + memory: "256i" cpu: "100m" limits: - memory: "1Gi" + memory: "512Mi" cpu: "4" ports: - containerPort: 5200 From 303fc655775340d5bc8167728fb2ee43e7cb2659 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Fri, 6 Aug 2021 16:19:06 +0200 Subject: [PATCH 03/15] Add trialytix deployment and configmap test yamls --- dev/trialytix/trialytix-configmap.testing.yml | 17 ++++++++ .../trialytix-deployment.testing.yml | 40 +++++++++++++++++++ dev/trialytix/trialytix-ingress.testing.yml | 18 +++++++++ dev/trialytix/trialytix-service.testing.yml | 14 +++++++ 4 files changed, 89 insertions(+) create mode 100644 dev/trialytix/trialytix-configmap.testing.yml create mode 100644 dev/trialytix/trialytix-deployment.testing.yml create mode 100644 dev/trialytix/trialytix-ingress.testing.yml create mode 100644 dev/trialytix/trialytix-service.testing.yml diff --git a/dev/trialytix/trialytix-configmap.testing.yml b/dev/trialytix/trialytix-configmap.testing.yml new file mode 100644 index 0000000..b1013d0 --- /dev/null +++ b/dev/trialytix/trialytix-configmap.testing.yml @@ -0,0 +1,17 @@ +--- +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' + diff --git a/dev/trialytix/trialytix-deployment.testing.yml b/dev/trialytix/trialytix-deployment.testing.yml new file mode 100644 index 0000000..aa34c93 --- /dev/null +++ b/dev/trialytix/trialytix-deployment.testing.yml @@ -0,0 +1,40 @@ +--- +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: + - name: trialytix-backend + image: packages.semapp.lan:5000/trialytix_backend:1.1.0 + envFrom: + - configMapRef: + name: trialytix-config-backend-testing + + # TODO: kubectl validation hinders us from inserting base64-encoded strings + # cf. also `baseline-secret.testing.yml` + #- name: APP_KEY + # valueFrom: + # secretKeyRef: + # name: baseline-secret-testing + # key: app_key + # - name: trialytix-frontend + # image: packages.semapp.lan:5000/trialytix_frontend:1.1.0 + # env: + # - name: NODE_ENV + # valueFrom: + # configMapKeyRef: + # name: trialytix-config-testing + # key: node_env diff --git a/dev/trialytix/trialytix-ingress.testing.yml b/dev/trialytix/trialytix-ingress.testing.yml new file mode 100644 index 0000000..87678ba --- /dev/null +++ b/dev/trialytix/trialytix-ingress.testing.yml @@ -0,0 +1,18 @@ +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: trialytix-ingress + namespace: trialytix + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + rules: + - host: trialytix.k8s.semapp.lan + http: + paths: + - path: / + pathType: Prefix + backend: + serviceName: trialytix-testing-entrypoint + servicePort: 8000 diff --git a/dev/trialytix/trialytix-service.testing.yml b/dev/trialytix/trialytix-service.testing.yml new file mode 100644 index 0000000..59c536a --- /dev/null +++ b/dev/trialytix/trialytix-service.testing.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: trialytix-testing-entrypoint + namespace: trialytix +spec: + type: NodePort + selector: + app: trialytix + ports: + - port: 80 + targetPort: 8100 + nodePort: 30002 From 7b973b85d6f5efb967d44c1fc8a913118d8c2e10 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Wed, 11 Aug 2021 22:46:17 +0200 Subject: [PATCH 04/15] Modified deploy for frontend contiainer, add service for frontend and backend, add ingress testing. --- dev/trialytix/trialytix-configmap.testing.yml | 3 ++- .../trialytix-deployment.testing.yml | 12 ++++++++++ dev/trialytix/trialytix-ingress.testing.yml | 13 +++++++---- dev/trialytix/trialytix-service.testing.yml | 22 +++++++++++++++---- 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/dev/trialytix/trialytix-configmap.testing.yml b/dev/trialytix/trialytix-configmap.testing.yml index b1013d0..1bd2368 100644 --- a/dev/trialytix/trialytix-configmap.testing.yml +++ b/dev/trialytix/trialytix-configmap.testing.yml @@ -14,4 +14,5 @@ data: 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' + \ No newline at end of file diff --git a/dev/trialytix/trialytix-deployment.testing.yml b/dev/trialytix/trialytix-deployment.testing.yml index aa34c93..7e58d2b 100644 --- a/dev/trialytix/trialytix-deployment.testing.yml +++ b/dev/trialytix/trialytix-deployment.testing.yml @@ -17,11 +17,23 @@ spec: app: trialytix spec: containers: + # Backend container - name: trialytix-backend image: packages.semapp.lan:5000/trialytix_backend:1.1.0 + ports: + - containerPort: 5100 envFrom: - configMapRef: name: trialytix-config-backend-testing + # Frontend container + - name: trialytix-frontend + image: packages.semapp.lan:5000/trialytix_frontend:1.1.0 + ports: + - containerPort: 8100 + envFrom: + - configMapRef: + name: trialytix-config-backend-testing + # TODO: kubectl validation hinders us from inserting base64-encoded strings # cf. also `baseline-secret.testing.yml` diff --git a/dev/trialytix/trialytix-ingress.testing.yml b/dev/trialytix/trialytix-ingress.testing.yml index 87678ba..e8122b5 100644 --- a/dev/trialytix/trialytix-ingress.testing.yml +++ b/dev/trialytix/trialytix-ingress.testing.yml @@ -3,16 +3,21 @@ apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: trialytix-ingress - namespace: trialytix + namespace: dev-environment annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - - host: trialytix.k8s.semapp.lan + - host: trialytix-testing.k3s.semapp.lan http: paths: - path: / pathType: Prefix backend: - serviceName: trialytix-testing-entrypoint - servicePort: 8000 + serviceName: frontend + servicePort: 8100 + - path: /api + pathType: Prefix + backend: + serviceName: backend + servicePort: 5100 diff --git a/dev/trialytix/trialytix-service.testing.yml b/dev/trialytix/trialytix-service.testing.yml index 59c536a..639b382 100644 --- a/dev/trialytix/trialytix-service.testing.yml +++ b/dev/trialytix/trialytix-service.testing.yml @@ -2,13 +2,27 @@ apiVersion: v1 kind: Service metadata: - name: trialytix-testing-entrypoint - namespace: trialytix + name: backend + namespace: dev-environment spec: type: NodePort selector: app: trialytix ports: - - port: 80 + - port: 5100 + targetPort: 5100 + +--- +apiVersion: v1 +kind: Service +metadata: + name: frontend + namespace: dev-environment +spec: + type: NodePort + selector: + app: trialytix + ports: + - port: 8100 targetPort: 8100 - nodePort: 30002 + From 09ca16f8693c49b965fd554d8497f0db7f25a143 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Thu, 12 Aug 2021 00:01:16 +0200 Subject: [PATCH 05/15] Add frontend and backend ports variables. --- dev/trialytix/trialytix-configmap.testing.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev/trialytix/trialytix-configmap.testing.yml b/dev/trialytix/trialytix-configmap.testing.yml index 1bd2368..0d05362 100644 --- a/dev/trialytix/trialytix-configmap.testing.yml +++ b/dev/trialytix/trialytix-configmap.testing.yml @@ -15,4 +15,6 @@ data: ALLOWED_HOSTS: '["*"]' FRONTEND_URL: 'http://trialytix-testing.k3s.semapp.lan' REACT_APP_PROD_API_URL: 'http://trialytix-testing.k3s.semapp.lan' + FRONTEND_PORT: '8100' + BACKEND_PORT: '5100' \ No newline at end of file From 7e33627b5582499bd7cbb79c824cf4869513317b Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Wed, 22 Sep 2021 16:01:37 +0200 Subject: [PATCH 06/15] Add trialytix kuberntes --- dev/trialytix/trialytix-configmap.testing.yml | 53 ++++++++++++++++++- .../trialytix-deployment.testing.yml | 35 ++++++------ dev/trialytix/trialytix-ingress.testing.yml | 8 +-- dev/trialytix/trialytix-service.testing.yml | 15 +++--- 4 files changed, 77 insertions(+), 34 deletions(-) diff --git a/dev/trialytix/trialytix-configmap.testing.yml b/dev/trialytix/trialytix-configmap.testing.yml index 0d05362..ea678d4 100644 --- a/dev/trialytix/trialytix-configmap.testing.yml +++ b/dev/trialytix/trialytix-configmap.testing.yml @@ -15,6 +15,57 @@ data: 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' - \ No newline at end of file + +--- +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 index 7e58d2b..7bdf07b 100644 --- a/dev/trialytix/trialytix-deployment.testing.yml +++ b/dev/trialytix/trialytix-deployment.testing.yml @@ -19,34 +19,31 @@ spec: containers: # Backend container - name: trialytix-backend - image: packages.semapp.lan:5000/trialytix_backend:1.1.0 + 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:1.1.0 + 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 - - - # TODO: kubectl validation hinders us from inserting base64-encoded strings - # cf. also `baseline-secret.testing.yml` - #- name: APP_KEY - # valueFrom: - # secretKeyRef: - # name: baseline-secret-testing - # key: app_key - # - name: trialytix-frontend - # image: packages.semapp.lan:5000/trialytix_frontend:1.1.0 - # env: - # - name: NODE_ENV - # valueFrom: - # configMapKeyRef: - # name: trialytix-config-testing - # key: node_env + 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 index e8122b5..5b1daf3 100644 --- a/dev/trialytix/trialytix-ingress.testing.yml +++ b/dev/trialytix/trialytix-ingress.testing.yml @@ -5,19 +5,13 @@ metadata: name: trialytix-ingress namespace: dev-environment annotations: - nginx.ingress.kubernetes.io/rewrite-target: / + kubernetes.io/ingress.class: "traefik" spec: rules: - host: trialytix-testing.k3s.semapp.lan http: paths: - path: / - pathType: Prefix backend: serviceName: frontend servicePort: 8100 - - path: /api - pathType: Prefix - backend: - serviceName: backend - servicePort: 5100 diff --git a/dev/trialytix/trialytix-service.testing.yml b/dev/trialytix/trialytix-service.testing.yml index 639b382..23998f0 100644 --- a/dev/trialytix/trialytix-service.testing.yml +++ b/dev/trialytix/trialytix-service.testing.yml @@ -5,12 +5,13 @@ metadata: name: backend namespace: dev-environment spec: - type: NodePort selector: app: trialytix ports: - - port: 5100 - targetPort: 5100 + - name: trialytix-back + port: 5100 + targetPort: trialytix-back + type: NodePort --- apiVersion: v1 @@ -19,10 +20,10 @@ metadata: name: frontend namespace: dev-environment spec: - type: NodePort selector: app: trialytix ports: - - port: 8100 - targetPort: 8100 - + - name: trialytix-front + port: 8100 + targetPort: trialytix-front + type: NodePort From d0393b6a70bf6d1b6757581f32564633a6b8389f Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Thu, 23 Sep 2021 11:44:15 +0200 Subject: [PATCH 07/15] 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 From a7d0c04ba1101a50bce57e6777176f922836d5e3 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Thu, 23 Sep 2021 22:41:55 +0200 Subject: [PATCH 08/15] Update yaml file. --- dev/trialytix/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/trialytix/deployment.yaml b/dev/trialytix/deployment.yaml index 5c14e27..2001af8 100644 --- a/dev/trialytix/deployment.yaml +++ b/dev/trialytix/deployment.yaml @@ -18,7 +18,7 @@ spec: containers: # Backend container - name: trialytix-backend - image: packages.semapp.lan:5000/trialytix_backend:kubernetes-test + image: packages.semapp.lan:5000/trialytix_backend:IMAGE_TAG resources: requests: memory: "512Mi" @@ -36,7 +36,7 @@ spec: imagePullPolicy: Always # Frontend container - name: trialytix-frontend - image: packages.semapp.lan:5000/trialytix_frontend:kubernetes-test + image: packages.semapp.lan:5000/trialytix_frontend:IMAGE_TAG resources: requests: memory: "512Mi" From 8fa9ed2576848251bbf04addb33f08ef21f0d4b6 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Fri, 24 Sep 2021 09:34:58 +0200 Subject: [PATCH 09/15] FIx DB and change images --- dev/trialytix/deployment.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dev/trialytix/deployment.yaml b/dev/trialytix/deployment.yaml index 2001af8..fcdf2f7 100644 --- a/dev/trialytix/deployment.yaml +++ b/dev/trialytix/deployment.yaml @@ -18,7 +18,7 @@ spec: containers: # Backend container - name: trialytix-backend - image: packages.semapp.lan:5000/trialytix_backend:IMAGE_TAG + image: packages.semapp.lan:5000/trialytix_backend:23 resources: requests: memory: "512Mi" @@ -36,7 +36,7 @@ spec: imagePullPolicy: Always # Frontend container - name: trialytix-frontend - image: packages.semapp.lan:5000/trialytix_frontend:IMAGE_TAG + image: packages.semapp.lan:5000/trialytix_frontend:23 resources: requests: memory: "512Mi" @@ -71,12 +71,12 @@ metadata: labels: app: trialytix-dev data: - DJANGO_DB_ENGINE: django.db.backends.postgresql_psycopg2 - DJANGO_DB_NAME: trialytix-dev + DJANGO_DB_ENGINE: django.db.backends.postgresql + DJANGO_DB_NAME: trialytix_dev DJANGO_DB_USER: trialytix DJANGO_DB_PASSWORD: 3uJQ2WGvvrZFbBHX8n6eo7qheE DJANGO_DB_HOST: dbpg11.semapp.lan - DJANGO_DB_PORT: "5432" + DJANGO_DB_PORT: 5432 ALLOWED_HOSTS: '["*"]' FRONTEND_URL: 'http://trialytix-dev.k3s.semapp.lan' API_URL: 'http://trialytix-dev.k3s.semapp.lan' @@ -179,4 +179,4 @@ spec: - path: / backend: serviceName: frontend-trialytix-dev - servicePort: 8100 \ No newline at end of file + servicePort: 8100 From fa1ddfc653e579ac321f3c00d4728496216a2f42 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Sat, 25 Sep 2021 23:32:49 +0200 Subject: [PATCH 10/15] Fix tag and DB variabels. --- dev/trialytix/deployment.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/dev/trialytix/deployment.yaml b/dev/trialytix/deployment.yaml index fcdf2f7..8dfd311 100644 --- a/dev/trialytix/deployment.yaml +++ b/dev/trialytix/deployment.yaml @@ -18,13 +18,13 @@ spec: containers: # Backend container - name: trialytix-backend - image: packages.semapp.lan:5000/trialytix_backend:23 + image: packages.semapp.lan:5000/trialytix_backend:develop resources: requests: - memory: "512Mi" + memory: "256Mi" cpu: "100m" limits: - memory: "1Gi" + memory: "512Mi" cpu: "4" ports: - containerPort: 5100 @@ -36,13 +36,13 @@ spec: imagePullPolicy: Always # Frontend container - name: trialytix-frontend - image: packages.semapp.lan:5000/trialytix_frontend:23 + image: packages.semapp.lan:5000/trialytix_frontend:develop resources: requests: - memory: "512Mi" + memory: "256Mi" cpu: "100m" limits: - memory: "1Gi" + memory: "512Mi" cpu: "4" ports: - containerPort: 8100 @@ -71,12 +71,12 @@ metadata: labels: app: trialytix-dev data: - DJANGO_DB_ENGINE: django.db.backends.postgresql - DJANGO_DB_NAME: trialytix_dev - DJANGO_DB_USER: trialytix - DJANGO_DB_PASSWORD: 3uJQ2WGvvrZFbBHX8n6eo7qheE - DJANGO_DB_HOST: dbpg11.semapp.lan - DJANGO_DB_PORT: 5432 + DJANGO_DB_ENGINE: 'django.db.backends.postgresql' + 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' From e96a46cebbf722698fc9ea30357f6534b1483275 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Sun, 26 Sep 2021 02:20:49 +0200 Subject: [PATCH 11/15] Add IMAGE_TAG variable to deployment.yaml --- qa/semcust/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml index bfece06..72f9e5d 100644 --- a/qa/semcust/deployment.yaml +++ b/qa/semcust/deployment.yaml @@ -24,7 +24,7 @@ spec: # fsGroup: 1000 containers: - name: semcust-frontend - image: packages.semapp.lan:5000/semcust_frontend:develop + image: packages.semapp.lan:5000/semcust_frontend:$IMAGE_TAG resources: requests: memory: "256Mi" @@ -42,7 +42,7 @@ spec: name: nginx-conf imagePullPolicy: Always - name: semcust-backend - image: packages.semapp.lan:5000/semcust_backend:develop + image: packages.semapp.lan:5000/semcust_backend:$IMAGE_TAG resources: requests: memory: "256i" From 9a54462c630f72e6a86d03b13539cf90bda00d83 Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Tue, 28 Sep 2021 09:46:36 +0200 Subject: [PATCH 12/15] Add trialytix qa deployyment. --- qa/trialytix/deployment.yaml | 184 +++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 qa/trialytix/deployment.yaml diff --git a/qa/trialytix/deployment.yaml b/qa/trialytix/deployment.yaml new file mode 100644 index 0000000..41c60c8 --- /dev/null +++ b/qa/trialytix/deployment.yaml @@ -0,0 +1,184 @@ +# Deployment description +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: trialytix-deployment + namespace: qa-environment +spec: + replicas: 1 + selector: + matchLabels: + app: trialytix-qa + template: + metadata: + labels: + app: trialytix-qa + spec: + containers: + # Backend container + - name: trialytix-backend + image: packages.semapp.lan:5000/trialytix_backend:$IMAGE_TAG + + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + cpu: "4" + ports: + - containerPort: 5100 + name: trialytix-back + protocol: TCP + envFrom: + - configMapRef: + name: trialytix-config-backend-qa + imagePullPolicy: Always + # Frontend container + - name: trialytix-frontend + image: packages.semapp.lan:5000/trialytix_frontend:$IMAGE_TAG + + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + cpu: "4" + ports: + - containerPort: 8100 + name: trialytix-front + protocol: TCP + volumeMounts: + - mountPath: /etc/nginx/conf.d + readOnly: true + name: nginx-trialytix-qa-conf + envFrom: + - configMapRef: + name: trialytix-config-backend-qa + imagePullPolicy: Always + volumes: + - name: nginx-trialytix-qa-conf + configMap: + name: nginx-trialytix-qa-conf + +# Env Configuration +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: qa-environment + name: trialytix-config-backend-qa + labels: + app: trialytix-qa +data: + DJANGO_DB_ENGINE: 'django.db.backends.postgresql' + DJANGO_DB_NAME: 'trialytix_qa' + DJANGO_DB_USER: 'trialytix' + DJANGO_DB_PASSWORD: '3uJQ2WGvvrZFbBHX8n6eo7qheE' + DJANGO_DB_HOST: 'dbpg11.semapp.lan' + DJANGO_DB_PORT: '5432' + ALLOWED_HOSTS: '["*"]' + FRONTEND_URL: 'http://trialytix-qa.k3s.semapp.lan' + API_URL: 'http://trialytix-qa.k3s.semapp.lan' + FRONTEND_PORT: '8100' + BACKEND_PORT: '5100' + +# Nginx configuration +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: qa-environment + name: nginx-trialytix-qa-conf +data: + default.conf: | + upstream backend { + server backend-trialytix-qa: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-qa + namespace: qa-environment +spec: + selector: + app: trialytix-qa + ports: + - name: trialytix-back + port: 5100 + targetPort: trialytix-back + type: NodePort + +--- +apiVersion: v1 +kind: Service +metadata: + name: frontend-trialytix-qa + namespace: qa-environment +spec: + selector: + app: trialytix-qa + ports: + - name: trialytix-front + port: 8100 + targetPort: trialytix-front + type: NodePort + +# Ingress description +--- +apiVersion: networking.k8s.io/v1beta1 +kind: Ingress +metadata: + name: trialytix-qa-ingress + namespace: qa-environment + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: trialytix-qa.k3s.semapp.lan + http: + paths: + - path: / + backend: + serviceName: frontend-trialytix-qa + servicePort: 8100 From 8ab3cc437743fd7772988318e9c3801df02fefba Mon Sep 17 00:00:00 2001 From: Antun Franjin Date: Wed, 29 Sep 2021 14:07:37 +0200 Subject: [PATCH 13/15] Fix typo field memory to use. --- qa/semcust/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml index 72f9e5d..63a5988 100644 --- a/qa/semcust/deployment.yaml +++ b/qa/semcust/deployment.yaml @@ -45,7 +45,7 @@ spec: image: packages.semapp.lan:5000/semcust_backend:$IMAGE_TAG resources: requests: - memory: "256i" + memory: "256Mi" cpu: "100m" limits: memory: "512Mi" From 49e2a8608acce18f99aa036d0c26666f276f493b Mon Sep 17 00:00:00 2001 From: lroell Date: Wed, 29 Sep 2021 16:03:29 +0200 Subject: [PATCH 14/15] added missing env variables to dev deployment --- dev/semcust/deployment.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dev/semcust/deployment.yaml b/dev/semcust/deployment.yaml index dabb170..6a4ddf3 100644 --- a/dev/semcust/deployment.yaml +++ b/dev/semcust/deployment.yaml @@ -81,6 +81,19 @@ data: ALLOWED_HOSTS: '["*"]' FRONTEND_URL: "semcust-dev.k3s.semapp.lan" API_URL: "http://semcust-dev.k3s.semapp.lan/" + DEFAULT_FILE_STORAGE: "minio_storage.storage.MinioMediaStorage" + MINIO_STORAGE_ENDPOINT: "minio-api-dev.k3s.semapp.lan" + MINIO_STORAGE_ACCESS_KEY: "semcust" + MINIO_STORAGE_SECRET_KEY: "Semapp123456!" + MINIO_STORAGE_USE_HTTPS: "False" + MINIO_STORAGE_MEDIA_BUCKET_NAME: "semcust" + MINIO_STORAGE_AUTO_CREATE_MEDIA_BUCKET: "True" + EMAIL_USE_TLS: "True" + EMAIL_HOST: "smtp.strato.de" + EMAIL_PORT: "587" + EMAIL_HOST_USER: "support@semantic-applications.de" + EMAIL_HOST_PASSWORD: "Dal63Lak#sdo" + --- apiVersion: v1 From 360bd1eca332b412c6a415bc8bb5a55b7aecf1cc Mon Sep 17 00:00:00 2001 From: lroell Date: Wed, 29 Sep 2021 16:03:33 +0200 Subject: [PATCH 15/15] added missing env variables to qa deployment --- qa/semcust/deployment.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml index 63a5988..e4a9c34 100644 --- a/qa/semcust/deployment.yaml +++ b/qa/semcust/deployment.yaml @@ -81,6 +81,18 @@ data: ALLOWED_HOSTS: '["*"]' FRONTEND_URL: "semcust-qa.k3s.semapp.lan" API_URL: "http://semcust-qa.k3s.semapp.lan/" + DEFAULT_FILE_STORAGE: "minio_storage.storage.MinioMediaStorage" + MINIO_STORAGE_ENDPOINT: "minio-api-dev.k3s.semapp.lan" + MINIO_STORAGE_ACCESS_KEY: "semcust" + MINIO_STORAGE_SECRET_KEY: "Semapp123456!" + MINIO_STORAGE_USE_HTTPS: "False" + MINIO_STORAGE_MEDIA_BUCKET_NAME: "semcust" + MINIO_STORAGE_AUTO_CREATE_MEDIA_BUCKET: "True" + EMAIL_USE_TLS: "True" + EMAIL_HOST: "smtp.strato.de" + EMAIL_PORT: "587" + EMAIL_HOST_USER: "support@semantic-applications.de" + EMAIL_HOST_PASSWORD: "Dal63Lak#sdo" --- apiVersion: v1