| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- {{- if and .Values.ingress.create (eq .Values.ingress.type "nginx-ssl") (semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion) -}}
- apiVersion: networking.k8s.io/v1beta1
- kind: Ingress
- metadata:
- name: hue
- annotations:
- kubernetes.io/ingress.class: nginx
- cert-manager.io/cluster-issuer: letsencrypt-hue-prod
- cert-manager.io/acme-challenge-type: http01
- nginx.ingress.kubernetes.io/rewrite-target: /$1
- nginx.ingress.kubernetes.io/ssl-redirect: "true"
- nginx.ingress.kubernetes.io/affinity: "cookie"
- nginx.ingress.kubernetes.io/session-cookie-name: "hue-balancer"
- nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
- nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
- {{- if .Values.ingress.hasAuth }}
- nginx.ingress.kubernetes.io/auth-type: basic
- nginx.ingress.kubernetes.io/auth-secret: basic-auth-hue
- nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
- {{- end }}
- {{- with .Values.ingress.annotations }}
- {{ toYaml . | indent 4 }}
- {{- end }}
- spec:
- rules:
- - host: {{ .Values.ingress.domain }}
- http:
- paths:
- {{- if .Values.websocket.enabled }}
- - backend:
- serviceName: daphne-websocket
- servicePort: 8001
- path: /(ws/.*)
- {{- end }}
- - backend:
- serviceName: hue-balancer
- servicePort: 80
- path: /(.*)
- {{- range .Values.ingress.extraHosts }}
- - host: {{ . | quote }}
- http:
- paths:
- - backend:
- serviceName: hue-balancer
- servicePort: 80
- path: /
- {{- end }}
- {{- if .Values.api.enabled }}
- - host: {{ .Values.api.domain }}
- http:
- paths:
- - backend:
- serviceName: hue-api
- servicePort: 8005
- path: /(.*)
- {{- end }}
- tls:
- - hosts:
- - {{ .Values.ingress.domain }}
- {{- range .Values.ingress.extraHosts }}
- - {{ . | quote }}
- {{- end }}
- {{- if .Values.api.enabled }}
- - {{ .Values.api.domain }}
- {{- end }}
- secretName: letsencrypt-hue-prod-tls
- {{- end -}}
|