50 lines
2.0 KiB
YAML
50 lines
2.0 KiB
YAML
{{- if .Values.ingress.enabled }}
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: {{ include "lions-app.name" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "lions-app.labels" . | nindent 4 }}
|
|
annotations:
|
|
# cert-manager
|
|
cert-manager.io/cluster-issuer: {{ .Values.ingress.clusterIssuer | quote }}
|
|
{{- if .Values.ingress.pathPrefix.enabled }}
|
|
# Mode prefix-strip : le path /prefix(/|$)(.*) est rewrité en /$2
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$2
|
|
{{- end }}
|
|
{{- if .Values.ingress.rateLimit.enabled }}
|
|
nginx.ingress.kubernetes.io/limit-rpm: {{ .Values.ingress.rateLimit.rpm | default 1000 | quote }}
|
|
nginx.ingress.kubernetes.io/limit-connections: {{ .Values.ingress.rateLimit.connections | default 100 | quote }}
|
|
{{- end }}
|
|
{{- if .Values.ingress.cors.enabled }}
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: {{ .Values.ingress.cors.origins | quote }}
|
|
nginx.ingress.kubernetes.io/cors-allow-methods: {{ .Values.ingress.cors.methods | quote }}
|
|
nginx.ingress.kubernetes.io/cors-allow-headers: {{ .Values.ingress.cors.headers | quote }}
|
|
{{- end }}
|
|
{{- with .Values.ingress.annotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className | default "nginx" }}
|
|
{{- if .Values.ingress.tls.enabled }}
|
|
tls:
|
|
- hosts:
|
|
- {{ .Values.ingress.host | quote }}
|
|
secretName: {{ .Values.ingress.tls.secretName | default (include "lions-app.tlsSecretName" .) }}
|
|
{{- end }}
|
|
rules:
|
|
- host: {{ .Values.ingress.host | quote }}
|
|
http:
|
|
paths:
|
|
- path: {{ include "lions-app.ingressPath" . }}
|
|
pathType: {{ include "lions-app.ingressPathType" . }}
|
|
backend:
|
|
service:
|
|
name: {{ include "lions-app.name" . }}
|
|
port:
|
|
number: {{ .Values.service.port }}
|
|
{{- end }}
|