Noms de tenant
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, chiffres0-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.
| Famille | Exemples |
|---|---|
| Environnements | dev, test, qa, staging, preprod, recette, demo, sandbox, prod, production, live, preview |
| Branches git | master, main, trunk, head |
| Sous-domaines courants | www, api, auth, login, sso, mail, static, assets, status, docs, blog, help, support |
| Termes génériques | admin, root, security, internal, public, private, null, all, shared, tenant, new, me |
| Plateforme | stackngo, 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érezacme-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 pullpuissng 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
| Message | Correction |
|---|---|
invalid organization: reserved name | Le 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 conflict | Le nom est déjà pris : choisissez-en un autre |