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 }}
 |