Gestire una licenza
Una licenza è un JWT firmato verificato offline tramite una chiave pubblica compilata nell'operatore. La applichi come Secret referenziato dalla risorsa cluster-scoped License. Questa pagina spiega come applicare, ispezionare e rinnovare i token e (per lo sviluppo) come generarli.
Ottenere una licenza
Ottieni le licenze dal portale clienti Navique all'indirizzo portal.navique.dev. Lì puoi:
- avviare una prova — una licenza a tempo limitato per valutare le funzionalità soggette a licenza;
- acquistare una licenza per l'edizione e gli add-on di cui hai bisogno;
- scaricare il tuo token di licenza (
license.lic) — compresi quelli rinnovati — in qualsiasi momento.
Il token è un file che applichi tu stesso al cluster (vedi sotto): l'operatore non contatta mai il portale, quindi i cluster air-gapped funzionano allo stesso modo.
Applicare una licenza
Scarica il tuo token firmato (un file
license.lic) dal portale clienti.Crea il Secret nel namespace di sistema dell'operatore:
bashkubectl -n navique-system create secret generic navique-license \ --from-file=license=./license.licCrea la risorsa
License(è un singleton e deve chiamarsicluster):yamlapiVersion: core.navique.com/v1alpha1 kind: License metadata: name: cluster spec: secretRef: name: navique-license key: license namespace: navique-system
Il controller License verifica il token, scrive gli entitlement nello status e li pubblica a ogni controller dei workload. Il gating delle funzionalità e i limiti di istanze hanno effetto al reconcile successivo.
Preferisci il browser? Attiva dalla console
La console del management plane può attivare una licenza per te: incolla o carica il token, visualizza in anteprima gli entitlement decodificati e conferma — la console crea la risorsa License e il relativo Secret. È l'unica azione di scrittura della console.
Ispezionare la licenza attiva
# Full status: validity, licensee, tier, expiry, features, limits.
kubectl get license cluster -o jsonpath='{.status}' | jq
# Just the features and limits in effect.
kubectl get license cluster -o jsonpath='{.status.enabledFeatures}'; echo
kubectl get license cluster -o jsonpath='{.status.limits}'; echoSe status.valid è false, status.reason ne spiega il motivo (firma non valida, scaduta, Secret mancante, alg: none, …). In tal caso l'operatore ripiega sui valori predefiniti Community — la piattaforma di base resta attiva.
Rinnovare
Il rinnovo consiste semplicemente nel riemettere il token firmato con una nuova scadenza: scarica il token rinnovato dal portale clienti, sostituisci il contenuto del Secret e il controller lo recepisce:
kubectl -n navique-system create secret generic navique-license \
--from-file=license=./renewed-license.lic \
--dry-run=client -o yaml | kubectl apply -f -Il controller rimette in coda il reconcile in prossimità della scadenza, così il gating cambia puntualmente; riapplicare un token valido ripristina immediatamente gli entitlement declassati. Vedi Scadenza → downgrade graduale.
Ambienti
La licenza contiene un claim environment (prod / nonprod), che consente a Navique di emettere licenze non di produzione / NFR più economiche o gratuite per cluster di staging e interni, distinte dalle licenze di produzione.
Ore di supporto
La licenza riporta un valore includedSupportHours a titolo di riferimento. Poiché l'operatore è air-gapped e non può contattare l'esterno, questo saldo viene conteggiato fuori dal cluster da Navique — il valore nella licenza è puramente informativo.
Come vengono emessi i token
Le licenze sono firmate ed emesse da Navique con uno strumento di firma offline, quindi ti vengono consegnate come token .lic. La chiave pubblica corrispondente è compilata nell'operatore (e nella console di gestione), quindi la verifica è completamente offline — la chiave privata di firma non lascia mai Navique e non fa mai parte del tuo deployment. Per ottenere, modificare o rinnovare una licenza, usa il portale clienti; vedi Edizioni e licenze per i tier e gli add-on.
Revoca
Una licenza può essere revocata prima della sua scadenza — per esempio se il suo token è trapelato o è stato emesso per errore. L'operatore include un elenco di revoca compilato nel binario, quindi la revoca viene applicata completamente offline, senza alcun controllo online. Una licenza revocata viene rifiutata anche se la sua firma è valida, e l'operatore ripiega sui valori predefiniti Community — lo stesso downgrade graduale della scadenza, quindi la piattaforma di base continua a funzionare.
# Is the active license revoked, and why?
kubectl get license cluster -o jsonpath='{.status.revoked}'; echo
kubectl get license cluster -o jsonpath='{.status.revokedReason}'; echoQuando la licenza è revocata, status.revoked è true, status.revokedReason contiene la categoria (compromised / superseded / non-compliance / issued-in-error / unspecified) e la condition Ready riporta LicenseRevoked. Poiché l'elenco fa parte del binario dell'operatore, mantenere l'operatore aggiornato è il modo per recepire le revoche (e le correzioni di sicurezza distribuite insieme a esse). Se una tua licenza risulta revocata inaspettatamente, contatta Navique.
Risoluzione dei problemi
Se le funzionalità non si sbloccano dopo aver applicato una licenza, controlla:
kubectl get license cluster -o jsonpath='{.status.reason}'— il motivo del fallimento della verifica.kubectl get license cluster -o jsonpath='{.status.revoked}'— se il token è stato revocato (vedi Revoca).- Che nome/chiave/namespace del Secret in
spec.secretRefcorrispondano al Secret creato. - Che la risorsa si chiami esattamente
cluster(altri nomi vengono rifiutati). - I log dell'operatore:
kubectl -n navique-system logs deploy/navique-ai-core-operator.
Vedi anche Risoluzione dei problemi.