Plugins
L'écran Plugins vous permet de lister les plugins enregistrés par manifeste, de les installer ou les désinstaller et de lire leur état de déploiement. Chemin dans le portail : /capabilities/plugins. Les développeurs enregistrent les plugins ; les administrateurs du tenant les installent et les désinstallent. L'écran est dessiné par portal/src/screens/capabilities.tsx.
Ce que montre l'écran
- Tableau Plugins, lu par
GET /v1/plugins(tous les plugins en un appel, par nom). Colonnes : Nom, Version, Vérifié, Statut, Installé le. Vide : Aucun plugin, aide Appliquez un manifeste Plugin ci-dessous. - Le menu de ligne Voir le détail affiche tous les champs de la ligne dans un panneau latéral.
- Panneau Appliquer un manifeste prérempli avec un exemple de manifeste Plugin (
portal/src/samples/plugin-manifest.json), avec Rétablir l'exemple et Appliquer.
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Actualiser (icône) | Recharge la liste. | GET /v1/plugins | Tout membre du tenant |
| Menu Voir le détail | Affiche la ligne. | Aucun | Tout membre du tenant |
| Menu Installer (pas de date Installé le) | Vérifie la signature de l'artefact, produit le déploiement et sa politique réseau, puis marque le plugin installé (ou en échec). | POST /v1/plugins/{name}/install | tenant_admin et relation owner |
| Menu Désinstaller (une date Installé le existe) | Ouvre Confirmer une action destructive ; saisissez le nom du plugin, puis Confirmer. | GET /v1/lineage/graph, puis POST /v1/plugins/{name}/uninstall | tenant_admin et relation owner |
| Menu Statut | Affiche le plugin, la version, le statut, l'indicateur de vérification, l'empreinte, la date d'installation, la classe de runtime, applied (applied sur Kubernetes, rendered sinon), le déploiement, la politique réseau et l'erreur. | GET /v1/plugins/{name}/status | Relation viewer sur le plugin |
| Rétablir l'exemple / Appliquer | Remet l'exemple / applique le manifeste Plugin. | POST /v1/manifests/apply | tenant_admin, developer |
| Réessayer (état d'erreur) | Relance la lecture qui a échoué. | Même appel | Mêmes rôles |
Un manifeste avec spec.format: pack est refusé avec pack_requires_marketplace : un pack complet se publie et s'installe par la Marketplace, voir Installations.
Rôles
Le portail ne masque aucun bouton. Dans services/control-plane/src/eai/domains/plugins/routes.py : l'installation et la désinstallation demandent tenant_admin et la relation owner ; le statut et le détail demandent la relation viewer ; la liste demande un tenant. L'enregistrement d'un plugin par manifeste demande tenant_admin ou developer. platform_admin passe tous les contrôles de rôle.
Tâches courantes
Installer un plugin
- Appliquer le manifeste. Le manifeste désigne l'artefact OCI signé, son empreinte et son bac à sable. Dans Appliquer un manifeste, collez votre manifeste Plugin, puis cliquez sur Appliquer. Résultat attendu : Manifeste appliqué et le plugin dans le tableau après Actualiser. En cas d'échec :
invalid_manifestindique le champ en cause (par exemplesandbox.egress_allowlistobligatoire avecnetwork: egress_allowlist). - L'installer. L'installation contrôle de nouveau la signature. Dans le menu de ligne, cliquez sur Installer. Résultat attendu : le message Terminé, le statut
installedet une date Installé le. En cas d'échec :plugin_unsigned(403) signifie que la signature n'est pas valide ;plugin_blocked(403) signifie que le plugin est bloqué. - Lire le statut. Le statut montre ce qui a été déployé. Cliquez sur Statut. Résultat attendu :
applied(ourenderedquand le Control Plane n'a pas accès à Kubernetes), le déploiement et la politique réseau, sanserror. En cas d'échec : lisezerroret corrigez la section bac à sable du manifeste.
Mettre à jour un plugin installé
- Le désinstaller. Un plugin installé ne peut pas être remplacé. Cliquez sur Désinstaller, saisissez le nom, puis Confirmer. Résultat attendu : le message Terminé et le statut
uninstalled; le déploiement est retiré. En cas d'échec :plugin_not_installed(409) signifie qu'il est déjà désinstallé ;upstream_error(502) signifie que Kubernetes a refusé la suppression. - Appliquer la nouvelle version. Appliquez le nouveau manifeste dans Appliquer un manifeste. Résultat attendu : Manifeste appliqué et le statut Enregistré. En cas d'échec :
plugin_installed(409) signifie que le plugin est encore installé. - L'installer de nouveau. La date Installé le de la première installation reste sur la ligne : le menu garde Désinstaller et masque Installer. Envoyez
POST /v1/plugins/{name}/installdepuis le SDK ou l'API. Résultat attendu : le statutinstalledaprès Actualiser. En cas d'échec : lisez le code d'erreur de la réponse (plugin_unsigned,plugin_blocked).
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
plugin_unsigned (403) : « L'extension ... n'a pas de signature valide. » | La signature de l'artefact ne se vérifie pas. | Signez l'artefact et appliquez de nouveau le manifeste. |
plugin_blocked (403) | Le plugin est bloqué. | Adressez-vous à un responsable sécurité. |
plugin_installed (409) : « L'extension ... est installée : désinstallez-la d'abord. » | Vous avez appliqué un manifeste sur un plugin installé. | Désinstallez, appliquez, puis installez. |
plugin_not_installed (409) | Désinstaller sur un plugin qui n'est pas installé (la ligne garde sa date Installé le après une désinstallation). | Lisez la colonne Statut ; rien à faire quand elle affiche uninstalled. |
pack_requires_marketplace (422) | Le manifeste décrit un pack complet. | Publiez-le et installez-le par la Marketplace. |
forbidden (403) | Vous n'êtes pas tenant_admin ou pas propriétaire du plugin. | Adressez-vous à un administrateur du tenant. |
| Statut Échoué après Installer | La production ou le déploiement a échoué. | Lisez error avec Statut. |