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é
- Ouvrir
/admin/license. - Aller dans l’onglet Activation.
- Renseigner la clé, le tenant, l’édition attendue et l’URL du serveur de licences.
- Cliquer sur Vérifier la clé.
- Copier le bloc de variables généré dans Portainer, Docker Compose, Docker secrets ou l’orchestrateur cible.
- Redémarrer le conteneur.
- Rafraîchir le statut runtime.
Variables serveur
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-demoLa 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 :
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.