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 diff --git a/dev/trialytix/deployment.yaml b/dev/trialytix/deployment.yaml new file mode 100644 index 0000000..8dfd311 --- /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:develop + 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-dev + imagePullPolicy: Always + # Frontend container + - name: trialytix-frontend + image: packages.semapp.lan:5000/trialytix_frontend:develop + 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-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' + 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 diff --git a/qa/semcust/deployment.yaml b/qa/semcust/deployment.yaml new file mode 100644 index 0000000..e4a9c34 --- /dev/null +++ b/qa/semcust/deployment.yaml @@ -0,0 +1,261 @@ +# 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:$IMAGE_TAG + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + 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:$IMAGE_TAG + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + 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/" + 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 +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 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