Compare commits

..
Author SHA1 Message Date
Cedric VerstraetenandClaude Opus 5.5 c1deb51dc7 feat(hub): session inactivity prompt timeout (0.187.0)
Add kerberoshub.api.session.inactivityTimeout (default 15m), passed to
hub-api as SESSION_INACTIVITY_TIMEOUT. The frontend asks idle users
whether they are still there after this long and signs them out after
60 seconds without an answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 12:04:00 +00:00
6 changed files with 5 additions and 8 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.188.0
version: 0.187.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
+1 -1
View File
@@ -870,6 +870,7 @@ kerberospipeline:
| `kerberoshub.api.session.accessTokenTimeout` | Lifetime of one access token (Go duration). The frontend renews it silently while the session is valid. | `"15m"` |
| `kerberoshub.api.session.idleTimeout` | A session that is not used for this long ends (lifetime of the refresh token). | `"12h"` |
| `kerberoshub.api.session.maxLifetime` | Hard session limit counted from login; refreshing never extends a session past it. | `"24h"` |
| `kerberoshub.api.session.inactivityTimeout` | Without user interaction for this long, the frontend asks "Are you still there?" and signs the user out after 60 seconds. `"0"` turns the prompt off. Needs hub-api with session claims and a matching frontend. | `"15m"` |
| `kerberoshub.api.schema` | The protocol to serve the Kerberos Hub API, `'http'` or `'https'`. | `"https"` |
| `kerberoshub.api.url` | The Kerberos Hub API ingress to access the API. | `"api.yourdomain.com"` |
| `kerberoshub.api.corsAllowedOrigins` | Additional complete HTTP(S) origins allowed to call the Hub API. Configured frontend origins remain allowed automatically. | `[]` |
@@ -960,7 +961,6 @@ kerberospipeline:
| `kerberoshub.frontend.features.case.enabled` | Enable or disable the case feature in the frontend. | `"true"` |
| `kerberoshub.frontend.features.darkModeEnabled` | Enable or disable dark mode in the frontend. | `"true"` |
| `kerberoshub.frontend.features.splashScreen.enabled` | Enable or disable the pre-bootstrap splash screen and reveal delay. | `"true"` |
| `kerberoshub.frontend.features.inspection.enabled` | Show the [inspect](https://github.com/uug-ai/inspect) bug-report launcher (and Alt+Shift+I): screenshot or record part of Hub, annotate it and file it as a GitHub issue via `https://inspect.uug.ai`. Needs hub-frontend with inspect support, and the Hub URL on the inspect server's origin allowlist. Sets `ALLOW_INSPECTION`. | `"false"` |
| `kerberoshub.frontend.features.landingPage` | Frontend landing page configuration. | `"/dashboard"` |
| `kerberoshub.frontend.features.i18n.enabled` | Enable or disable the runtime language switcher in the front-end. When `"false"`, `defaultLanguage` is forced and users cannot change it. | `"true"` |
| `kerberoshub.frontend.features.i18n.defaultLanguage` | Default language code used by the front-end (e.g. `en`, `nl`, `pl`, `tr`, `fr`, `sv`, `de`). | `"en"` |
@@ -309,6 +309,8 @@ spec:
value: {{ .Values.kerberoshub.api.session.idleTimeout | quote }}
- name: SESSION_MAX_LIFETIME
value: {{ .Values.kerberoshub.api.session.maxLifetime | quote }}
- name: SESSION_INACTIVITY_TIMEOUT
value: {{ .Values.kerberoshub.api.session.inactivityTimeout | quote }}
- name: REFRESH_COOKIE_SECURE
value: {{ eq .Values.kerberoshub.api.schema "https" | quote }}
{{- $corsOrigins := list (printf "%s://%s" .Values.kerberoshub.frontend.schema .Values.kerberoshub.frontend.url) }}
@@ -273,8 +273,6 @@ spec:
value: "{{ .Values.kerberoshub.frontend.features.darkMode }}"
- name: FEATURE_SPLASH_SCREEN_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.splashScreen.enabled }}"
- name: ALLOW_INSPECTION
value: "{{ .Values.kerberoshub.frontend.features.inspection.enabled }}"
- name: FEATURE_LANDING_PAGE
value: "{{ .Values.kerberoshub.frontend.features.landingPage }}"
@@ -352,8 +352,6 @@ spec:
value: "{{ .Values.kerberoshub.frontend.features.darkModeEnabled }}"
- name: FEATURE_SPLASH_SCREEN_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.splashScreen.enabled }}"
- name: ALLOW_INSPECTION
value: "{{ .Values.kerberoshub.frontend.features.inspection.enabled }}"
- name: FEATURE_LANDING_PAGE
value: "{{ .Values.kerberoshub.frontend.features.landingPage }}"
+1 -2
View File
@@ -415,6 +415,7 @@ kerberoshub:
accessTokenTimeout: "15m" # Lifetime of one access token; the frontend renews it silently.
idleTimeout: "12h" # A session that is not used for this long ends.
maxLifetime: "24h" # Hard limit counted from login; the user must sign in again after it.
inactivityTimeout: "15m" # Without user interaction for this long, the frontend asks "Are you still there?" and signs out after 60s. "0" turns it off.
schema: "https"
url: "api.yourdomain.com"
# Additional complete HTTP(S) origins allowed to call the Hub API.
@@ -686,8 +687,6 @@ kerberoshub:
darkModeEnabled: "true" # Enable or disable dark mode toggle 'true' or 'false'
splashScreen:
enabled: "true" # Enable or disable the pre-bootstrap splash screen 'true' or 'false'
inspection:
enabled: "false" # In-app bug reports filed as GitHub issues via inspect.uug.ai (https://github.com/uug-ai/inspect) 'true' or 'false'
landingPage: "/dashboard" # Landing page after login '/dashboard', '/liveview', '/media', '/devices', '/sites', '/groups'
# Internationalization (i18n): controls the runtime language behaviour
# of the front-end. When `enabled` is "false" the language switcher is