ingress-https-v1beta.yaml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. {{- if and .Values.ingress.create (eq .Values.ingress.type "nginx-ssl") (semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion) -}}
  2. apiVersion: networking.k8s.io/v1beta1
  3. kind: Ingress
  4. metadata:
  5. name: hue
  6. annotations:
  7. kubernetes.io/ingress.class: nginx
  8. cert-manager.io/cluster-issuer: letsencrypt-hue-prod
  9. cert-manager.io/acme-challenge-type: http01
  10. nginx.ingress.kubernetes.io/rewrite-target: /$1
  11. nginx.ingress.kubernetes.io/ssl-redirect: "true"
  12. nginx.ingress.kubernetes.io/affinity: "cookie"
  13. nginx.ingress.kubernetes.io/session-cookie-name: "hue-balancer"
  14. nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
  15. nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
  16. {{- if .Values.ingress.hasAuth }}
  17. nginx.ingress.kubernetes.io/auth-type: basic
  18. nginx.ingress.kubernetes.io/auth-secret: basic-auth-hue
  19. nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
  20. {{- end }}
  21. {{- with .Values.ingress.annotations }}
  22. {{ toYaml . | indent 4 }}
  23. {{- end }}
  24. spec:
  25. rules:
  26. - host: {{ .Values.ingress.domain }}
  27. http:
  28. paths:
  29. {{- if .Values.websocket.enabled }}
  30. - backend:
  31. serviceName: daphne-websocket
  32. servicePort: 8001
  33. path: /(ws/.*)
  34. {{- end }}
  35. - backend:
  36. serviceName: hue-balancer
  37. servicePort: 80
  38. path: /(.*)
  39. {{- range .Values.ingress.extraHosts }}
  40. - host: {{ . | quote }}
  41. http:
  42. paths:
  43. - backend:
  44. serviceName: hue-balancer
  45. servicePort: 80
  46. path: /
  47. {{- end }}
  48. {{- if .Values.api.enabled }}
  49. - host: {{ .Values.api.domain }}
  50. http:
  51. paths:
  52. - backend:
  53. serviceName: hue-api
  54. servicePort: 8005
  55. path: /(.*)
  56. {{- end }}
  57. tls:
  58. - hosts:
  59. - {{ .Values.ingress.domain }}
  60. {{- range .Values.ingress.extraHosts }}
  61. - {{ . | quote }}
  62. {{- end }}
  63. {{- if .Values.api.enabled }}
  64. - {{ .Values.api.domain }}
  65. {{- end }}
  66. secretName: letsencrypt-hue-prod-tls
  67. {{- end -}}