From e8f260d7c0ba3a0b56b384859d7c33daaf958e0c Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Mon, 30 Dec 2024 16:48:23 +0100 Subject: [PATCH] Added gateway config --- helm/dbrepo/files/dbrepo.conf | 171 +++++++++++++++++++ helm/dbrepo/templates/gateway-configmap.yaml | 10 ++ helm/dbrepo/values.yaml | 170 +----------------- 3 files changed, 182 insertions(+), 169 deletions(-) create mode 100644 helm/dbrepo/files/dbrepo.conf create mode 100644 helm/dbrepo/templates/gateway-configmap.yaml diff --git a/helm/dbrepo/files/dbrepo.conf b/helm/dbrepo/files/dbrepo.conf new file mode 100644 index 0000000000..15daf4381d --- /dev/null +++ b/helm/dbrepo/files/dbrepo.conf @@ -0,0 +1,171 @@ +# This is required to proxy Grafana Live WebSocket connections. +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +client_max_body_size 20G; + +resolver 127.0.0.11 valid=30s; # docker dns + +upstream broker { + server broker-service:15672; +} + +upstream analyse { + server analyse-service:8080; +} + +upstream data { + server data-service:8080; +} + +upstream metadata { + server metadata-service:8080; +} + +upstream search { + server search-service:8080; +} + +upstream ui { + server ui:3000; +} + +upstream upload { + server upload-service:8080; +} + +upstream dashboard-service { + server dashboard-service:3000; +} + +server { + listen 8080 default_server; + server_name _; + + location = /basic_status { + stub_status; + } + + location /dashboard/ { + rewrite ^/dashboard/(.*) /$1 break; + 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 http://dashboard-service; + proxy_read_timeout 90; + } + + # Proxy Grafana Live WebSocket connections. + location /dashboard/api/live/ { + 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_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_http_version 1.1; + proxy_pass http://dashboard-service; + proxy_read_timeout 90; + } + + location /api/search { + 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 http://search; + proxy_read_timeout 90; + } + + location /api/upload { +# allow 128.130.0.0/16; +# deny all; + 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_set_header X-Forwarded-Host $host; + proxy_pass http://upload; + proxy_read_timeout 90; + # Disable request and response buffering + proxy_request_buffering off; + proxy_buffering off; + proxy_http_version 1.1; + } + + location /api/analyse { + 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 http://analyse; + proxy_read_timeout 90; + } + + location ~ /api/database/([0-9]+)/table/([0-9]+)/(data|history|export) { + 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 http://data; + proxy_read_timeout 90; + } + + location ~ /api/database/([0-9]+)/view/([0-9]+)/(data|export) { + 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 http://data; + proxy_read_timeout 90; + } + + location ~ /api/database/([0-9]+)/view { + 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 http://metadata; + proxy_read_timeout 90; + } + + location ~ /api/database/([0-9]+)/subset { + 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 http://data; + proxy_read_timeout 600; + } + + location ~ /api/(database|concept|container|identifier|image|message|license|oai|ontology|unit|user) { + 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 http://metadata; + proxy_read_timeout 90; + } + + location ~ /pid/([0-9]+) { + rewrite /pid/(.*) /api/identifier/$1 break; + 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 http://metadata; + proxy_read_timeout 90; + } + + location / { + 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 http://ui; + proxy_read_timeout 90; + } +} diff --git a/helm/dbrepo/templates/gateway-configmap.yaml b/helm/dbrepo/templates/gateway-configmap.yaml new file mode 100644 index 0000000000..3af39f8138 --- /dev/null +++ b/helm/dbrepo/templates/gateway-configmap.yaml @@ -0,0 +1,10 @@ +{{- if .Values.gatewayservice.enabled }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: gateway-service-setup + namespace: {{ include "common.names.namespace" . | quote }} +data: + {{ (.Files.Glob "files/dbrepo.conf").AsConfig | nindent 2 }} +{{- end }} diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml index b4f253a182..9f966ec356 100644 --- a/helm/dbrepo/values.yaml +++ b/helm/dbrepo/values.yaml @@ -1011,175 +1011,7 @@ gatewayservice: ## @skip gatewayservice.fullnameOverride fullnameOverride: gateway-service ## @param gatewayservice.serverBlock The extra configuration for the reverse proxy - serverBlock: | - # This is required to proxy Grafana Live WebSocket connections. - map $http_upgrade $connection_upgrade { - default upgrade; - '' close; - } - - upstream analyse { - server analyse-service; - } - - upstream data { - server data-service; - } - - upstream metadata { - server metadata-service; - } - - upstream search { - server search-service; - } - - upstream ui { - server ui; - } - - upstream upload { - server upload-service; - } - - upstream dashboard-service { - server dashboard-service:3000; - } - - server { - listen 8080 default_server; - server_name _; - - location /assets/ { - root /etc/nginx/assets; - expires max; - access_log off; - autoindex on; - autoindex_exact_size off; - autoindex_format html; - autoindex_localtime on; - } - - location /dashboard/ { - 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 http://dashboard-service; - proxy_read_timeout 90; - } - - # Proxy Grafana Live WebSocket connections. - location /dashboard/api/live/ { - 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_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_http_version 1.1; - proxy_pass http://dashboard-service; - proxy_read_timeout 90; - } - - location /api/search { - 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 http://search; - proxy_read_timeout 90; - } - - location /api/upload { - # allow 128.130.0.0/16; - # deny all; - 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_set_header X-Forwarded-Host $host; - proxy_pass http://upload; - proxy_read_timeout 90; - # Disable request and response buffering - proxy_request_buffering off; - proxy_buffering off; - proxy_http_version 1.1; - } - - location /api/analyse { - 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 http://analyse; - proxy_read_timeout 90; - } - - location ~ /api/database/([0-9]+)/table/([0-9]+)/(data|history|export|statistic) { - 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 http://data; - proxy_read_timeout 90; - } - - location ~ /api/database/([0-9]+)/view/([0-9]+)/(data|export) { - 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 http://data; - proxy_read_timeout 90; - } - - location ~ /api/database/([0-9]+)/view { - 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 http://metadata; - proxy_read_timeout 90; - } - - location ~ /api/database/([0-9]+)/subset { - 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 http://data; - proxy_read_timeout 600; - } - - location ~ /api/(database|concept|container|identifier|image|message|license|oai|ontology|unit|user) { - 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 http://metadata; - proxy_read_timeout 90; - } - - location ~ /pid/([0-9]+) { - rewrite /pid/(.*) /api/identifier/$1 break; - 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 http://metadata; - proxy_read_timeout 90; - } - - location / { - 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 http://ui; - proxy_read_timeout 90; - } - } + existingServerBlockConfigmap: gateway-service-setup ## @param gatewayservice.replicaCount The number of replicas. replicaCount: 3 -- GitLab