Browse Source

Implemented ingress for correioadm and imap

master
Fábio Kaiser Rauber 3 years ago
parent
commit
9a97127568
  1. 29
      charts/emailleg/v1.4.0/templates/NOTES.txt
  2. 38
      charts/emailleg/v1.4.0/templates/correioadm-ingress.yaml
  3. 40
      charts/emailleg/v1.4.0/templates/imap-ingress.yaml
  4. 61
      charts/emailleg/v1.4.0/templates/ingress.yaml
  5. 16
      charts/emailleg/v1.4.0/values.yaml

29
charts/emailleg/v1.4.0/templates/NOTES.txt

@ -1,22 +1,7 @@
1. Get the application URL by running these commands: Parabéns pela instalação do seu Correio Legislativo!
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }} 1. Gerencie o serviço de correio através da URL:
{{- range .paths }} https://correioadm.{{ .Values.mail.domain }}/
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} 2. Configurações para seu cliente de e-mail:
{{- end }} - IMAP: imap.{{ .Values.mail.domain }} (Porta 993/SSL)
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "emailleg.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "emailleg.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "emailleg.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "emailleg.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
{{- end }}

38
charts/emailleg/v1.4.0/templates/correioadm-ingress.yaml

@ -0,0 +1,38 @@
{{- $fullName := include "emailleg.fullname" . -}}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
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 "emailleg.labels" . | nindent 4 }}
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- "correioadm.{{ .Values.mail.domain }}"
secretName: {{ .Release.name }}-correioadm-crt
rules:
- host: "correioadm.{{ .Values.mail.domain }}"
http:
paths:
- path: {{ .path }}
{{- if semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ .Release.Name }}-mail
port:
number: http
{{- else }}
serviceName: {{ .Release.Name }}-mail
servicePort: http
{{- end }}

40
charts/emailleg/v1.4.0/templates/imap-ingress.yaml

@ -0,0 +1,40 @@
{{- $fullName := include "emailleg.fullname" . -}}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
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 "emailleg.labels" . | nindent 4 }}
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
ingress.kubernetes.io/tcp-service-port: "993"
kubernetes.io/ingress.class: haproxy
spec:
tls:
- hosts:
- "imap.{{ .Values.mail.domain }}"
secretName: {{ .Release.name }}-imap-crt
rules:
- host: "imap.{{ .Values.mail.domain }}"
http:
paths:
- path: {{ .path }}
{{- if semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ .Release.Name }}-mail
port:
number: imap
{{- else }}
serviceName: {{ .Release.Name }}-mail
servicePort: imap
{{- end }}

61
charts/emailleg/v1.4.0/templates/ingress.yaml

@ -1,61 +0,0 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "emailleg.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
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 "emailleg.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- 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 }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

16
charts/emailleg/v1.4.0/values.yaml

@ -100,22 +100,6 @@ securityContext: {}
service: service:
type: ClusterIP type: ClusterIP
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []

Loading…
Cancel
Save