Kanbante 0.45.6 : URL ShaarIt resolue comme les soeurs + version 0.45.6 (app/config.py, app/main.py)

This commit is contained in:
Spark
2026-11-04 03:44:35 +00:00
parent ac0f15f685
commit 3b0f097d8d
3 changed files with 23 additions and 5 deletions
+20 -5
View File
@@ -130,6 +130,10 @@ Environment variables:
DRACO_TIKTAK_URL Public base URL of TikTak for the
common app bar. Default (official)
https://tiktak.dracodev.net.
DRACO_SHAARIT_URL Public base URL of ShaarIt for the
common app bar (barre v0.2.0).
Default (official)
https://shaarit.dracodev.net.
ObsiGate's bar link reuses DRACO_SSO_URL
(the SSO emitter IS ObsiGate).
Résolution d'une URL rendue à une
@@ -139,7 +143,7 @@ Environment variables:
ci-dessus (prioritaire, contrat
inchangé) ; 2) l'hôte public de la
requête, motif fermé
``(og|flowdeck|tiktak|kanbante|agent)
``(og|flowdeck|tiktak|kanbante|shaarit|agent)
<SUFFIXE>.dracodev.net`` (suffixe vide
en prod, ``-dev`` en dev) appliqué à
toutes les sœurs et à l'agent — jamais
@@ -152,7 +156,7 @@ Environment variables:
l'URL sœur devient
``https://<slug><SUFFIXE>.
dracodev.net`` (slugs : og, flowdeck,
tiktak, kanbante, agent) ; hôte hors
tiktak, kanbante, shaarit, agent) ; hôte hors
motif (autre domaine, LAN, IP) =
aucune dérivation, jamais de lien
deviné ; 4) le défaut officiel (prod).
@@ -177,7 +181,7 @@ from urllib.parse import urlparse
BASE_DIR = Path(__file__).resolve().parent.parent
APP_VERSION = "0.45.5"
APP_VERSION = "0.45.6"
def _env_bool(name: str, default: bool) -> bool:
@@ -232,7 +236,7 @@ def _env_wip_limits(name: str) -> dict[str, int]:
# du service (élargie en 0.32.2) ; 4) défaut officiel.
_MOTIF_HOTE_AGENT = re.compile(r"agent([a-z0-9-]*)\.dracodev\.net")
_MOTIF_HOTE_PUBLIC = re.compile(
r"(?:og|flowdeck|tiktak|kanbante|agent)([a-z0-9-]*)\.dracodev\.net"
r"(?:og|flowdeck|tiktak|kanbante|shaarit|agent)([a-z0-9-]*)\.dracodev\.net"
)
@@ -265,7 +269,7 @@ def _suffixe_environnement_agent(url_agent: str) -> str | None:
def suffixe_environnement_requete(hote_requete: str | None) -> str | None:
"""Suffixe lu sur l'hôte public de la requête entrante.
Motif fermé ``^(og|flowdeck|tiktak|kanbante|agent)<SUFFIXE>
Motif fermé ``^(og|flowdeck|tiktak|kanbante|shaarit|agent)<SUFFIXE>
\\.dracodev\\.net$`` (suffixe optionnel : vide en prod,
``-dev`` en dev) ; un port éventuel est toléré et retiré.
Hors motif (LAN, IP, autre domaine) : ``None`` — l'appelant
@@ -306,6 +310,7 @@ class UrlsDraco:
sso_url: str # ObsiGate (lien de barre ; explicite = DRACO_SSO_URL)
flowdeck_url: str
tiktak_url: str
shaarit_url: str # ShaarIt (barre v0.2.0 ; explicite = DRACO_SHAARIT_URL)
public_url: str # Kanbante elle-même (KANBANTE_PUBLIC_URL)
agent_url: str # base du service d'agents (panneau + CSP)
@@ -344,6 +349,9 @@ def resoudre_urls_draco(
"DRACO_FLOWDECK_URL", "flowdeck", base.flowdeck_url
),
tiktak_url=resoudre("DRACO_TIKTAK_URL", "tiktak", base.tiktak_url),
shaarit_url=resoudre(
"DRACO_SHAARIT_URL", "shaarit", base.shaarit_url
),
public_url=resoudre(
"KANBANTE_PUBLIC_URL", "kanbante", base.public_url
),
@@ -393,6 +401,7 @@ class Settings:
public_url: str = "https://kanbante.dracodev.net"
flowdeck_url: str = "https://flowdeck.dracodev.net"
tiktak_url: str = "https://tiktak.dracodev.net"
shaarit_url: str = "https://shaarit.dracodev.net"
agent_url: str = "https://agent.dracodev.net"
archive_suggest_days: int = 180
agent_evenements_url: str = "https://agent.dracodev.net/api/v1/evenements"
@@ -497,6 +506,12 @@ def _env_settings() -> Settings:
"https://tiktak.dracodev.net",
suffixe_agent,
),
shaarit_url=_url_soeur_draco(
"DRACO_SHAARIT_URL",
"shaarit",
"https://shaarit.dracodev.net",
suffixe_agent,
),
agent_url=agent_url,
archive_suggest_days=_env_int("KANBANTE_ARCHIVE_SUGGEST_DAYS", 180),
agent_evenements_url=agent_evenements_url,
+1
View File
@@ -2250,6 +2250,7 @@ def render(
"flowdeck": _urls.flowdeck_url,
"tiktak": _urls.tiktak_url,
"kanbante": _urls.public_url,
"shaarit": _urls.shaarit_url,
},
)
context.setdefault("agent_url", _urls.agent_url)