Skip to content

Commit a58792b

Browse files
committed
Add root redirect to /app for Docker and K8s
1 parent 68db6ec commit a58792b

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

chart/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v2
22
name: login
33
description: HOTOSM Login Service - Hanko SSO + OSM OAuth
4-
version: "0.1.1"
4+
version: "0.1.2"
55
appVersion: "1.0.0"
66
maintainers:
77
- email: sysadmin@hotosm.org

chart/templates/ingress.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,39 @@ spec:
140140
name: {{ include "login.frontend.fullname" . }}
141141
port:
142142
number: {{ .Values.frontend.service.port }}
143+
---
144+
# Root redirect - / to /app
145+
apiVersion: networking.k8s.io/v1
146+
kind: Ingress
147+
metadata:
148+
name: {{ include "login.frontend.fullname" . }}-root-redirect
149+
labels:
150+
{{- include "login.labels" . | nindent 4 }}
151+
app.kubernetes.io/component: frontend
152+
annotations:
153+
nginx.ingress.kubernetes.io/ssl-redirect: "true"
154+
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
155+
nginx.ingress.kubernetes.io/temporal-redirect: "https://{{ .Values.ingress.host }}/app"
156+
cert-manager.io/cluster-issuer: "letsencrypt-prod"
157+
external-dns.alpha.kubernetes.io/hostname: {{ .Values.ingress.host }}
158+
external-dns.alpha.kubernetes.io/ttl: "300"
159+
spec:
160+
{{- if .Values.ingress.className }}
161+
ingressClassName: {{ .Values.ingress.className }}
162+
{{- end }}
163+
tls:
164+
- hosts:
165+
- {{ .Values.ingress.host }}
166+
secretName: {{ include "login.frontend.fullname" . }}-root-tls
167+
rules:
168+
- host: {{ .Values.ingress.host }}
169+
http:
170+
paths:
171+
- path: /
172+
pathType: Exact
173+
backend:
174+
service:
175+
name: {{ include "login.frontend.fullname" . }}
176+
port:
177+
number: {{ .Values.frontend.service.port }}
143178
{{- end }}

docker-compose.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,16 @@ services:
196196
- hotosm
197197
labels:
198198
- "traefik.enable=true"
199+
# Redirect root / to /app
200+
- "traefik.http.routers.login-root.rule=Host(`dev.login.hotosm.org`) && Path(`/`)"
201+
- "traefik.http.routers.login-root.entrypoints=https"
202+
- "traefik.http.routers.login-root.tls=true"
203+
- "traefik.http.routers.login-root.tls.certresolver=letsencrypt"
204+
- "traefik.http.routers.login-root.priority=1"
205+
- "traefik.http.routers.login-root.middlewares=login-root-redirect"
206+
- "traefik.http.middlewares.login-root-redirect.redirectregex.regex=^https://([^/]+)/?$$"
207+
- "traefik.http.middlewares.login-root-redirect.redirectregex.replacement=https://$${1}/app"
208+
- "traefik.http.routers.login-root.service=login-frontend"
199209
# Frontend serves /app and /login paths (GET /login goes to frontend, POST /login has higher priority to Hanko)
200210
- "traefik.http.routers.login-frontend.rule=Host(`dev.login.hotosm.org`) && (PathPrefix(`/app`) || Path(`/login`))"
201211
- "traefik.http.routers.login-frontend.entrypoints=https"

0 commit comments

Comments
 (0)