diff --git a/charts/templates/ingress-https-redirect.yaml b/charts/templates/ingress-https-redirect.yaml new file mode 100644 index 0000000..f456183 --- /dev/null +++ b/charts/templates/ingress-https-redirect.yaml @@ -0,0 +1,23 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .Chart.Name }}-redirect + namespace: {{ .Release.Namespace }} + labels: + {{- include "htwkalender.labels" . | nindent 4 }} + {{- if .Values.ingress.httpsRedirect.annotations }} + annotations: + {{ toYaml .Values.ingress.httpsRedirect.annotations | nindent 4 }} + {{- else }} + annotations: [] + {{- end }} +spec: + ingressClassName: "PLACEHOLDER" + tls: + - hosts: + {{- range .Values.ingress.httpsRedirect.hosts }} + - {{ .host | quote }} + {{- end }} + secretName: {{ $.Chart.Name }}-cert + rules: + {{- toYaml .Values.ingress.httpsRedirect.hosts | nindent 4 }} diff --git a/charts/templates/ingress-https.yaml b/charts/templates/ingress-https.yaml new file mode 100644 index 0000000..d096e55 --- /dev/null +++ b/charts/templates/ingress-https.yaml @@ -0,0 +1,23 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .Chart.Name }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "htwkalender.labels" . | nindent 4 }} + {{- if .Values.ingress.https.annotations }} + annotations: + {{ toYaml .Values.ingress.https.annotations | nindent 4 }} + {{- else }} + annotations: [] + {{- end }} +spec: + ingressClassName: "PLACEHOLDER" + tls: + - hosts: + {{- range .Values.ingress.https.hosts }} + - {{ .host | quote }} + {{- end }} + secretName: {{ $.Chart.Name }}-cert + rules: + {{- toYaml .Values.ingress.https.hosts | nindent 4 }} diff --git a/charts/values.yaml b/charts/values.yaml index a22a06f..3f57ea8 100644 --- a/charts/values.yaml +++ b/charts/values.yaml @@ -55,77 +55,78 @@ readinessProbe: port: http ingress: - hosts: - - host: *frontend_host - http: - paths: - - path: / - pathType: ImplementationSpecific - backend: - service: - name: *service_frontend - port: - number: *service_frontend_port - - path: /api/feed/room - pathType: ImplementationSpecific - backend: - service: - name: *service_ical - port: - number: *service_ical_port - - path: /api/feed - pathType: ImplementationSpecific - backend: - service: - name: *service_ical - port: - number: *service_ical_port - - path: /api - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /api/modules - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /api/events/types - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /api/rooms - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /api/schedule - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /api/courses - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port - - path: /_ - pathType: ImplementationSpecific - backend: - service: - name: *service_data_manager - port: - number: *service_data_manager_port + https: + annotations: + traefik.ingress.kubernetes.io/router.middlewares: "" + hosts: + - host: *frontend_host + http: + paths: + - path: /api/feed + pathType: Prefix + backend: + service: + name: *service_ical + port: + number: *service_ical_port + httpsRedirect: + hosts: + - host: *frontend_host + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: *service_frontend + port: + number: *service_frontend_port + - path: /api + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /api/modules + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /api/events/types + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /api/rooms + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /api/schedule + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /api/courses + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port + - path: /_ + pathType: ImplementationSpecific + backend: + service: + name: *service_data_manager + port: + number: *service_data_manager_port