69 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| {{- if .Values.ingress.enabled -}}
 | |
| {{- $fullName := include "mastodon.fullname" . -}}
 | |
| {{- $webPort := .Values.mastodon.web.port -}}
 | |
| {{- $streamingPort := .Values.mastodon.streaming.port -}}
 | |
| {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
 | |
| apiVersion: networking.k8s.io/v1
 | |
| {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
 | |
| 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:
 | |
|   {{- if .Values.ingress.tls }}
 | |
|   tls:
 | |
|     {{- range .Values.ingress.tls }}
 | |
|     - hosts:
 | |
|         {{- range .hosts }}
 | |
|         - {{ . | quote }}
 | |
|         {{- end }}
 | |
|       secretName: {{ .secretName }}
 | |
|     {{- end }}
 | |
|   {{- end }}
 | |
|   rules:
 | |
|     {{- range .Values.ingress.hosts }}
 | |
|     - host: {{ .host | quote }}
 | |
|       http:
 | |
|         paths:
 | |
|           {{- range .paths }}
 | |
|           - path: {{ .path }}
 | |
|             backend:
 | |
|               {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
 | |
|               service:
 | |
|                 name: {{ $fullName }}-web
 | |
|                 port:
 | |
|                   number: {{ $webPort }}
 | |
|               {{- else }}
 | |
|               serviceName: {{ $fullName }}-web
 | |
|               servicePort: {{ $webPort }}
 | |
|               {{- end }}
 | |
|             {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
 | |
|             pathType: ImplementationSpecific
 | |
|             {{- end }}
 | |
|           - path: {{ .path }}api/v1/streaming
 | |
|             backend:
 | |
|               {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
 | |
|               service:
 | |
|                 name: {{ $fullName }}-streaming
 | |
|                 port:
 | |
|                   number: {{ $streamingPort }}
 | |
|               {{- else }}
 | |
|               serviceName: {{ $fullName }}-streaming
 | |
|               servicePort: {{ $streamingPort }}
 | |
|               {{- end }}
 | |
|             {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
 | |
|             pathType: ImplementationSpecific
 | |
|             {{- end }}
 | |
|           {{- end }}
 | |
|     {{- end }}
 | |
| {{- end }}
 |