Skip to content

User ​

Portée : namespaced · Sous licence (fonctionnalité identity-management + quota users)

Un User est une personne sur la plateforme — un siège sous licence. C'est l'identité naturelle qui relie entre eux les comptes de cette personne à travers tous les backends. Le quota users de la licence compte les sièges User, quel que soit le nombre de comptes backend Identity que chaque personne possède.

Spec ​

ChampTypeDescription
emailstring (requis)L'email de la personne — la clé naturelle qui relie tous ses comptes Identity. Doit être une adresse valide ; une adresse mal formée est refusée à l'admission (tout comme Identity.spec.email et l'email de chaque membre d'équipe ou d'organisation)
displayNamestringNom lisible par un humain

Un User ne porte aucun type — il est agnostique vis-à-vis du backend. Les comptes par backend (clé LiteLLM, appartenance Langfuse, connexion LibreChat) sont des objets Identity distincts, chacun pointant vers le User via userRef.

Une personne, plusieurs comptes ​

User (personne / siège)         email: alice@example.com
  ▲   ▲   ▲
  │   │   └── Identity (type: librechat)      userRef: { name: alice }
  │   └────── Identity (type: observability)  userRef: { name: alice }
  └────────── Identity (type: litellm)        userRef: { name: alice }
  • Chaque Identity doit référencer son User propriétaire via un userRef requis ({ name }, même namespace).
  • Un Identity dont le spec.email est omis hérite par défaut de l'email du User propriétaire, de sorte que la personne conserve une identité unique à travers les backends.
  • Les comptes Identity sont illimités ; seuls les sièges User sont décomptés de la licence.

Exemple ​

yaml
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 }     # même namespace
  gatewayRef: { name: gateway }  # requis, et même namespace — pas de `namespace:`
  # email omis → hérite de alice@example.com

Préférez type: gateway pour les nouvelles resources

type: litellm fonctionne toujours, mais il est désormais validé contre le Gateway référencé et refusé si les deux divergent. type: gateway suit à la place le spec.type du Gateway, de sorte que l'Identity n'a jamais à nommer le produit de passerelle. gatewayRef est requis pour tout type adossé à une passerelle et doit se trouver dans le même namespace — voir Choix du backend et Règles d'admission.

Licences ​

Le quota d'instances users dans la License compte les sièges User — une personne est un siège quel que soit le nombre de comptes backend Identity qu'elle possède. La gestion des identités dans son ensemble requiert la fonctionnalité identity-management. Dans l'édition Community, gérez les identités inline sur un seul Gateway.

Voir Identity, Organization et Team et Éditions et licences.

Cœur open source sous AGPL-3.0. Les composants Enterprise sont propriétaires et soumis à licence.