{{- if .Values.server.ingress.enabled -}} {{- $serviceName := include "argo-cd.server.fullname" . -}} {{- $servicePort := .Values.server.service.servicePortHttp -}} {{- $paths := .Values.server.ingress.paths -}} {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }} apiVersion: networking.k8s.io/v1beta1 {{ else }} apiVersion: extensions/v1beta1 {{ end -}} kind: Ingress metadata: {{- if .Values.server.ingress.annotations }} annotations: {{- range $key, $value := .Values.server.ingress.annotations }} {{ $key }}: {{ $value | quote }} {{- end }} {{- end }} name: {{ template "argo-cd.server.fullname" . }} labels: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }} helm.sh/chart: {{ include "argo-cd.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.server.name }} {{- if .Values.server.ingress.labels }} {{- toYaml .Values.server.ingress.labels | nindent 4 }} {{- end }} spec: rules: {{- if .Values.server.ingress.hosts }} {{- range $host := .Values.server.ingress.hosts }} - host: {{ $host }} http: paths: {{- range $p := $paths }} - path: {{ $p }} backend: serviceName: {{ $serviceName }} servicePort: {{ $servicePort }} {{- end -}} {{- end -}} {{- else }} - http: paths: {{- range $p := $paths }} - path: {{ $p }} backend: serviceName: {{ $serviceName }} servicePort: {{ $servicePort }} {{- end -}} {{- end -}} {{- if .Values.server.ingress.tls }} tls: {{- toYaml .Values.server.ingress.tls | nindent 4 }} {{- end -}} {{- end -}}