Erreurs de la CLI
Disponible
Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.
sng écrit ses erreurs sur la sortie d'erreur et sort avec le code 1. Deux familles :
les erreurs locales (configuration, fichiers) et les erreurs renvoyées par l'API, affichées par
leur message, parfois complété d'une consigne. Ajoutez -v pour voir la méthode et l'URL
appelées, entre parenthèses.
Connexion et session
| Message | Cause | Correction |
|---|---|---|
not authenticated: run sng sso login | Pas d'identité, ou identité expirée | sng sso login |
session expired: run sng tenant use NAME (or sng sso login if identity is expired) | Jeton expiré ou révoqué | sng sso login, puis sng tenant use <tenant> |
tenant session required: run sng tenant use NAME | Commande de tenant sans tenant courant | sng tenant use <tenant> |
identity token required: run sng sso login | Commande d'identité lancée avec une session seule (CI qui a fourni STNG_TENANT_TOKEN) | Fournir une identité (sng sso login) |
waiting for the tenant default policies… | Tenant tout juste créé : ses policies ne sont pas encore actives | Rien : la CLI attend jusqu'à six minutes |
tenant policies not applied yet; retry `sng tenant use NAME` in a minute | Idem, attente dépassée | Réessayer dans une minute |
no assume-role on tenant "NAME": ask an admin to run `sng tenant policy attach assume-role …` | Aucune policy du tenant ne vous permet d'y ouvrir une session | Demander à un administrateur de lancer la commande affichée |
Configuration locale
| Message | Cause | Correction |
|---|---|---|
unknown cluster "…" (available: …) | Le cluster n'existe pas | sng config use-cluster NOM avec un nom de la liste |
tenant session required: run sng tenant use NAME | Aucun tenant courant | sng tenant use NOM |
parse config … | Fichier de configuration corrompu | Supprimer ~/.config/stackngo/config.yaml, puis sng config create et sng sso login |
Erreur TLS ou https required | api_url ou STNG_API_URL en http:// vers un hôte distant | Utiliser https:// |
Manifestes
| Message | Cause | Correction |
|---|---|---|
validation failed (N issue(s)) | sng validate a trouvé des erreurs, listées au-dessus | Corriger chaque ligne error: |
invalid manifest … | Schéma ou règle croisée violée ; le message nomme le champ | Voir la page de référence du kind |
unsupported kind … | Kind que sng apply n'accepte pas (faute de frappe, kind réservé à la plateforme) | Vérifier la liste des kinds |
Refus qui cite metadata | Le manifeste précise un emplacement ou un tenant dans metadata | Le retirer : le tenant vient de votre session |
metadata : seul name est permis (… refusé) | Label, annotation, tenant ou autre clé que name dans metadata | Le retirer |
conflict | Nom ou hôte déjà pris, ou ressource en cours de suppression | Renommer, ou attendre |
kind/name must not change … | sng kind edit : kind ou metadata.name modifié | Créer la nouvelle ressource, supprimer l'ancienne |
edit expects exactly 1 YAML document, found N | sng kind edit : plusieurs documents dans le fichier | Un seul document |
Suppressions
| Message | Cause | Correction |
|---|---|---|
confirmation requise : relancez avec --yes … | Suppression lancée hors terminal (script, CI) | Ajouter -y |
opération annulée | Confirmation refusée | — |
Permissions
| Message | Cause | Correction |
|---|---|---|
forbidden (no policy of this tenant allows it: see sng tenant policy list) | La session n'a pas l'action IAM exigée | Voir le catalogue des actions et demander la policy à un administrateur |
authorization service unavailable: retry later | Le service d'autorisation ne répond pas ; aucun accès n'est accordé | Réessayer |
CI (OIDC)
| Message | Cause | Correction |
|---|---|---|
no CI OIDC token: set STNG_OIDC_TOKEN … | Pas de jeton OIDC exposé au job | id_tokens (GitLab) ou permissions: id-token: write (GitHub) |
OIDC: tenant required: set STNG_TENANT … | STNG_TENANT manquant | Le définir |
invalid identity token | Aucun trust ne correspond au jeton, ou plusieurs | Comparer iss, aud, sub avec sng tenant oidc get ; fixer STNG_OIDC_TRUST |
jeton OIDC du CI expiré … | Le jeton fourni par variable a expiré pendant le job | Relancer le job |
Signaler un problème
Joignez la commande, la sortie avec -v, l'heure (UTC) et le tenant. Ne joignez jamais
votre fichier de configuration : il contient vos jetons.