User
Ambito: namespaced · Con licenza (funzionalità identity-management + limite users)
Uno User è una persona sulla piattaforma — una postazione con licenza (seat). È l'identità naturale che collega tra loro gli account di quella persona su tutti i backend. Il limite users della licenza conta le postazioni User, indipendentemente da quanti account Identity di backend abbia ciascuna persona.
Spec
| Campo | Tipo | Descrizione |
|---|---|---|
email | string (obbligatorio) | L'email della persona — la chiave naturale che collega tutti i suoi account Identity. Deve essere un indirizzo ben formato; uno non valido viene rifiutato in fase di admission (così come Identity.spec.email e l'email di ogni membro di team o organizzazione) |
displayName | string | Nome leggibile |
Uno User non ha un type — è indipendente dal backend. Gli account per backend (key LiteLLM, membership Langfuse, login LibreChat) sono oggetti Identity separati, ciascuno dei quali rimanda allo User tramite userRef.
Una persona, molti account
User (person / seat) email: alice@example.com
▲ ▲ ▲
│ │ └── Identity (type: librechat) userRef: { name: alice }
│ └────── Identity (type: observability) userRef: { name: alice }
└────────── Identity (type: litellm) userRef: { name: alice }- Ogni
Identitydeve fare riferimento al proprioUsertramite unuserRefobbligatorio ({ name }, stesso namespace). - Un'
Identityil cuispec.emailè omesso assume per default l'email delloUserproprietario, così la persona mantiene un'unica identità tra i backend. - Gli account
Identitynon hanno limiti; solo le postazioniUsercontano ai fini della licenza.
Esempio
apiVersion: core.navique.com/v1alpha1
kind: User
metadata:
name: alice
namespace: forge-identity
spec:
email: alice@example.com
displayName: Alice Example
---
apiVersion: core.navique.com/v1alpha1
kind: Identity
metadata:
name: alice-litellm
namespace: forge-identity
spec:
type: litellm
userRef: { name: alice } # same namespace
gatewayRef: { name: gateway } # required, and same namespace — no `namespace:`
# email omitted → inherits alice@example.comPreferisci type: gateway per le nuove risorse
type: litellm funziona ancora, ma ora viene validato rispetto al Gateway referenziato e viene rifiutato se i due non concordano. type: gateway segue invece lo spec.type del Gateway stesso, così l'Identity non deve mai indicare il prodotto del gateway. gatewayRef è obbligatorio per ogni type basato su gateway e deve trovarsi nello stesso namespace — vedi Scelta del backend e Regole di admission.
Licenze
Il limite di istanze users nella License conta le postazioni User — una persona corrisponde a una postazione, indipendentemente da quanti account Identity di backend possieda. La gestione delle identità nel suo complesso richiede la funzionalità identity-management. Nell'edizione Community, gestisci invece le identità inline su un singolo Gateway.