Kanbante 0.46.6 — porte centrale unique : réglage administrateur, écran réduit à l'entrée SSO et porte de secours discrète
CI / test (pull_request) Failing after 2m20s
CI / test (push) Failing after 2m54s

This commit is contained in:
Spark
2026-11-07 04:19:08 +00:00
parent f8f8af63e1
commit e4531488d0
9 changed files with 504 additions and 16 deletions
+29
View File
@@ -11,6 +11,24 @@ Environment variables:
KANBANTE_AUTH_USER Login username (with _PASSWORD: enables auth).
KANBANTE_AUTH_PASSWORD Login password.
KANBANTE_REQUIRE_AUTH "1" = refuse to serve if auth is not configured.
KANBANTE_PORTE_CENTRALE "1" = active la « porte centrale unique »
(0.46.6) : l'écran de connexion ne présente
plus que l'entrée centrale (SSO ObsiGate)
et le formulaire local est refusé. Défaut
"0" (désactivé) ; surchargeable depuis le
panneau d'administration (réglage
``porte_centrale``, l'environnement amorce,
le panneau gouverne).
KANBANTE_PORTE_SECOURS_USER / KANBANTE_PORTE_SECOURS_PASSWORD
Identifiants de la porte de secours
administrateur (0.46.6) : LE compte
administrateur local désigné, joignable
par le chemin discret /login/secours
(jamais proposé sur l'écran principal),
y compris quand la porte centrale est
active. Secrets d'environnement uniquement,
jamais en base ni dans le panneau. Variables
absentes = porte de secours désactivée.
KANBANTE_SESSION_SECRET HMAC key for the login session cookie
(default: derived from the credentials —
rotating the password invalidates sessions).
@@ -370,6 +388,9 @@ class Settings:
auth_user: str = ""
auth_password: str = ""
require_auth: bool = False
porte_centrale: bool = False
porte_secours_user: str = ""
porte_secours_password: str = ""
active_window_days: int = 365
cache_ttl: float = 30.0
max_note_chars: int = 20_000
@@ -456,6 +477,9 @@ def _env_settings() -> Settings:
auth_user=os.getenv("KANBANTE_AUTH_USER", ""),
auth_password=os.getenv("KANBANTE_AUTH_PASSWORD", ""),
require_auth=_env_bool("KANBANTE_REQUIRE_AUTH", False),
porte_centrale=_env_bool("KANBANTE_PORTE_CENTRALE", False),
porte_secours_user=os.getenv("KANBANTE_PORTE_SECOURS_USER", ""),
porte_secours_password=os.getenv("KANBANTE_PORTE_SECOURS_PASSWORD", ""),
active_window_days=_env_int("KANBANTE_ACTIVE_WINDOW_DAYS", 365),
cache_ttl=_env_float("KANBANTE_CACHE_TTL", 30.0),
max_note_chars=_env_int("KANBANTE_MAX_NOTE_CHARS", 20_000),
@@ -551,6 +575,11 @@ OVERRIDABLE_SETTINGS: dict[str, type] = {
"capture_repo": str,
"sync_labels": bool,
"sync_gitea": bool,
# Porte centrale unique (0.46.6) : booléen du panneau —
# l'administrateur l'active/la désactive sans redémarrage.
# Les identifiants de la porte de secours, eux, restent en
# environnement (secrets, jamais surchargeables).
"porte_centrale": bool,
}