Aller au contenu

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 :

  1. Construire une image avec config.json cuit dedans.
  2. La pousser vers un registre public (GHCR par convention).
  3. Enregistrer l’URL de l’image sur Kaoohi.
  4. Kaoohi tire l’image et extrait votre configuration.
  5. La revue approuve l’acteur.
  6. L’acteur apparaît dans le marketplace et les utilisateurs déploient des instances.

Depuis le dépôt de votre acteur :

Fenêtre de terminal
make kaoohi-config # regenerate src/kaoohi/config.json + freshness check
pytest # keep the suite green

src/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.

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 :

Fenêtre de terminal
git tag v1.2.3

Le 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 :

Fenêtre de terminal
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.

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à :

Fenêtre de terminal
docker login ghcr.io
docker push ghcr.io/allcare/myactor:v1.2.3

La plateforme tire l’image elle-même pour extraire la configuration : l’image doit donc être lisible publiquement sur le registre.

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.

Ouvrez Creator Hub → Register Actor (https://<PLATFORM_URL>/home/creator/register-actor). L’assistant a trois étapes :

  1. 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 extrait src/kaoohi/config.json et la valide. Vous ne collez jamais config.json vous-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.
  2. 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/)).
  3. 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.

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.

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é.

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.

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 /health et /ready avant 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 /ready tant que l’acteur ne peut pas réellement servir.
  • La fiche marketplace — GET /api/actor/metadata sur 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 : un config.json honnête fait une fiche honnête.

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.

  • 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.md dans 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