Skip to content

Console d’activation licence

La version 0.1.72-license-activation-console ajoute une console d’activation dans l’administration Nuxt :

  • test ponctuel d’une clé NFZ License Server ;
  • affichage du statut, de l’édition, du tenant et des entitlements ;
  • génération d’un bloc de variables Docker/Portainer prêt à copier ;
  • aucune persistance automatique de secret depuis le navigateur.

Objectif

La console sert à valider un parcours client avant le redémarrage du conteneur DockerHub. Le canal de distribution reste DockerHub, tandis que NFZ License Server reste l’autorité commerciale pour les éditions, les abonnements, les quotas, les tenants et les entitlements.

Workflow recommandé

  1. Ouvrir /admin/license.
  2. Aller dans l’onglet Activation.
  3. Renseigner la clé, le tenant, l’édition attendue et l’URL du serveur de licences.
  4. Cliquer sur Vérifier la clé.
  5. Copier le bloc de variables généré dans Portainer, Docker Compose, Docker secrets ou l’orchestrateur cible.
  6. Redémarrer le conteneur.
  7. Rafraîchir le statut runtime.

Variables serveur

ini
NFZ_PRODUCT_ID=nfz-docs-builder
NFZ_PRODUCT_DOMAIN=vitepress-buider.com
NFZ_EDITION=pro
NFZ_LICENSE_MODE=remote
NFZ_LICENSE_KEY=********
NFZ_LICENSE_SERVER_URL=https://licence.nfz-serveur.fr
NFZ_LICENSE_VERIFY_PATH=/api/license/verify
NFZ_LICENSE_ENFORCEMENT=true
NFZ_DOCS_TENANT=tenant-client-demo

La clé complète ne doit pas être stockée dans un fichier versionné. Utilise les secrets DockerHub/GitHub Actions, Portainer secrets, Docker secrets, Vault ou l’équivalent de ton hébergeur.

Contrat Feathers

La console s’appuie sur le service license-status :

  • find() : statut runtime courant ;
  • get('current') : statut runtime courant ;
  • create(data) : test d’activation ponctuel.

Exemple de payload de test :

ts
await api.service('license-status').create({
  licenseKey: 'nfz_xxxxxxxx',
  tenantId: 'tenant-client-demo',
  edition: 'pro',
  productDomain: 'vitepress-buider.com',
  licenseServerUrl: 'https://licence.nfz-serveur.fr',
  verifyPath: '/api/license/verify'
})

Sécurité

La console ne persiste pas la clé et ne l’affiche jamais. Elle expose seulement un fingerprint SHA-256 court pour faciliter le support. Le statut runtime réel reste piloté par les variables serveur ; un test réussi ne remplace donc pas le redémarrage du conteneur avec NFZ_LICENSE_KEY configurée côté serveur.

Guide utilisateur public généré avec VitePress.