88 lines
3.2 KiB
YAML
88 lines
3.2 KiB
YAML
{{- if and .Values.redisInsight.enabled .Values.redisInsight.ingress.enabled }}
|
|
{{- if not .Values.redisInsight.ingress.host }}
|
|
{{- fail "redisInsight.ingress.host is required when RedisInsight ingress is enabled" }}
|
|
{{- end }}
|
|
{{- if and .Values.redisInsight.ingress.tls.enabled (not .Values.redisInsight.ingress.tls.credentialName) }}
|
|
{{- fail "redisInsight.ingress.tls.credentialName is required when TLS is enabled" }}
|
|
{{- end }}
|
|
{{- if and .Values.redisInsight.ingress.tls.certificate.create (not .Values.redisInsight.ingress.tls.enabled) }}
|
|
{{- fail "redisInsight.ingress.tls.enabled must be true when certificate.create is true" }}
|
|
{{- end }}
|
|
{{- if and .Values.redisInsight.ingress.tls.certificate.create (not .Values.redisInsight.ingress.tls.certificate.issuerName) }}
|
|
{{- fail "redisInsight.ingress.tls.certificate.issuerName is required when certificate.create is true" }}
|
|
{{- end }}
|
|
{{- if and .Values.redisInsight.ingress.tls.enabled .Values.redisInsight.ingress.tls.certificate.create }}
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: {{ include "redis-cluster.redisInsightName" . }}-tls
|
|
namespace: {{ default .Release.Namespace .Values.redisInsight.ingress.tls.certificate.secretNamespace }}
|
|
labels:
|
|
{{- include "redis-cluster.redisInsightLabels" . | nindent 4 }}
|
|
spec:
|
|
secretName: {{ .Values.redisInsight.ingress.tls.credentialName }}
|
|
issuerRef:
|
|
name: {{ .Values.redisInsight.ingress.tls.certificate.issuerName }}
|
|
kind: {{ .Values.redisInsight.ingress.tls.certificate.issuerKind }}
|
|
commonName: {{ .Values.redisInsight.ingress.host | quote }}
|
|
dnsNames:
|
|
- {{ .Values.redisInsight.ingress.host | quote }}
|
|
---
|
|
{{- end }}
|
|
apiVersion: networking.istio.io/v1beta1
|
|
kind: Gateway
|
|
metadata:
|
|
name: {{ include "redis-cluster.redisInsightName" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "redis-cluster.redisInsightLabels" . | nindent 4 }}
|
|
spec:
|
|
selector:
|
|
{{- toYaml .Values.redisInsight.ingress.gatewaySelector | nindent 4 }}
|
|
servers:
|
|
- port:
|
|
number: 80
|
|
name: http
|
|
protocol: HTTP
|
|
hosts:
|
|
- {{ .Values.redisInsight.ingress.host | quote }}
|
|
{{- if .Values.redisInsight.ingress.tls.enabled }}
|
|
tls:
|
|
httpsRedirect: true
|
|
{{- end }}
|
|
{{- if .Values.redisInsight.ingress.tls.enabled }}
|
|
- port:
|
|
number: 443
|
|
name: https
|
|
protocol: HTTPS
|
|
hosts:
|
|
- {{ .Values.redisInsight.ingress.host | quote }}
|
|
tls:
|
|
mode: SIMPLE
|
|
credentialName: {{ .Values.redisInsight.ingress.tls.credentialName }}
|
|
{{- end }}
|
|
---
|
|
apiVersion: networking.istio.io/v1beta1
|
|
kind: VirtualService
|
|
metadata:
|
|
name: {{ include "redis-cluster.redisInsightName" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "redis-cluster.redisInsightLabels" . | nindent 4 }}
|
|
spec:
|
|
hosts:
|
|
- {{ .Values.redisInsight.ingress.host | quote }}
|
|
gateways:
|
|
- {{ include "redis-cluster.redisInsightName" . }}
|
|
http:
|
|
- match:
|
|
- uri:
|
|
prefix: /
|
|
timeout: {{ .Values.redisInsight.ingress.requestTimeout }}
|
|
route:
|
|
- destination:
|
|
host: {{ include "redis-cluster.redisInsightName" . }}
|
|
port:
|
|
number: 80
|
|
{{- end }}
|