Scaleway CLI (scw)
À quoi il sert
scw est la ligne de commande de Scaleway, un binaire unique écrit en Go. Elle couvre l'ensemble des API du fournisseur (instances, bases managées, Kubernetes Kapsule, stockage, réseau, IAM, facturation) avec une syntaxe régulière : scw <produit> <ressource> <verbe> argument=valeur. Chaque commande est un appel à l'API HTTP de Scaleway, que l'option -D (--debug) affiche en entier, en-tête d'authentification masqué. La sortie est un tableau lisible par défaut, ou du JSON avec -o json, à traiter avec jq.
Son fichier de configuration (~/.config/scw/config.yaml), avec ses profils, est le même que celui du SDK Go et du fournisseur Terraform de Scaleway.
Quand le choisir
Pour explorer et diagnostiquer (lister, décrire, lire les journaux), pour apprendre ce que font les API, et pour de petits scripts d'exploitation. Les équivalents chez les autres fournisseurs sont aws, az, gcloud, et openstack pour les clouds OpenStack comme celui d'OVHcloud. Pour créer et faire évoluer une infrastructure durable, préférez un outil déclaratif (Terraform ou OpenTofu) : un script de commandes scw ne sait ni comparer l'existant à l'attendu, ni défaire ce qu'il a fait.
Points d'attention
- La clé secrète est en clair dans
config.yaml(créé avec les droits600). Ne la passez jamais en argument (secret-key=...) : elle finirait dans l'historique du shell. - Les variables d'environnement
SCW_*l'emportent sur le fichier, et l'option-pl'emporte surSCW_PROFILEet suractive_profile: vérifiez avecscw config infosur quel profil et quel projet vous travaillez avant toute commande destructrice. - Sans
zone=niregion=, les commandes utilisent les valeurs par défaut de la configuration ; une ressource « introuvable » est souvent dans une autre zone. Beaucoup de commandeslistacceptentzone=allouregion=all. - Les opérations sont asynchrones : utilisez
--waitdans les scripts pour attendre qu'une ressource soit prête. - Avec
scw rdb instance create, le mot de passe généré est écrit sur la sortie standard avant le JSON :-o json | jqéchoue dans ce cas. - La CLI évolue vite et suit les versions des API : l'aide intégrée (
--helpà chaque niveau) fait foi pour la version installée.
Par où commencer
La leçon Ce qu'est le cloud installe et configure scw, crée un projet et rejoue une commande avec curl. La leçon 2 l'utilise pour créer une base PostgreSQL managée et un conteneur serverless.