Browse Source

Introduced ingress classes nginx and alb

master
Fábio Kaiser Rauber 4 years ago
parent
commit
ee0eb19dc0
  1. 11
      charts/portalmodelo/v0.5.0/questions.yaml
  2. 24
      charts/portalmodelo/v0.5.0/templates/ingress.yaml
  3. 3
      charts/portalmodelo/v0.5.0/values.yaml

11
charts/portalmodelo/v0.5.0/questions.yaml

@ -73,6 +73,17 @@ questions:
- letsencrypt - letsencrypt
- aws - aws
- variable: ingress.class
default: nginx
type: enum
description: "Qual o Ingress Controller?"
label: "Classe Ingress"
required: false
group: Ingress
options:
- nginx
- alb
# Configurações Avançadas # Configurações Avançadas
- variable: portal.timeZone - variable: portal.timeZone
default: "America/Sao_Paulo" default: "America/Sao_Paulo"

24
charts/portalmodelo/v0.5.0/templates/ingress.yaml

@ -13,12 +13,32 @@ metadata:
{{- include "portalmodelo.labels" . | nindent 4 }} {{- include "portalmodelo.labels" . | nindent 4 }}
annotations: annotations:
{{- if .Values.ingress.tls.enabled }} {{- if .Values.ingress.tls.enabled }}
# USE TLS
{{- if contains "letsencrypt" .Values.ingress.tls.provider }} {{- if contains "letsencrypt" .Values.ingress.tls.provider }}
cert-manager.io/cluster-issuer: "letsencrypt-prod" cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }} {{- end }}
{{- if contains "nginx" .Values.ingress.class }}
nginx.ingress.kubernetes.io/rewrite-target: "/VirtualHostBase/https/www.{{ $hostName }}:443/portal/VirtualHostRoot/$1" nginx.ingress.kubernetes.io/rewrite-target: "/VirtualHostBase/https/www.{{ $hostName }}:443/portal/VirtualHostRoot/$1"
nginx.ingress.kubernetes.io/from-to-www-redirect: "true" nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
{{- end }} {{- end }}
{{- if contains "alb" .Values.ingress.class }}
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
{{- end }}
{{- else }}
# DO NOT USE TLS
{{- if contains "nginx" .Values.ingress.class }}
nginx.ingress.kubernetes.io/rewrite-target: "/VirtualHostBase/http/www.{{ $hostName }}:80/portal/VirtualHostRoot/$1"
{{- end }}
{{- if contains "alb" .Values.ingress.class }}
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]'
{{- end }}
{{- end }}
{{- if contains "alb" .Values.ingress.class }}
alb.ingress.kubernetes.io/group.name: pm
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
kubernetes.io/ingress.class: alb
{{- end }}
spec: spec:
{{- if .Values.ingress.tls.enabled }} {{- if .Values.ingress.tls.enabled }}
tls: tls:
@ -31,7 +51,11 @@ spec:
- host: "www.{{ $hostName }}" - host: "www.{{ $hostName }}"
http: http:
paths: paths:
{{- if contains "nginx" .Values.ingress.class }}
- path: /(.*) - path: /(.*)
{{- else }}
- path: /*
{{- end }}
backend: backend:
serviceName: {{ $fullName }}-plone serviceName: {{ $fullName }}-plone
servicePort: 8080 servicePort: 8080

3
charts/portalmodelo/v0.5.0/values.yaml

@ -53,6 +53,9 @@ securityContext: {}
ingress: ingress:
enabled: true enabled: true
class: nginx
# nginx - for default nginx ingress controller
# alb - for AWS ALB Load Balancer controller
tls: tls:
enabled: true enabled: true
provider: letsencrypt provider: letsencrypt

Loading…
Cancel
Save