[Coffre Secrets] Connecteurs par reference ObsiGate, isolation workspace (Phase 4) #26

Merged
bruno merged 9 commits from feat/coffre-reference-obsigate into main 2026-10-28 00:15:18 -04:00
Owner

Concerne l'issue ObsiGate #22 (perimetre Flowdeck).

Contenu : app/services/coffre_reference.py (validation, client urllib, timeout 10 s, aucun cache) ; connectors.py (workspace_id + coffre_reference, secret_source, resolve_secret() avec controle d'isolation) ; mcp_client.py, migration 52 (colonnes + index, idempotente), config.py (obsigate_coffre_url, obsigate_consumer_token), routes agent.py, 22 tests + doc. Constat prealable : les connecteurs personnels n'avaient aucun workspace_id — il a fallu l'ajouter d'abord.

Ecarts assumes : natifs Gitea/GitHub et cles LLM non bascules (jetons globaux/par utilisateur, chemin documente) ; pas de selecteur UI (API seulement) ; workspace_id pas encore branche depuis AgentEngine (refus propre, pas de fuite).

Verifie : 35/35 tests (22 nouveaux + 13 existants), ruff propre, 9/9 fichiers identiques. Non verifie : CI de la branche, isolation workspace reelle.

Concerne l'issue ObsiGate #22 (perimetre Flowdeck). Contenu : app/services/coffre_reference.py (validation, client urllib, timeout 10 s, aucun cache) ; connectors.py (workspace_id + coffre_reference, secret_source, resolve_secret() avec controle d'isolation) ; mcp_client.py, migration 52 (colonnes + index, idempotente), config.py (obsigate_coffre_url, obsigate_consumer_token), routes agent.py, 22 tests + doc. Constat prealable : les connecteurs personnels n'avaient aucun workspace_id — il a fallu l'ajouter d'abord. Ecarts assumes : natifs Gitea/GitHub et cles LLM non bascules (jetons globaux/par utilisateur, chemin documente) ; pas de selecteur UI (API seulement) ; workspace_id pas encore branche depuis AgentEngine (refus propre, pas de fuite). Verifie : 35/35 tests (22 nouveaux + 13 existants), ruff propre, 9/9 fichiers identiques. Non verifie : CI de la branche, isolation workspace reelle.
bruno added 9 commits 2026-10-28 00:14:46 -04:00
coffre ObsiGate Phase 4 (issue #22) : app/services/coffre_reference.py
FlowDeck CI / lint (push) Successful in 1m56s
FlowDeck CI / test (push) Failing after 3h10m16s
FlowDeck CI / docker (push) Skipped
417c0a23d7
coffre ObsiGate Phase 4 (issue #22) : app/services/connectors.py
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
4f13068c85
coffre ObsiGate Phase 4 (issue #22) : app/services/mcp_client.py
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
30387c4ed4
coffre ObsiGate Phase 4 (issue #22) : app/migrations.py
FlowDeck CI / lint (push) Failing after 3s
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
b751c81120
coffre ObsiGate Phase 4 (issue #22) : app/config.py
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
FlowDeck CI / lint (push) Successful in 1m56s
cd0835116d
coffre ObsiGate Phase 4 (issue #22) : app/routers/agent.py
FlowDeck CI / lint (push) Failing after 2s
FlowDeck CI / test (push) Failing after 0s
FlowDeck CI / docker (push) Skipped
f827e9fc7d
coffre ObsiGate Phase 4 (issue #22) : .env.example
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
45940c26bb
coffre ObsiGate Phase 4 (issue #22) : tests/test_coffre_reference_flowdeck.py
FlowDeck CI / lint (push) Failing after 0s
FlowDeck CI / test (push) Failing after 0s
FlowDeck CI / docker (push) Skipped
a3431b18c9
coffre ObsiGate Phase 4 (issue #22) : docs/coffre-reference-flowdeck.md
FlowDeck CI / lint (push) Failing after 2s
FlowDeck CI / test (push) Successful in 11m19s
FlowDeck CI / docker (push) Failing after 2m5s
FlowDeck CI / lint (pull_request) Failing after 0s
FlowDeck CI / test (pull_request) Failing after 0s
FlowDeck CI / docker (pull_request) Skipped
62b536c865
bruno merged commit e5e98ed08f into main 2026-10-28 00:15:18 -04:00
Sign in to join this conversation.