Publication — du code au marketplace
Vous avez un acteur fonctionnel et une suite de tests verte. Ce chapitre couvre le dernier kilomètre : construire l’image, la pousser vers GHCR, l’enregistrer dans le Creator Hub, et la faire passer la revue jusqu’à une fiche marketplace en ligne.
L’entonnoir complet :
- Construire une image avec
config.jsoncuit dedans. - La pousser vers un registre public (GHCR par convention).
- Enregistrer l’URL de l’image sur Kaoohi.
- Kaoohi tire l’image et extrait votre configuration.
- La revue approuve l’acteur.
- L’acteur apparaît dans le marketplace et les utilisateurs déploient des instances.
1. Construire et pousser votre image
Section intitulée « 1. Construire et pousser votre image »Vérifications préalables
Section intitulée « Vérifications préalables »Depuis le dépôt de votre acteur :
make kaoohi-config # regenerate src/kaoohi/config.json + freshness checkpytest # keep the suite greensrc/kaoohi/config.json est dérivé de vos réglages Pydantic et des
métadonnées [tool.kaoohi] dans pyproject.toml — ne l’éditez jamais à la
main. Le Dockerfile le cuit dans l’image, et c’est exactement le fichier que
la plateforme relit dans l’image à l’enregistrement : il doit donc être frais
avant de construire.
Étiquetez avant de construire
Section intitulée « Étiquetez avant de construire »La version de votre acteur vient des tags git via hatch-vcs — il n’y a
pas de version codée en dur dans pyproject.toml. Étiquetez d’abord, puis
construisez :
git tag v1.2.3Le build Docker ne peut pas lire .git/ : passez donc la version
explicitement en argument de build, sans le v initial. Sans lui, l’image
retombe sur 0.0.0 :
docker build \ --build-arg BUILD_VERSION=1.2.3 \ -t ghcr.io/allcare/myactor:v1.2.3 .La version apparaît dans /health, /ready et /api/actor/metadata : les
équipes de revue et les utilisateurs la verront. Ne publiez que des builds
étiquetés.
Pousser vers GHCR
Section intitulée « Pousser vers GHCR »La convention de dépôt par défaut du template est
ghcr.io/allcare/<name>, les soulignés de votre nom de projet remplacés par
des tirets — c’est la variable Copier kaoohi_image_repo. Si vous avez
accepté la valeur par défaut à la génération, poussez là :
docker login ghcr.iodocker push ghcr.io/allcare/myactor:v1.2.3La plateforme tire l’image elle-même pour extraire la configuration : l’image doit donc être lisible publiquement sur le registre.
2. Enregistrer l’acteur dans le Creator Hub
Section intitulée « 2. Enregistrer l’acteur dans le Creator Hub »Première fois : votre profil kreator
Section intitulée « Première fois : votre profil kreator »Si c’est votre premier acteur, créez d’abord votre profil kreator — c’est en libre-service sur la plateforme. Une fois votre profil actif, le Creator Hub apparaît dans votre barre latérale.
L’assistant en 3 étapes
Section intitulée « L’assistant en 3 étapes »Ouvrez Creator Hub → Register Actor
(https://<PLATFORM_URL>/home/creator/register-actor). L’assistant a trois
étapes :
- Référence d’image — collez l’URL complète de l’image, étiquette
comprise, par exemple
ghcr.io/allcare/myactor:v1.2.3, puis cliquez sur Extract Config. Kaoohi tire l’image OCI, en extraitsrc/kaoohi/config.jsonet la valide. Vous ne collez jamaisconfig.jsonvous-même — la plateforme le lit directement dans l’image. Elle affiche un récapitulatif du nombre de paramètres et avertit au-delà de 50 paramètres. - Prévisualisation et configuration — parcourez les onglets récapitulatif, paramètres et déploiement. Vous pouvez surcharger le nom d’affichage, la description, la catégorie et les étiquettes, et définir votre modèle tarifaire et votre prix (voir ](fr/monetization/)).
- Revue et soumission — Save as Draft ou Submit for Review.
Si l’extraction échoue, la plateforme demande si l’image a été construite
avec le template kaboum. C’est presque toujours le signe que config.json
manque ou est périmé dans l’image — relancez make kaoohi-config,
reconstruisez et poussez une nouvelle étiquette.
3. Ce qui se passe ensuite : la revue
Section intitulée « 3. Ce qui se passe ensuite : la revue »Chaque soumission passe un scan de sécurité et une revue d’usage. Votre soumission traverse ces statuts :
| Statut | Ce que cela signifie | Ce que vous faites |
|---|---|---|
draft |
Enregistré dans le Creator Hub, non soumis. | Terminez l’assistant et soumettez quand vous êtes prêt. |
pending_review |
Dans la file de revue — scan de sécurité et revue d’usage. | Attendez. Surveillez « My Actors ». |
approved |
En ligne dans le marketplace. | Les utilisateurs peuvent déployer des instances. Voir ci-dessous. |
rejected |
La soumission n’a pas passé la revue. | Retravaillez l’acteur et soumettez à nouveau. |
revision_requested |
L’équipe de revue demande des changements précis avant approbation. | Traitez les changements demandés et resoumettez. |
Où surveiller
Section intitulée « Où surveiller »Vous suivez le statut de revue à un seul endroit : My Actors dans le Creator Hub. Il n’y a pas encore de notifications, et aucun SLA de revue n’a été publié.
Sur revision_requested
Section intitulée « Sur revision_requested »Lisez les changements demandés, corrigez-les, et si la correction touche au code ou à la configuration, poussez une nouvelle étiquette d’image avant de resoumettre — la plateforme extrait toujours la configuration de l’image que vous référencez : la correction doit donc être dans l’image, pas seulement dans votre dépôt.
4. Après approbation
Section intitulée « 4. Après approbation »Une fois approuvé, votre acteur est listé dans le marketplace et les utilisateurs peuvent déployer des instances. Ce que la plateforme fait à partir de là :
- Instanciation — quand un utilisateur déploie votre acteur, il reçoit un kompanion : l’instance en cours d’exécution de votre acteur pour un compte. L’acteur est la classe ; le kompanion est l’instance.
- Injection d’environnement — la plateforme injecte des variables
d’environnement depuis les paramètres de votre
config.json. Chaque paramètre que vous déclarez devient un réglage que la plateforme passe au kompanion à l’instanciation. - Gating santé et disponibilité — la plateforme vérifie
/healthet/readyavant de router le trafic vers un nouveau kompanion. Le template déclare une sonde de disponibilité par défaut ; gardez un démarrage honnête — faites échouer/readytant que l’acteur ne peut pas réellement servir. - La fiche marketplace —
GET /api/actor/metadatasur chaque kompanion sert la fiche courte qu’affiche le marketplace : nom, description, version, capacités. Elle vient de la même configuration que celle que vous avez enregistrée : unconfig.jsonhonnête fait une fiche honnête.
Publier une mise à jour
Section intitulée « Publier une mise à jour »Quand vous soumettez une mise à jour de configuration sur un acteur déjà approuvé, la fiche en ligne continue de servir l’ancienne configuration jusqu’à ré-approbation de la mise à jour. Planifiez vos versions en conséquence — une mise à jour n’est jamais instantanée.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- kaboum guide de lancement de nouveaux acteurs — parcours complet de
copier copyà la production - kaboum référence API — chaque endpoint servi par votre image
- kaoohi Creator Actor Guide (
documentation/01-user-guide/Creator-Actor-Guide.mddans le dépôt kaoohi) — le flux d’enregistrement côté plateforme - Ensuite : ](fr/monetization/) — modèles tarifaires, partage des revenus et ce qui arrive