Installations
L'écran Installations permet d'installer un pack de la marketplace dans un environnement (contrôle préalable,
approbation par d'autres personnes, puis application), puis de le mettre à niveau, de revenir en arrière, d'autoriser
une permission, de le suspendre, de le reprendre ou de le désinstaller, et de lire ses événements et sa supervision.
Chemin dans le portail : /marketplace/installs ; le titre de sa page est Installations de packs. Il sert aux
administrateurs du tenant (tenant_admin) ; les responsables sécurité suspendent et reprennent les installations.
Ce que montre l'écran
En haut, la règle d'installation : « Installation : contrôle préalable, puis approbation décidée par d'autres personnes dans la boîte des approbations, puis Appliquer. Les approbateurs déjà enregistrés figurent dans les détails. »
Un tableau Installations avec le filtre Environnement (dev, test, staging, prod) et Filtrer, puis
Actualiser et Installer un pack :
| Colonne | Contenu |
|---|---|
| Paquet | Nom du pack. |
| Version | Version installée. |
| Environnement | Environnement cible. |
| Statut | pending_approval, installed, suspended, failed ou uninstalled. |
| Permissions accordées | Permissions accordées au pack. |
| Installé par | Auteur de l'installation. |
| Installé le | Date d'installation. |
Un clic sur une ligne ouvre un panneau latéral avec l'installation lue dans l'API. La liste est lue en un seul appel. État vide : Aucune installation, « Lancez l'assistant : contrôle préalable, approbation, puis application. »
Actions
Chaque action de ligne ne s'affiche que dans l'état indiqué dans le tableau.
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Ouverture de l'écran, Environnement puis Filtrer | Lit les installations, éventuellement d'un environnement. | GET /v1/marketplace/installations | Membre du tenant |
| Installer un pack puis Créer | Formulaire Paquet, Version, Environnement (obligatoires), Permissions approuvées (par exemple rag:query, tools:invoke), Configuration (JSON), Références de secrets (JSON). Lance le contrôle préalable et ouvre une approbation à double validation ; l'installation est pending_approval. | POST /v1/marketplace/installations | tenant_admin |
| Clic sur une ligne | Ouvre le panneau de détail (approbateurs compris). | GET /v1/marketplace/installations/{id} | Membre du tenant |
Appliquer (état pending_approval) | Confirmation du navigateur, puis applique l'installation approuvée. | POST /v1/marketplace/installations/{id}/apply | tenant_admin |
Mettre à niveau (état installed) | Boîte de dialogue Version (obligatoire), Permissions approuvées, Configuration, Références de secrets ; affiche la réponse. | POST /v1/marketplace/installations/{id}/upgrade | tenant_admin |
Revenir en arrière (état installed) | Confirmation destructive, puis retour à la version précédente. | POST /v1/marketplace/installations/{id}/rollback | tenant_admin |
Désinstaller (tout état sauf uninstalled) | Confirmation destructive, puis désinstalle le pack. | POST /v1/marketplace/installations/{id}/uninstall | tenant_admin |
| Événements | Affiche les événements de l'installation. | GET /v1/marketplace/installations/{id}/events | Membre du tenant |
| Supervision | Affiche l'activité, la qualité, les coûts et les incidents du pack installé. | GET /v1/marketplace/installations/{id}/supervision | Membre du tenant |
Autoriser une permission (état installed) | Boîte de dialogue Permission (obligatoire, par exemple tools:invoke) ; indique si le pack peut l'utiliser. | POST /v1/marketplace/installations/{id}/authorize | Portail : tenant_admin ; serveur : tenant_admin, developer, agent, service |
Suspendre (état installed) | Boîte de dialogue Raison (obligatoire), Permissions (ne suspendre que certaines capacités) ; immédiat. | POST /v1/marketplace/installations/{id}/status | tenant_admin, security_officer |
Reprendre (état suspended) | Boîte de dialogue Approbation, Raison ; la reprise passe par une approbation à double validation. | POST /v1/marketplace/installations/{id}/status | tenant_admin, security_officer |
Revenir en arrière et Désinstaller passent par la confirmation destructive, qui lit GET /v1/lineage/graph pour lister
l'impact.
Rôles
D'après services/control-plane/src/eai/domains/marketplace/routes.py : la lecture exige un principal rattaché à un
tenant ; installer, appliquer, mettre à niveau, revenir en arrière et désinstaller exigent ADMIN_ROLES
(tenant_admin) ; suspendre et reprendre exigent TRUST_ROLES (tenant_admin, security_officer) ; autoriser exige
RUNTIME_ROLES. platform_admin passe chaque contrôle. Le portail masque chaque action selon les rôles de
ROLES.marketplaceInstallers ou ROLES.marketplaceAdmins de portal/src/lib/kit.ts.
Revenir en arrière et Désinstaller changent ce que les agents de l'environnement peuvent appeler. Lisez d'abord
Supervision et ne les lancez en prod que dans une fenêtre de changement.
Tâches courantes
Installer un pack en production
- Demander l'installation. Bouton Installer un pack : Paquet, Version, Environnement
prod, Permissions approuvées, Configuration, Références de secrets (des références vers des secrets, jamais les valeurs), puis Créer. Résultat attendu : une ligne à l'étatpending_approval. En cas d'échec :preflight_failed(HTTP 422) liste les contrôles en échec ;installation_exists(HTTP 409) si le pack est déjà installé dans cet environnement. - La faire approuver. D'autres personnes décident la demande dans Approbations. Résultat attendu : les approbateurs figurent dans le panneau de détail. En cas d'échec : la demande reste en attente tant que le quorum n'est pas atteint.
- Appliquer. Menu de la ligne > Appliquer, acceptez la confirmation. Résultat attendu : l'état
installed. En cas d'échec :installation_state(HTTP 409) si l'installation n'est pas dans l'état attendu.
Mettre à niveau, puis revenir en arrière si besoin
- Mettre à niveau. Menu de la ligne > Mettre à niveau, Version de la nouvelle version, envoyez. Résultat
attendu : la réponse de la mise à niveau dans un panneau latéral. En cas d'échec :
installation_state(HTTP 409) si la version est la même ou si l'état n'est pasinstalled. - La surveiller. Menu de la ligne > Supervision. Résultat attendu : activité, qualité, coûts et incidents. En cas d'échec : lisez Événements.
- Revenir en arrière en cas de problème. Menu de la ligne > Revenir en arrière, confirmez. Résultat attendu :
la version précédente est revenue. En cas d'échec :
rollback_unavailable(HTTP 409) s'il n'y a pas de version précédente.
Contenir un pack pendant un incident
- Suspendre. Menu de la ligne > Suspendre, Raison, éventuellement les Permissions à couper. Résultat
attendu : l'état
suspendedimmédiatement. En cas d'échec :forbiddensi vous n'êtes nitenant_adminnisecurity_officer.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
preflight_failed (HTTP 422) | Un contrôle préalable a échoué. | Lancez le contrôle préalable du Catalogue des packs et corrigez les contrôles en échec. |
installation_exists (HTTP 409) | Le pack est déjà installé dans cet environnement. | Mettez à niveau l'installation existante. |
installation_state (HTTP 409) | L'action ne correspond pas à l'état courant. | Lisez Statut et les détails ; suivez l'ordre installer, appliquer, mettre à niveau. |
rollback_unavailable (HTTP 409) | Aucune version précédente vers laquelle revenir. | Désinstallez, ou mettez à niveau vers une version corrigée. |
permission_not_requested / permission_not_granted (HTTP 422) | La permission n'est pas déclarée par le pack ou pas approuvée. | Mettez à niveau avec la permission dans Permissions approuvées. |
permission_unsafe (HTTP 403) | La permission est refusée par la plateforme. | Retirez-la de la demande. |
package_suspended (HTTP 409) | Le pack est suspendu dans le catalogue. | Reprenez d'abord le pack dans le catalogue. |
config_invalid (HTTP 422) | Configuration ne respecte pas le schéma du pack. | Corrigez le JSON. |