diff --git a/charts/flame-hub/templates/ingress.yaml b/charts/flame-hub/templates/ingress.yaml index 00db997..5d67d59 100644 --- a/charts/flame-hub/templates/ingress.yaml +++ b/charts/flame-hub/templates/ingress.yaml @@ -2,14 +2,15 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: {{ .Release.Name }}-flame-hub-sub-paths + name: {{ .Release.Name }}-flame-hub annotations: - nginx.ingress.kubernetes.io/rewrite-target: /$2 - nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" - nginx.ingress.kubernetes.io/proxy-body-size: "0" - nginx.ingress.kubernetes.io/proxy-send-timeout: "300" - nginx.ingress.kubernetes.io/proxy-read-timeout: "300" + {{- range $key, $value := .Values.global.flameHub.ingress.annotations }} + {{ $key }}: {{ tpl ($value | toString) $ | quote }} + {{- end }} spec: + {{- if .Values.global.flameHub.ingress.className }} + ingressClassName: {{ .Values.global.flameHub.ingress.className }} + {{- end }} rules: - host: {{ .Values.global.flameHub.ingress.hostname }} http: @@ -17,10 +18,10 @@ spec: - path: /grafana(/|$)(.*) pathType: "ImplementationSpecific" backend: - service: - name: {{ .Release.Name }}-grafana - port: - number: 3000 + service: + name: {{ .Release.Name }}-grafana + port: + number: 3000 - path: /core(/|$)(.*) pathType: "ImplementationSpecific" backend: @@ -45,10 +46,10 @@ spec: - path: /telemetry(/|$)(.*) pathType: "ImplementationSpecific" backend: - service: - name: {{ .Release.Name }}-flame-hub-server-telemetry - port: - number: 3000 + service: + name: {{ .Release.Name }}-flame-hub-server-telemetry + port: + number: 3000 - path: /auth(/|$)(.*) pathType: "ImplementationSpecific" backend: @@ -56,25 +57,13 @@ spec: name: {{ .Release.Name }}-authup-server-core port: number: 3000 ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ .Release.Name }}-flame-hub-root-path -spec: - rules: - - host: {{ .Values.global.flameHub.ingress.hostname }} - http: - paths: - - path: / - pathType: "Prefix" + - path: /()(.*) + pathType: "ImplementationSpecific" backend: service: name: {{ .Release.Name }}-flame-hub-client-ui port: number: 3000 - - {{- end }} {{/* Harbor ingress is independent of the above ingress since Harbor always needs its own hostname */}} @@ -85,12 +74,13 @@ kind: Ingress metadata: name: {{ .Release.Name }}-harbor annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - nginx.ingress.kubernetes.io/proxy-read-timeout: "900" - nginx.ingress.kubernetes.io/proxy-send-timeout: "900" - nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - nginx.ingress.kubernetes.io/upstream-vhost: "{{ include "harbor.host" . }}" + {{- range $key, $value := .Values.harbor.ingress.annotations }} + {{ $key }}: {{ tpl ($value | toString) $ | quote }} + {{- end }} spec: + {{- if .Values.harbor.ingress.className }} + ingressClassName: {{ .Values.harbor.ingress.className }} + {{- end }} rules: - host: {{ include "harbor.host" . }} http: diff --git a/charts/flame-hub/templates/server-core/ingress.yaml b/charts/flame-hub/templates/server-core/ingress.yaml index 90a5483..dc8b35e 100644 --- a/charts/flame-hub/templates/server-core/ingress.yaml +++ b/charts/flame-hub/templates/server-core/ingress.yaml @@ -3,7 +3,16 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ .Release.Name }}-flame-hub-server-core + {{- with .Values.serverCore.ingress.annotations }} + annotations: + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: + {{- if .Values.serverCore.ingress.className }} + ingressClassName: {{ .Values.serverCore.ingress.className }} + {{- end }} rules: - host: {{ .Values.serverCore.ingress.hostname }} http: diff --git a/charts/flame-hub/templates/server-messenger/ingress.yaml b/charts/flame-hub/templates/server-messenger/ingress.yaml index 4b24eac..b065ca0 100644 --- a/charts/flame-hub/templates/server-messenger/ingress.yaml +++ b/charts/flame-hub/templates/server-messenger/ingress.yaml @@ -3,7 +3,16 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ .Release.Name }}-flame-hub-server-messenger + {{- with .Values.serverMessenger.ingress.annotations }} + annotations: + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: + {{- if .Values.serverMessenger.ingress.className }} + ingressClassName: {{ .Values.serverMessenger.ingress.className }} + {{- end }} rules: - host: {{ .Values.serverMessenger.ingress.hostname }} http: diff --git a/charts/flame-hub/templates/server-storage/ingress.yaml b/charts/flame-hub/templates/server-storage/ingress.yaml index a998320..c111196 100644 --- a/charts/flame-hub/templates/server-storage/ingress.yaml +++ b/charts/flame-hub/templates/server-storage/ingress.yaml @@ -3,11 +3,16 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ .Release.Name }}-flame-hub-server-storage + {{- with .Values.serverStorage.ingress.annotations }} annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - nginx.ingress.kubernetes.io/proxy-send-timeout: "300" - nginx.ingress.kubernetes.io/proxy-read-timeout: "300" + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: + {{- if .Values.serverStorage.ingress.className }} + ingressClassName: {{ .Values.serverStorage.ingress.className }} + {{- end }} rules: - host: {{ .Values.serverStorage.ingress.hostname }} http: diff --git a/charts/flame-hub/templates/server-telemetry/ingress.yaml b/charts/flame-hub/templates/server-telemetry/ingress.yaml index 7f90e6f..a0bc1d2 100644 --- a/charts/flame-hub/templates/server-telemetry/ingress.yaml +++ b/charts/flame-hub/templates/server-telemetry/ingress.yaml @@ -3,9 +3,16 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ .Release.Name }}-flame-hub-server-telemetry-sub-paths + {{- with .Values.serverTelemetry.ingress.subPathAnnotations }} annotations: - nginx.ingress.kubernetes.io/rewrite-target: /$2 + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: + {{- if .Values.serverTelemetry.ingress.className }} + ingressClassName: {{ .Values.serverTelemetry.ingress.className }} + {{- end }} rules: - host: {{ .Values.serverTelemetry.ingress.hostname }} http: @@ -22,9 +29,16 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ .Release.Name }}-flame-hub-server-telemetry + {{- with .Values.serverTelemetry.ingress.annotations }} annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} spec: + {{- if .Values.serverTelemetry.ingress.className }} + ingressClassName: {{ .Values.serverTelemetry.ingress.className }} + {{- end }} rules: - host: {{ .Values.serverTelemetry.ingress.hostname }} http: diff --git a/charts/flame-hub/values.yaml b/charts/flame-hub/values.yaml index 9738235..f03e2ac 100644 --- a/charts/flame-hub/values.yaml +++ b/charts/flame-hub/values.yaml @@ -6,6 +6,12 @@ global: enabled: true ssl: false hostname: "localhost" + className: "" + # Default annotations for ingress nginx + # Replace or remove if you use a different ingress controller + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" image: registry: ghcr.io @@ -29,6 +35,8 @@ serverCore: hostname: "" path: "/" pathType: "Prefix" + className: "" + annotations: {} env: masterImagesBranch: "" @@ -39,6 +47,8 @@ serverMessenger: hostname: "" path: "/" pathType: "Prefix" + className: "" + annotations: {} serverStorage: ingress: @@ -47,6 +57,12 @@ serverStorage: hostname: "" path: "/" pathType: "Prefix" + # Default annotations for ingress nginx (e.g. for large file uploads) + # Replace or remove if you use a different ingress controller + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/proxy-send-timeout: "300" + nginx.ingress.kubernetes.io/proxy-read-timeout: "300" serverTelemetry: ingress: @@ -55,6 +71,13 @@ serverTelemetry: hostname: "" path: "/" pathType: "Prefix" + # Default annotations for ingress nginx + # Replace or remove if you use a different ingress controller + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "0" + # Annotations for the grafana sub-path ingress (rewrite-target) + subPathAnnotations: + nginx.ingress.kubernetes.io/rewrite-target: /$2 serverCoreWorker: enabled: true @@ -297,6 +320,15 @@ harbor: externalURL: "" # Required by Harbor, e.g. https://harbor.hub.local ingress: enabled: true # Harbor always needs its own hostname, this is independent of global path-based ingress + className: "" + # Default annotations for ingress nginx + # Replace or remove if you use a different ingress controller + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/proxy-read-timeout: "900" + nginx.ingress.kubernetes.io/proxy-send-timeout: "900" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + nginx.ingress.kubernetes.io/upstream-vhost: '{{ include "harbor.host" . }}' migration: enabled: true # persistence: