ingress-streaming.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. {{- if .Values.ingress.streaming.enabled -}}
  2. {{- $fullName := include "mastodon.fullname" . -}}
  3. {{- $webPort := .Values.mastodon.web.port -}}
  4. {{- $streamingPort := .Values.mastodon.streaming.port -}}
  5. {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) -}}
  6. apiVersion: networking.k8s.io/v1
  7. {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
  8. apiVersion: networking.k8s.io/v1beta1
  9. {{- else -}}
  10. apiVersion: extensions/v1beta1
  11. {{- end }}
  12. kind: Ingress
  13. metadata:
  14. name: {{ $fullName }}-streaming
  15. labels:
  16. {{- include "mastodon.labels" . | nindent 4 }}
  17. {{- with .Values.ingress.streaming.annotations }}
  18. annotations:
  19. {{- toYaml . | nindent 4 }}
  20. {{- end }}
  21. spec:
  22. {{- if .Values.ingress.streaming.ingressClassName }}
  23. ingressClassName: {{ .Values.ingress.streaming.ingressClassName }}
  24. {{- end }}
  25. {{- if .Values.ingress.streaming.tls }}
  26. tls:
  27. {{- range .Values.ingress.streaming.tls }}
  28. - hosts:
  29. {{- range .hosts }}
  30. - {{ . | quote }}
  31. {{- end }}
  32. secretName: {{ .secretName }}
  33. {{- end }}
  34. {{- end }}
  35. rules:
  36. {{- range .Values.ingress.streaming.hosts }}
  37. - host: {{ .host | quote }}
  38. http:
  39. paths:
  40. {{- range .paths }}
  41. - path: {{ .path }}api/v1/streaming
  42. backend:
  43. {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
  44. service:
  45. name: {{ $fullName }}-streaming
  46. port:
  47. number: {{ $streamingPort }}
  48. {{- else }}
  49. serviceName: {{ $fullName }}-streaming
  50. servicePort: {{ $streamingPort }}
  51. {{- end }}
  52. {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
  53. pathType: Prefix
  54. {{- end }}
  55. {{- end }}
  56. {{- end }}
  57. {{- end }}