Add iOS redirect URI and JWT secret to Helm chart

Add backend.oidc.iosRedirectUri (default: timetracker://oauth/callback) and
backend.jwt.secret to values.yaml and wire them into the backend deployment
as OIDC_IOS_REDIRECT_URI and JWT_SECRET env vars. Update NOTES.txt to surface
both values post-install.
This commit is contained in:
2026-02-20 11:17:18 +01:00
parent e51dd58a6b
commit f758aa2fcd
3 changed files with 21 additions and 2 deletions

View File

@@ -33,8 +33,13 @@ IMPORTANT NOTES:
- Set postgresql.url in values.yaml to point to your existing database.
- Make sure to change the OIDC configuration in values.yaml
- Change the SESSION_SECRET from the default value for production
- Set backend.jwt.secret to a dedicated secret in production (falls back to SESSION_SECRET if empty)
- Configure ingress host and TLS settings for your environment
OIDC Configuration Required:
issuerUrl: {{ .Values.backend.oidc.issuerUrl | default "NOT SET - REQUIRED" }}
clientId: {{ .Values.backend.oidc.clientId | default "NOT SET - REQUIRED" }}
issuerUrl: {{ .Values.backend.oidc.issuerUrl | default "NOT SET - REQUIRED" }}
clientId: {{ .Values.backend.oidc.clientId | default "NOT SET - REQUIRED" }}
iosRedirectUri: {{ .Values.backend.oidc.iosRedirectUri }}
JWT (iOS Bearer auth):
jwt.secret: {{ if .Values.backend.jwt.secret }}(set){{ else }}NOT SET - falling back to session.secret{{ end }}

View File

@@ -56,8 +56,12 @@ spec:
value: {{ .Values.backend.oidc.clientId | quote }}
- name: OIDC_REDIRECT_URI
value: {{ (index .Values.ingress.hosts 0).host | printf "https://%s/api/auth/callback" | quote }}
- name: OIDC_IOS_REDIRECT_URI
value: {{ .Values.backend.oidc.iosRedirectUri | quote }}
- name: SESSION_SECRET
value: {{ .Values.backend.session.secret | quote }}
- name: JWT_SECRET
value: {{ .Values.backend.jwt.secret | quote }}
- name: APP_URL
value: {{ (index .Values.ingress.hosts 0).host | printf "https://%s" | quote }}
ports:

View File

@@ -41,11 +41,21 @@ backend:
oidc:
issuerUrl: ""
clientId: ""
# Redirect URI registered in the IDP for the iOS native app.
# Must match the custom URL scheme configured in the iOS app.
iosRedirectUri: "timetracker://oauth/callback"
# Session configuration
session:
secret: "change-this-secret-in-production"
# JWT configuration (for iOS Bearer token auth)
# jwt.secret is used to sign backend-issued JWTs for the iOS app.
# If left empty it falls back to session.secret.
# Set this to a dedicated secret in production.
jwt:
secret: ""
env:
nodeEnv: production
port: 3001