{{- if and .Values.admin.enabled .Values.admin.ingress.enabled -}} {{- $fullName := include "admin.fullname" . -}} {{- $ns := include "admin.namespace" . -}} {{- $hosts := .Values.admin.ingress.hosts | default list -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $fullName }}-admin-ingress namespace: {{ $ns }} labels: app.kubernetes.io/name: {{ $fullName }}-admin app.kubernetes.io/instance: {{ .Release.Name }} annotations: {{- if .Values.admin.ingress.annotations }} {{- toYaml .Values.admin.ingress.annotations | nindent 4 }} {{- end }} {{- if $.Values.certManager.enabled }} cert-manager.io/cluster-issuer: {{ $.Values.certManager.clusterIssuerName }} {{- end }} nginx.ingress.kubernetes.io/proxy-body-size: "50m" nginx.ingress.kubernetes.io/proxy-http-version: "1.1" nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/enable-websocket: "true" spec: ingressClassName: nginx {{- if and $hosts $.Values.certManager.enabled }} tls: {{- range $hosts }} - hosts: - {{ .host }} secretName: {{ $fullName }}-admin-tls {{- end }} {{- end }} rules: {{- range $hosts }} - host: {{ .host }} http: paths: - path: / pathType: Prefix backend: service: name: {{ $fullName }}-admin port: number: {{ $.Values.admin.service.port }} {{- end }} {{- end }}