Configuration
Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.
La CLI stocke ses jetons et ses préférences dans un fichier local. En CI ou dans un script, les variables d'environnement prennent le relais.
Le fichier
Emplacement par défaut : ~/.config/stackngo/config.yaml (Linux, macOS),
%APPDATA%\stackngo\config.yaml (Windows). --config PATH en désigne un autre.
Le fichier est créé par sng config create ou par la première commande qui écrit un jeton
(sng sso login). Il est en mode 0600 dans un dossier 0700 : lisible par vous seul.
api_url: https://api.dev.stackngo.fr
cluster: ovh-gra-0
tenant: acme-dev
access_token: "…" # votre identité (sng sso login)
refresh_token: "…"
tenant_token: "…" # session du tenant courant (sng tenant use)
| Clé | Rôle |
|---|---|
api_url | Adresse de l'API, sans /v1. Le binaire embarque https://api.dev.stackngo.fr ; cette clé ne sert qu'à viser une autre API. |
cluster | Cluster visé (sng config use-cluster). Vide : le cluster par défaut de l'API. |
tenant | Tenant courant (sng tenant use). Un environnement correspond à un tenant. |
access_token, refresh_token | Jeton d'identité. Le refresh_token est conservé mais pas utilisé : à l'expiration, relancez sng sso login. |
tenant_token | Session du tenant courant, renouvelée automatiquement. |
Il contient vos jetons. sng config show affiche tout sauf les jetons, pour vérifier sans
risque.
Cluster et tenant
La CLI parle à un cluster et à un tenant, rien d'autre : il n'y a plus de contexte ni de région à choisir. Les manifestes que vous appliquez, listez ou supprimez sont ceux du tenant courant.
sng config use-cluster ovh-gra-0 # choisir le cluster
sng tenant use acme-dev # choisir le tenant (donc l'environnement)
Un environnement, c'est un tenant : créez acme-dev et acme-prod, puis passez de l'un à
l'autre avec sng tenant use. Chaque tenant a ses propres droits, son quota et ses domaines.
Voir Environnements et restauration.
Un fichier qui contient encore current_context, contexts ou region est converti au premier
lancement : le contexte courant (API, tenant, jetons) est conservé, region est abandonnée et
l'original est gardé une fois dans config.yaml.bak. Après un changement de cluster, relancez
sng sso login.
Variables d'environnement
Elles l'emportent sur le fichier. C'est la façon de configurer la CLI en CI.
| Variable | Remplace | Usage typique |
|---|---|---|
STNG_API_URL | api_url | Viser une autre API (sans /v1) |
STNG_ACCESS_TOKEN | access_token | Jeton d'identité fourni par le pipeline |
STNG_TENANT_TOKEN | tenant_token | Session de tenant fournie par le pipeline (ancien nom : STNG_SESSION_TOKEN) |
STNG_CLUSTER | cluster | Cluster |
STNG_TENANT | tenant | Tenant courant |
STNG_OAUTH_CLIENT_ID | identifiant intégré à la CLI | Identifiant client pour sng sso login --client-credentials (ignoré par la connexion par navigateur) |
STNG_OAUTH_CLIENT_SECRET | — | Secret client pour sng sso login --client-credentials |
Les paramètres du service d'authentification (adresse, identifiant client, organisation) sont fixés à la compilation du binaire et ne se surchargent ni par le fichier, ni par l'environnement.
Pour une CI sans aucun secret stocké, préférez la fédération OIDC à un jeton dans une variable.
Garde-fous
- HTTPS obligatoire vers l'API, sauf pour
localhostet127.0.0.1. - Un
api_urlde boucle locale (http://127.0.0.1:…) laissé dans le fichier est ignoré quand le binaire vise une API distante : un reste de développement local ne détourne pas vos commandes. - Un seul jeton par requête : la CLI choisit l'identité ou la session selon la route. Vous n'avez jamais à fournir d'en-tête vous-même.
Vérifier
sng config show
cluster: ovh-gra-0
tenant: acme-dev
api_url: https://api.dev.stackngo.fr