Aller au contenu principal

CLI sng

sng est la CLI de StackNGO. Elle applique vos manifestes, lit l'état de votre tenant et pilote les opérations courantes. Tout ce qu'elle fait passe par l'API HTTP : une commande sng est toujours reproductible avec curl.

Installation : Installer la CLI. Configuration et variables d'environnement : Configuration.

Arbre des commandes​

sng
├── sso login | logout | whoami Connexion et identité
├── config create | show | use-cluster Fichier de configuration local
├── template list | search | gen Catalogue de gabarits de manifestes
├── apply [PATH] Appliquer des manifestes
├── validate [PATH] Vérifier la structure
├── plan [PATH] Comparer avec l'état désiré
├── pull [DIR] Exporter l'état désiré
├── destroy FICHIER.yml Supprimer ce que décrit un fichier
├── kind list | get | edit | delete Lire, modifier, supprimer par kind et nom
├── detect [CHEMIN] Détecter les programmes, générer Dockerfile et App
├── run [DOSSIER] -p PORT Lancer un dossier en HTTPS, éphémère
├── app list | create | describe | patch | scale | restart | logs | delete
├── secret list | describe | get | set | create | versions | rotate | restore | delete
├── cdn list | create | delete | upload | enable | disable | clear-cache
├── dns zone (list | create | describe | delete) · record (list | set | describe | delete)
├── registry login | create | pull | build | delete | access-key credentials
├── monitor list | create | delete
├── tenant list | create | use | assume | destroy
│ ├── policy list | get | create | update | delete | attach | detach | principals
│ ├── tier list | show | set
│ ├── oidc list | create | delete
│ └── billing get | set (administrateurs)
├── env list | checkout | refresh | restore | create-tenant
├── iam init | config | user | app | role | group Comptes de vos utilisateurs finaux
├── domain search | list | purchase | renew | remove (non disponible)
└── completion bash | zsh | fish | powershell
GroupeStatutPage
sso, configDisponiblesng sso, sng config
template, apply, validate, plan, pullDisponiblesng template, sng apply
kind (list, get, edit, delete)Disponiblesng kind
destroyDisponiblesng destroy
detectBêtasng detect
runBêtasng run
appBêtasng app
secretDisponiblesng secret
cdnBêtasng cdn
dnsBêtasng dns
registryBêtasng registry
monitorBêtasng monitor
tenant (+ policy, tier, oidc, billing)Disponiblesng tenant
envDisponiblesng env
iamDisponiblesng iam
domainÀ venirsng domain

Flags globaux​

Disponibles sur toutes les commandes.

FlagDéfautEffet
--config PATH~/.config/stackngo/config.yamlFichier de configuration à utiliser
--jsondésactivéSortie JSON indentée au lieu du texte ou des tableaux
-v, --verbosedésactivéAjoute la méthode et l'URL HTTP aux messages d'erreur de l'API
--version—Affiche la version du binaire et quitte
-h, --help—Aide de la commande

Sortie​

  • Texte : tableaux alignés (TENANT POLICIES CURRENT) ou lignes clé: valeur.

  • --json : la réponse de l'API, telle quelle, indentée. C'est la forme à utiliser dans un script :

    sng tenant list --json | jq -r '.tenants[].tenant'
  • YAML : sng kind get TYPE NAME, sng template gen et les commandes --dry-run écrivent du YAML (un manifeste), pas du JSON.

Codes de sortie​

CodeSens
0Succès
1Toute erreur : argument invalide, non connecté, refus de l'API, réseau. Le message est écrit sur la sortie d'erreur.

Une erreur de l'API s'affiche sous la forme :

forbidden (no policy of this tenant allows it: see sng tenant policy list)

Avec -v :

forbidden (no policy of this tenant allows it: see sng tenant policy list) (GET https://api.dev.stackngo.fr/v1/secrets)

Les codes HTTP sont expliqués dans Erreurs de l'API.

Jetons et renouvellement​

La CLI garde deux jetons : votre identité (après sng sso login) et la session du tenant courant (après sng tenant use). La session dure une heure ; quand l'API répond 401, la CLI en rouvre une avec votre identité et rejoue la commande. Vous n'avez rien à faire tant que votre identité est valide. Si elle a expiré : sng sso login.

Conventions des pages​

Chaque page de groupe décrit ses commandes avec : synopsis, description, arguments, flags (nom, type, défaut, effet), exemples, sortie --json et erreurs typiques. Les alias (sng kind get TYPE pour sng kind list TYPE) sont signalés.