Aller au contenu principal

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 :

  1. Obtenez une licence — inscrivez-vous sur kuploy.app et créez-en une
  2. Créez un compte Stripe — indispensable pour facturer vos utilisateurs (voir Mise en place de la facturation)
  3. 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.

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 :

  1. les migrations du cœur Kuploy — les évolutions de schéma de la plateforme de base ;
  2. 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.

Checklist avant une bascule
  1. Sauvegardez votre base de données (voir les prérequis ci-dessus)
  2. Déployez la nouvelle image — les migrations s'exécutent toutes seules
  3. Surveillez les logs du pod, à la recherche de Running cloud-server database migrations...
  4. Si une migration échoue, le conteneur s'arrête avec le code 1 — votre pod précédent continue de tourner
N'appliquez jamais une évolution de schéma à la main

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​

AspectOpen sourceCloud
Image de conteneurceduth/kuploy:latestceduth/kuploy-cloud:latest
FacturationAucuneAbonnements adossés à Stripe
LicenceNon requiseRequise, synchronisée avec kuploy.app
QuotasAucunPar organisation, et cumulés
Tableau de bord d'administrationSommaireComplet : Stripe, SMTP, thème, administrateurs
AuthentificationSommaireBetter 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
attention

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.