cw-infra-apps/livekit/livekit-server/templates/ingress.yaml

76 lines
2.2 KiB
YAML

{{- if and (ne .Values.loadBalancer.type "disable") (ne .Values.loadBalancer.type "gclb") -}}
{{- $fullName := include "livekit-server.fullname" . -}}
{{- $svcPort := .Values.loadBalancer.servicePort -}}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "livekit-server.labels" . | nindent 4 }}
annotations:
# custom annotations
{{- with .Values.loadBalancer.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
# AWS ALB
{{- if eq .Values.loadBalancer.type "alb" }}
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
{{- if .Values.loadBalancer.tls }}
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
{{- end }}
{{- end }}
# GKE with managed certs
{{- if eq .Values.loadBalancer.type "gke-managed-cert" }}
kubernetes.io/ingress.global-static-ip-name: {{ .Values.loadBalancer.staticIpName }}
networking.gke.io/managed-certificates: {{ or .Values.loadBalancer.certificateName "managed-cert" }}
kubernetes.io/ingress.class: "gce"
{{- end }}
# DO with cert manager
{{- if eq .Values.loadBalancer.type "do" }}
cert-manager.io/cluster-issuer: {{ .Values.loadBalancer.clusterIssuer }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }}
apiVersion: networking.k8s.io/v1
{{- else }}
apiVersion: extensions/v1beta1
{{- end }}
spec:
{{- if eq .Values.loadBalancer.type "do" }}
ingressClassName: nginx
{{- end }}
rules:
# In order to work with cert manager on DO, we cannot set us as a default backend
{{- range .Values.loadBalancer.tls }}
{{- range .hosts }}
- host: {{ . | quote }}
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- end }}
{{- end }}
{{- if ne .Values.loadBalancer.type "gke-vpc-native" }}
{{- with .Values.loadBalancer }}
{{- if .tls }}
tls:
{{- range .tls }}
{{- if .hosts }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
{{- if .secretName }}
secretName: {{ .secretName | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}