Passer de l'édition open source à l'édition Cloud
Si vous exploitez l'édition open source de Kuploy et souhaitez y ajouter la facturation multi-locataire, les licences et l'application des quotas, vous pouvez basculer vers l'édition Cloud sur place.
Prérequis
Avant de basculer :
- Obtenez une licence — inscrivez-vous sur kuploy.app et créez-en une
- Créez un compte Stripe — indispensable pour facturer vos utilisateurs (voir Mise en place de la facturation)
- Sauvegardez votre base de données — toujours, avant un changement d'ampleur
# Sauvegarder la base actuelle
kubectl exec -it postgresql-0 -n database -- pg_dump -U kuploy kuploy > sauvegarde-avant-bascule.sql
La marche à suivre
1. Lancer la bascule
# Passer de l'édition open source à l'édition Cloud
python deploy.py --edition cloud --domain console.example.com
# Suivre la mise en ligne
kubectl rollout status deployment/kuploy -n kuploy
Le déployeur vous demandera la configuration propre à l'édition Cloud :
STRIPE_SECRET_KEY— votre clé secrète d'API Stripe ;STRIPE_WEBHOOK_SECRET— le secret de signature des webhooks Stripe ;BETTER_AUTH_SECRET— le secret d'authentification, 32 caractères au minimum ;LICENSE_KEY— votre clé de licence, obtenue sur kuploy.app ;PLATFORM_ADMIN_EMAIL— l'adresse du premier administrateur de plateforme.
2. Rattacher votre licence
Une fois la bascule terminée, reliez votre instance à votre licence. Voir Licences pour le code de rattachement ou la configuration manuelle.
3. Configurer la facturation
Mettez en place vos produits et vos offres Stripe. Voir Mise en place de la facturation pour le détail complet.
4. Vérifier la bascule
# Vérifier l'image en service
kubectl get deployment kuploy -n kuploy -o jsonpath='{.spec.template.spec.containers[0].image}'
# Doit afficher : ceduth/kuploy-cloud:latest
# Vérifier que les pods tournent
kubectl get pods -n kuploy
Les migrations de base de données
kuploy-cloud exécute ses migrations automatiquement à chaque démarrage de conteneur, avant le lancement de l'application. Le point d'entrée Docker enchaîne :
- les migrations du cœur Kuploy — les évolutions de schéma de la plateforme de base ;
- les migrations du serveur Cloud — celles de la facturation, des offres et des abonnements.
Vous n'avez aucune commande de migration à lancer. Lorsque vous déployez une nouvelle version, le démarrage du pod traite les évolutions de schéma avant d'accepter du trafic.
- Sauvegardez votre base de données (voir les prérequis ci-dessus)
- Déployez la nouvelle image — les migrations s'exécutent toutes seules
- Surveillez les logs du pod, à la recherche de
Running cloud-server database migrations... - Si une migration échoue, le conteneur s'arrête avec le code 1 — votre pod précédent continue de tourner
kuploy-cloud partage une base de données avec le cœur de Kuploy, et les outils de synchronisation de schéma livrés avec ces frameworks n'en connaissent que la moitié : les pointer sur une base de production supprime l'autre moitié. Le lanceur de migrations au démarrage est le seul chemin pris en charge, et il n'attend rien de vous.
Ce qui change
| Aspect | Open source | Cloud |
|---|---|---|
| Image de conteneur | ceduth/kuploy:latest | ceduth/kuploy-cloud:latest |
| Facturation | Aucune | Abonnements adossés à Stripe |
| Licence | Non requise | Requise, synchronisée avec kuploy.app |
| Quotas | Aucun | Par organisation, et cumulés |
| Tableau de bord d'administration | Sommaire | Complet : Stripe, SMTP, thème, administrateurs |
| Authentification | Sommaire | Better Auth : OAuth, double authentification, équipes |
Revenir en arrière
S'il vous faut repasser à l'édition open source :
python deploy.py --edition oss --domain console.example.com
Ce retour en arrière retire les fonctionnalités propres à l'édition Cloud. Les organisations, les abonnements de facturation et les données propres au Cloud restent en base, mais cessent d'être actifs.