Added ingressClassName support and adminIngress for k8s (#2188)
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/run/k8s-values.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/run/k8s-values.adoc
index 7e72dbd..f36b2bd 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/run/k8s-values.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/run/k8s-values.adoc
@@ -97,10 +97,20 @@
|glowroot.enabled |true |Enabling or disabling Glowroot usage with
James. It’s better to disable it for prod environments
-|ingress.enabled |false |Enabling or disabling Nginx Ingress. We are
+|ingress.enabled |false |Enabling or disabling Ingress. We are
using it to expose JMAP and attach our SSL certificates for
SMTP/IMAP/JMAP. Default is false
+|ingress.ingressClassName |change-me |kubernetes.io/ingress.class is
+deprecated from Kubernetes v1.22+. Use ingressClassName instead for
+Kubernetes v1.18+
+
+|adminIngress.enabled |false |Enabling or disabling Ingress for Web Admin.
+
+|adminIngress.ingressClassName |change-me |kubernetes.io/ingress.class is
+deprecated from Kubernetes v1.22+. Use ingressClassName instead for
+Kubernetes v1.18+
+
|james.tls.secretName |the-name-of-a-secret |The name of the secret
created separately contenting the SSL certificate for JMAP, IMAPS and
SMTPS
diff --git a/server/apps/distributed-app/helm-chart/james/templates/james-admin-ingress.yaml b/server/apps/distributed-app/helm-chart/james/templates/james-admin-ingress.yaml
index 09acc48..c40f881 100644
--- a/server/apps/distributed-app/helm-chart/james/templates/james-admin-ingress.yaml
+++ b/server/apps/distributed-app/helm-chart/james/templates/james-admin-ingress.yaml
@@ -1,18 +1,21 @@
-{{- if .Values.ingress.enabled }}
+{{- if .Values.adminIngress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: james-admin
- {{- with .Values.ingress.annotations }}
+ {{- with .Values.adminIngress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
-{{- if .Values.ingress.tls }}
+{{- if .Values.adminIngress.ingressClassName }}
+ ingressClassName: {{ .Values.adminIngress.ingressClassName }}
+{{- end }}
+{{- if .Values.adminIngress.tls }}
tls:
- hosts:
- {{ .Values.dns.adminUrl }}
- {{ toYaml .Values.ingress.tls }}
+ {{ toYaml .Values.adminIngress.tls }}
{{- end }}
rules:
- host: {{ .Values.dns.adminUrl }}
diff --git a/server/apps/distributed-app/helm-chart/james/templates/jmap-ingress.yaml b/server/apps/distributed-app/helm-chart/james/templates/jmap-ingress.yaml
index 610a0e9..c2292f9 100644
--- a/server/apps/distributed-app/helm-chart/james/templates/jmap-ingress.yaml
+++ b/server/apps/distributed-app/helm-chart/james/templates/jmap-ingress.yaml
@@ -8,6 +8,9 @@
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
+{{- if .Values.ingress.ingressClassName }}
+ ingressClassName: {{ .Values.ingress.ingressClassName }}
+{{- end }}
{{- if .Values.ingress.tls }}
tls:
- hosts:
diff --git a/server/apps/distributed-app/helm-chart/james/values.yaml b/server/apps/distributed-app/helm-chart/james/values.yaml
index ee10968..1d05e44 100644
--- a/server/apps/distributed-app/helm-chart/james/values.yaml
+++ b/server/apps/distributed-app/helm-chart/james/values.yaml
@@ -53,11 +53,19 @@
ingress:
enabled: false
+ # ingressClassName: "change-me"
annotations:
- kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: name-of-the-cluster-issuer
tls:
- secretName: the-name-of-a-secret
+ secretName: the-name-of-a-secret
+
+adminIngress:
+ enabled: false
+ # ingressClassName: "change-me"
+ annotations:
+ cert-manager.io/cluster-issuer: name-of-the-cluster-issuer
+ tls:
+ secretName: the-name-of-a-secret
###
# Please refer to the values.yaml from the Helm package for databases