2021-02-09 23:28:44 +00:00
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "mastodon.fullname" . -}}
2021-08-09 14:16:20 +00:00
{{- $webPort := .Values.mastodon.web.port -}}
{{- $streamingPort := .Values.mastodon.streaming.port -}}
2023-04-08 19:26:41 +00:00
{{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) -}}
2022-04-14 13:59:05 +00:00
apiVersion : networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
2021-02-09 23:28:44 +00:00
apiVersion : networking.k8s.io/v1beta1
{{- else -}}
apiVersion : extensions/v1beta1
{{- end }}
kind : Ingress
metadata :
name : {{ $fullName }}
labels :
{{- include "mastodon.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations :
{{- toYaml . | nindent 4 }}
{{- end }}
spec :
2023-04-08 19:26:41 +00:00
{{- if .Values.ingress.ingressClassName }}
ingressClassName : {{ .Values.ingress.ingressClassName }}
2022-07-31 03:27:41 +00:00
{{- end }}
2021-02-09 23:28:44 +00:00
{{- if .Values.ingress.tls }}
tls :
{{- range .Values.ingress.tls }}
- hosts :
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName : {{ .secretName }}
{{- end }}
{{- end }}
rules :
2021-08-09 14:16:20 +00:00
{{- range .Values.ingress.hosts }}
- host : {{ .host | quote }}
2021-02-09 23:28:44 +00:00
http :
paths :
2021-08-09 14:16:20 +00:00
{{- range .paths }}
- path : {{ .path }}
2021-02-09 23:28:44 +00:00
backend :
2023-04-08 19:26:41 +00:00
{{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
2022-04-14 13:59:05 +00:00
service :
name : {{ $fullName }}-web
port :
number : {{ $webPort }}
{{- else }}
2021-02-09 23:28:44 +00:00
serviceName : {{ $fullName }}-web
2021-08-09 14:16:20 +00:00
servicePort : {{ $webPort }}
2022-04-14 13:59:05 +00:00
{{- end }}
2023-04-08 19:26:41 +00:00
{{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
pathType : Prefix
2022-07-31 03:27:41 +00:00
{{- end }}
2023-04-08 19:26:41 +00:00
- path : {{ .path }}api/v1/streaming
2021-02-09 23:28:44 +00:00
backend :
2023-04-08 19:26:41 +00:00
{{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
2022-04-14 13:59:05 +00:00
service :
name : {{ $fullName }}-streaming
port :
number : {{ $streamingPort }}
{{- else }}
2021-02-09 23:28:44 +00:00
serviceName : {{ $fullName }}-streaming
2021-08-09 14:16:20 +00:00
servicePort : {{ $streamingPort }}
2022-04-14 13:59:05 +00:00
{{- end }}
2023-04-08 19:26:41 +00:00
{{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
pathType : Prefix
{{- end }}
2021-08-09 14:16:20 +00:00
{{- end }}
{{- end }}
2021-02-09 23:28:44 +00:00
{{- end }}