Aller au contenu principal

Noms de tenant

Disponible

Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.

Le nom d'un tenant devient à la fois son identifiant, son sous-domaine (<tenant>.dev.stackngo.app), le préfixe de ses images (registry…/<tenant>/…) et le nom de son organisation d'identité. Il est donc contraint, et certains noms sont interdits.

La règle​

  • Lettres minuscules a-z, chiffres 0-9, tirets -.
  • Commence par une lettre ou un chiffre.
  • 30 caractères au plus à la création.
  • Ni réservé, ni déjà pris.
acme ✓
acme-prod ✓
Acme ✗ majuscule
acme_prod ✗ souligné
-acme ✗ commence par un tiret

Un nom refusé répond 400 avec un message explicite (invalid organization: reserved name, invalid organization: too long (max 30)), un nom déjà pris répond 409 conflict.

Noms réservés​

La correspondance est exacte : prod est réservé, acme-prod ne l'est pas. Les noms commençant par stackngo- ou sng-, ainsi que quelques préfixes techniques, sont réservés en entier.

FamilleExemples
Environnementsdev, test, qa, staging, preprod, recette, demo, sandbox, prod, production, live, preview
Branches gitmaster, main, trunk, head
Sous-domaines courantswww, api, auth, login, sso, mail, static, assets, status, docs, blog, help, support
Termes génériquesadmin, root, security, internal, public, private, null, all, shared, tenant, new, me
Plateformestackngo, sng, platform, system, console, dashboard, et les noms des services de la plateforme

Cette liste donne des exemples ; elle n'est pas exhaustive. sng tenant create vous dit immédiatement si un nom est réservé (invalid organization: reserved name).

Pourquoi​

  • Un nom d'environnement (prod, staging) comme nom de tenant rendrait les URL et les journaux ambigus pour tout le monde. Préférez acme-prod, ou mieux : un tenant par environnement (voir Environnements et restauration).
  • Un sous-domaine courant (api, auth, status) ou un nom de la plateforme entrerait en collision avec les adresses de la plateforme.

Choisir un bon nom​

  • Court : il apparaît dans toutes vos URL (web-shop.acme.dev.stackngo.app).
  • Stable : un tenant ne se renomme pas. Pour changer de nom, il faut créer un nouveau tenant, y rejouer les manifestes (sng pull puis sng apply) et détruire l'ancien.
  • Un par périmètre de droits : si deux équipes ne doivent pas voir les ressources l'une de l'autre, ce sont deux tenants.

Si ça ne marche pas​

MessageCorrection
invalid organization: reserved nameLe nom est réservé : ajoutez un préfixe ou un suffixe (acme-prod)
invalid organization: too long (max 30)Raccourcissez le nom à 30 caractères
invalid organization: … (autre)Retirez majuscules, soulignés et caractères spéciaux ; commencez par une lettre ou un chiffre
409 conflictLe nom est déjà pris : choisissez-en un autre

Voir aussi​