Reference
Commandes CLI
Résolution des alias, commandes de pack, et arbre de commandes par contexte.
Forme générale
xbee [params internes] [commands] [options subcommand] argsxbee cherche d’abord, dans le premier argument, un alias connu :
xbee [options]* alias [args]*Sinon, le premier argument (et éventuellement les suivants) est traité comme une commande :
xbee [commands]+ [options]* [args]*Exemple avec alias :
xbee --stack mvn clean install
# option globale : --stack
# alias : mvn
# args : clean installExemple avec commande :
xbee vm up --log debugSi le premier argument est un alias, l’exécution a lieu dans un container, avec les options propres au mode container. Sinon, xbee recherche la commande correspondante, qui définit elle-même ses options possibles.
Options internes
Ces paramètres, réservés à la communication host ↔ guest, ne sont pas d’usage courant :
--xbeeContainer --xbeeUID 1000 --xbeeGID 1000Commandes de pack
Pour une commande définie par un pack :
xbee <options> cmdPack <args>xbee --name tom catalina run
xbee enter --name tom
xbee enterOptions disponibles pour une commande de pack :
| Option | Rôle |
|---|---|
-v | Volumes |
--name | Nom donné au container |
--detached, -d | Exécution détachée |
--rm | Suppression du container une fois terminé |
--env | Variables d’environnement |
Règles de résolution : si --name est absent, un nouveau container est créé
(docker run). Si --name est présent et qu’un container de ce nom existe déjà,
xbee y exécute la commande (docker exec) ; sinon il en crée un nouveau. Si -d est
présent, docker run -d.
Créer un pack
xbee new pack <NAME>crée un pack dans un nouveau répertoire <NAME>. Sans nom, xbee new pack transforme
le répertoire courant en pack — et échoue si c’est déjà le cas.
Créer un environnement
xbee new envExécutée depuis le répertoire d’un pack, génère un xbee-env.yaml de départ avec un
hôte relié à ce pack via pack — voir
Environnements. Exécutée depuis
un répertoire qui n’est ni un pack ni un pack système (un répertoire vide, par exemple
pour un environnement purement VM sans pack applicatif), elle génère à la place un hôte
nu (host: a) rattaché directement au système choisi, sans pack. Dans les deux cas,
il reste ensuite à adapter le fichier : ajouter des hôtes, surcharger var, etc.
| Option | Rôle |
|---|---|
-s, --system | Système de l’hôte généré (ex. ubuntu:24.04) |
-p, --provider | Provider d’infrastructure (ex. aws, gcp, azure) — incompatible avec un répertoire de pack, qui n’utilise que le provider Docker interne |
-f, --force | Écrase un répertoire existant du même nom |
xbee new env -p aws -s ubuntu:24.04depuis un répertoire vide, génère un xbee-env.yaml avec provider.name: aws, un hôte
nu et les champs propres à AWS issus de ~/xbee.yaml — voir
Providers & volumes.
Installer un pack
xbee install <chemin-ou-origin>expose globalement les commandes d’un pack (sa section command), utilisables ensuite
depuis n’importe quel répertoire — voir
Pack Node.js.
Le xbee-pack.yaml seul ne suffit pas : tant qu’il n’est pas installé (globalement via
cette commande, ou localement via un xbee-install.yaml), ses commandes ne sont pas
invocables, pas même depuis le répertoire du pack.
Gérer la configuration globale
xbee config list
xbee config get provider
xbee config set default provider aws
xbee config set -p aws region eu-west-1Voir Configuration globale pour le fonctionnement
de ~/xbee.yaml, la fusion avec les valeurs intégrées et toutes les sous-commandes.
Cycle xbee pack
xbee pack # réutilise les images et artefacts valides
xbee pack --force-system # reconstruit la couche système
xbee pack --force-provision # rejoue le provisionnement du pack
xbee pack --rebuild-builders # reconstruit les artefacts builders
xbee pack --no-remote-builder-cache
xbee pack --plan # affiche le plan sans mutationL’option --system <origine> de xbee pack hors abstraction choisit un pack système ;
elle ne signifie pas « reconstruire la couche système ». Voir
Builders et artefacts pour les commandes d’inspection,
construction et gestion des caches.
Arbre de commandes par contexte
xbee/main/xbee.go détecte le contexte d’exécution (machine hôte, container, ou VM) et
construit l’arbre de commandes approprié :
| Contexte | Arbre |
|---|---|
| host, hors abstraction | pack, enter, edit, commandes directes de container, new, config, version |
| host, pack | pack, up, enter, validate, builder, admin |
| host, pack builder | commandes du pack, plus build |
| host, environnement | pack, up, down, enter, delete, validate, builder, admin |
| container | container.BuildPackCmdTree ou BuildEnvCmdTree |
| VM | vm.BuildPackCmdTree ou BuildEnvCmdTree |
Les erreurs se propagent via un panic/recover sur XbeeError, plutôt que par des
retours d’erreur explicites.