diff --git a/helmfile/apps/collabora/values.yaml.gotmpl b/helmfile/apps/collabora/values.yaml.gotmpl index aec3d8ce..dfaa23df 100644 --- a/helmfile/apps/collabora/values.yaml.gotmpl +++ b/helmfile/apps/collabora/values.yaml.gotmpl @@ -37,9 +37,9 @@ ingress: annotations: # Ingress NGINX nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc" - nginx.ingress.kubernetes.io/proxy-body-size: "0" - nginx.ingress.kubernetes.io/proxy-read-timeout: "600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "600" + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.collabora }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}" nginx.ingress.kubernetes.io/server-snippet: | # block admin and metrics endpoint from outside by default location /cool/getMetrics { deny all; return 403; } @@ -48,21 +48,21 @@ ingress: # NGINX nginx.org/websocket-services: "collabora" nginx.org/lb-method: "hash $arg_WOPISrc consistent" - nginx.org/proxy-read-timeout: "600" - nginx.org/proxy-send-timeout: "600" - nginx.org/client-max-body-size: "0" + nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s" + nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s" + nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.collabora }}" nginx.org/server-snippets: | # block admin and metrics endpoint from outside by default location /cool/getMetrics { deny all; return 403; } location /cool/adminws/ { deny all; return 403; } location /browser/dist/admin/admin.html { deny all; return 403; } # HAProxy - haproxy.org/timeout-tunnel: "3600s" + haproxy.org/timeout-tunnel: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s" haproxy.org/backend-config-snippet: | balance url_param WOPISrc check_post hash-type consistent # HAProxy - Community: https://haproxy-ingress.github.io/ - haproxy-ingress.github.io/timeout-tunnel: "3600s" + haproxy-ingress.github.io/timeout-tunnel: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s" haproxy-ingress.github.io/balance-algorithm: "url_param WOPISrc check_post" haproxy-ingress.github.io/config-backend: | hash-type consistent diff --git a/helmfile/apps/element/values-synapse-web.yaml.gotmpl b/helmfile/apps/element/values-synapse-web.yaml.gotmpl index 4e29244f..c20eff5e 100644 --- a/helmfile/apps/element/values-synapse-web.yaml.gotmpl +++ b/helmfile/apps/element/values-synapse-web.yaml.gotmpl @@ -33,6 +33,13 @@ image: tag: {{ .Values.images.synapseWeb.tag | quote }} ingress: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.element }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}" + nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.element }}" + nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}s" + nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}s" host: "{{ .Values.global.hosts.synapse }}.{{ .Values.global.domain }}" enabled: {{ .Values.ingress.enabled }} ingressClassName: {{ .Values.ingress.ingressClassName | quote }} diff --git a/helmfile/apps/nextcloud/values-nextcloud.yaml.gotmpl b/helmfile/apps/nextcloud/values-nextcloud.yaml.gotmpl index 382ee354..645ffd83 100644 --- a/helmfile/apps/nextcloud/values-nextcloud.yaml.gotmpl +++ b/helmfile/apps/nextcloud/values-nextcloud.yaml.gotmpl @@ -124,6 +124,13 @@ apache2: {{ .Values.seLinuxOptions.nextcloudApache2 | toYaml | nindent 6 }} ingress: enabled: {{ .Values.ingress.enabled }} + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.nextcloud }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}" + nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.nextcloud }}" + nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}s" + nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}s" ingressClassName: {{ .Values.ingress.ingressClassName | quote }} host: "{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}" tls: diff --git a/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl b/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl index bb6f9a78..284673bc 100644 --- a/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl +++ b/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl @@ -92,6 +92,11 @@ appsuite: hosts: - "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}" routes: + http-api-routes-appsuite-api: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.openXchangeAppSuite }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openXchangeAppSuite }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openXchangeAppSuite }}" trailslash: enabled: false core-mw: diff --git a/helmfile/apps/openproject/values.yaml.gotmpl b/helmfile/apps/openproject/values.yaml.gotmpl index 16982313..48fbdf0c 100644 --- a/helmfile/apps/openproject/values.yaml.gotmpl +++ b/helmfile/apps/openproject/values.yaml.gotmpl @@ -139,6 +139,13 @@ openproject: useTmpVolumes: true ingress: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.openproject }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}" + nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.openproject }}" + nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}s" + nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}s" host: "{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}" enabled: {{ .Values.ingress.enabled }} ingressClassName: {{ .Values.ingress.ingressClassName | quote }} diff --git a/helmfile/apps/xwiki/values.yaml.gotmpl b/helmfile/apps/xwiki/values.yaml.gotmpl index c4773f2b..df646f2e 100644 --- a/helmfile/apps/xwiki/values.yaml.gotmpl +++ b/helmfile/apps/xwiki/values.yaml.gotmpl @@ -86,10 +86,14 @@ ingress: enabled: {{ .Values.ingress.enabled }} className: {{ .Values.ingress.ingressClassName | quote }} annotations: - kubernetes.io/ingress.class: null nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-body-size: "250m" + nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.xwiki }}" + nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}" + nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}" + nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.xwiki }}" + nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}s" + nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}s" haproxy-ingress.github.io/headers: "X-Forwarded-Host {{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}" hosts: - host: "{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}" diff --git a/helmfile/environments/default/ingress.yaml b/helmfile/environments/default/ingress.yaml index 08dcd5cf..4297df82 100644 --- a/helmfile/environments/default/ingress.yaml +++ b/helmfile/environments/default/ingress.yaml @@ -7,4 +7,19 @@ ingress: tls: enabled: true secretName: "opendesk-certificates-tls" + parameters: + bodySize: + collabora: "100M" + element: "100M" + nextcloud: "100M" + openproject: "100M" + openXchangeAppSuite: "100M" + xwiki: "100M" + bodyTimeout: + collabora: 600 + element: 60 + nextcloud: 600 + openproject: 60 + openXchangeAppSuite: 60 + xwiki: 60 ...