• bruno released this 2026-10-25 22:07:46 -04:00 | 0 commits to main since this release

    Corrigé — console du panneau morte et liens pas tous en dev : résolution par requête

    Couche fautive (dans app/config.py) : la dérivation de la 0.32.1 ne couvrait que les URL sœurs depuis AGENT_EVENEMENTS_URL — jamais agent_url lui-même. Sur la dev, où seul le journal est déclaré en -dev, le panneau recevait le défaut prod https://agent.dracodev.net : iframe de console pointant un agent prod pas encore installé, donc injoignable — page morte. Aucune résolution ne tenait compte de la requête, et aucune CSP n'énonçait l'origine de l'agent.

    La cure, pour tout ce qui est rendu à une requête (liens de la barre draco_urls, source de l'iframe du panneau DRACO_PANNEAU_CONFIG.api, origine agent de la CSP), dans l'ordre :

    1. la variable explicite de l'installation, prioritaire et inchangée (DRACO_SSO_URL pour ObsiGate, DRACO_FLOWDECK_URL, DRACO_TIKTAK_URL, KANBANTE_PUBLIC_URL pour Kanbante elle-même, AGENT_URL pour l'agent) ;
    2. l'hôte public de la requête, motif fermé ^(og|flowdeck|tiktak|kanbante|agent)<SUFFIXE>\.dracodev\.net$ (suffixe optionnel : vide en prod, -dev en dev), appliqué à toutes les sœurs et à l'agent — jamais de suffixe inventé depuis un hôte arbitraire ; hors motif (LAN, IP), étape suivante ;
    3. la dérivation par les adresses de l'agent connues en configuration, élargie : URL d'événements ou base du service ;
    4. le défaut officiel.

    Base de l'agent dérivée (sans requête aussi) : sans AGENT_URL explicite, si l'adresse connue de l'agent suit agent<SUFFIXE>.dracodev.net, agent_url devient https://agent<SUFFIXE>.dracodev.net.

    CSP nouvelle : chaque page rendue énonce Content-Security-Policy: frame-src 'self' <origine agent résolue pour cette même réponse> — la même origine que l'iframe de la console, seule iframe de l'application.

    Contextes sans requête inchangés sinon. Aucun SSO ajouté (Kanbante n'en a pas par conception) ; périmètre limité à ses liens et à son panneau.

    Tests : hôte kanbante-dev.dracodev.net sans aucune variable → barre, iframe et CSP entièrement en -dev ; hôte prod → noms officiels ; hôte LAN → repli configuration/défauts ; explicite gagne sur l'hôte ; dérivations élargies ; suite complète : 278 tests réussis.

    Déploiement : en attente du redéploiement Docker de Bruno (la 0.32.1 n'a jamais été redéployée) — la version vivante sur kanbante-dev reste l'ancienne tant que le conteneur n'est pas redéployé.

    Downloads