Reference

Commandes CLI

Commandes publiques, résolution des alias et disponibilité selon le contexte.

Syntaxe générale

xbee <commande> [sous-commande] [options] [arguments]
xbee [options] <alias-de-pack> [arguments]
Option transversaleRôle
--log, -lNiveau de journalisation : info, debug ou off
--stackAffiche la pile lors d’une erreur inattendue
xbee up --log debug
xbee --stack mvn clean install  # mvn est ici un alias de pack installé

L’arbre CLI dépend du répertoire courant. Une commande comme up est disponible dans un pack ou un environnement, mais pas dans un répertoire ordinaire. XBee résout les commandes valides pour le contexte, puis tente d’interpréter l’argument comme un alias de pack installé.

Commandes disponibles partout sur l’hôte

CommandeRôle
xbee doctor [--json]Vérifie les prérequis applicables au répertoire courant
xbee config ...Consulte ou modifie la configuration globale
xbee new ...Crée un pack, un environnement ou un descripteur d’installation
xbee versionAffiche la version de XBee

Voir Configuration globale pour les sous-commandes de config.

Créer un pack

La commande canonique est new pack; new p est son alias court :

xbee new pack [NOM...]

Sans nom, elle transforme le répertoire courant en pack. Avec un ou plusieurs noms, elle crée les répertoires correspondants.

OptionRôle
--force, -fAutorise le remplacement après confirmation
--extend, -eAjoute une origine extend au squelette
--type, -tType : default, system, builder, provider ou dev
xbee new pack application
xbee new pack --type builder application-builder

Créer un environnement

La commande canonique est new environment; new env et new e sont des alias :

xbee new environment [NOM...]
xbee new env

Sans nom, elle crée xbee-env.yaml dans le répertoire courant. Avec un ou plusieurs noms, elle crée autant de répertoires d’environnement.

Depuis un pack, l’environnement généré référence le pack courant et utilise nécessairement le provider Docker interne. Depuis un répertoire ordinaire, il contient un hôte système nu et peut cibler un provider explicite.

OptionRôle
--system, -sSystème généré, par exemple ubuntu:24.04
--provider, -pProvider explicite, par exemple qemu, aws ou gcp
--force, -fAutorise le remplacement après confirmation
xbee new env --provider qemu --system ubuntu:26.04 local-vm

Créer un descripteur d’installation

new install (alias new i) crée un fichier xbee-install.yaml minimal dans le répertoire courant :

xbee new install

Si le répertoire possède déjà ce descripteur, la commande ne le remplace pas. Voir xbee-install et Dev Containers pour son modèle d’utilisation.

Gérer les packs hors abstraction

Dans un répertoire qui n’est ni un pack ni un environnement :

xbee info <origine>
xbee install <origine...>
xbee remove <origine...>
xbee edit <origine>
xbee enter <origine>
xbee pack <origine...>
CommandeRôle
info (i)Affiche la description et les variables surchargeables d’un pack
installEnregistre globalement les commandes exposées par les packs
removeDésenregistre les commandes des packs indiqués
edit (e)Clone l’origine dans un répertoire local
enterOuvre un shell dans l’image OCI déjà construite du pack
packConstruit les images des packs indiqués

install, remove, enter et pack acceptent les options de variables du modèle. install, enter et pack permettent aussi de choisir --system. Avec pack --provider <nom>, XBee construit le bundle d’un provider compatible tel que Firecracker, Cloud Hypervisor ou QEMU.

Exécuter une commande exposée par un pack

Après xbee install, une entrée de la section command du pack devient un alias :

xbee [options] <alias> [arguments]
xbee --name tom catalina run
OptionRôle
--volume, -vAjoute des volumes au container d’exécution
--env, -eAjoute des variables d’environnement
--nameNomme ou sélectionne le container
--detach, -dDémarre en arrière-plan
--daemonUtilise le mode daemon du runner
--rmSupprime le container après son arrêt

Si le container nommé existe, XBee exécute la commande dedans. Sinon, il crée un nouveau container à partir de l’image du pack.

Commandes d’un pack

Dans un répertoire contenant xbee-pack.yaml :

CommandeRôle
xbee validate [--dump]Valide le pack et peut écrire son modèle résolu
xbee show modelAffiche le modèle effectif en YAML
xbee show provisionAffiche la tâche provision effective
xbee show buildAffiche la tâche build effective
xbee show deployAffiche la tâche deploy effective
xbee plan [--json]Affiche le plan de construction sans mutation
xbee packConstruit ou réutilise l’image du pack
xbee upDémarre un environnement Docker temporaire pour le pack
xbee enterOuvre un shell dans l’image OCI construite
xbee builder ...Inspecte et gère les artefacts builders
xbee admin ...Supprime explicitement les ressources associées

Un pack de type builder expose aussi xbee build. Les commandes show ne sont pas ajoutées lorsque le même répertoire est à la fois un pack et un environnement.

Options principales de pack

xbee pack                         # réutilise les 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-builder-cache
xbee pack --no-remote-builder-cache
xbee pack --no-remote-cache
xbee pack --plan                  # affiche le plan sans mutation

L’option --system <origine> de xbee pack hors abstraction choisit le pack système ; elle ne signifie pas « reconstruire la couche système ».

Sous-commandes builder

xbee builder list [--json]
xbee builder graph [--json]
xbee builder inspect <sélecteur> [--json]
xbee builder build <sélecteur>
xbee builder clean [<sélecteur>] [--all] [--force]
xbee builder push <sélecteur>
xbee builder pull <sélecteur>
xbee builder remote inspect <sélecteur>
xbee builder remote clean <sélecteur>

Voir Builders et artefacts pour les caches locaux et distants.

Commandes d’un environnement

Dans un répertoire contenant xbee-env.yaml :

CommandeRôle
xbee validate [--dump]Valide et peut matérialiser le modèle résolu
xbee show modelAffiche le modèle effectif en YAML
xbee show upAffiche la séquence up effective
xbee show downAffiche la séquence down effective
xbee show configureAffiche la séquence configure effective
xbee show operate [nom]Affiche toutes les opérations ou celle indiquée
xbee plan [--state] [--json]Affiche le plan et, facultativement, l’état réel
xbee packConstruit les images manquantes de l’environnement
xbee upCrée ou réconcilie les hôtes, puis les configure
xbee downExécute les actions down, puis arrête les hôtes
xbee enter [instance]Ouvre une session dans l’instance choisie
xbee delete, rm, destroySupprime l’environnement après confirmation
xbee state showAffiche le registre local .xbee/state.yaml
xbee state refreshReconstruit ce registre depuis l’état observé
xbee adopt [--plan] [--force]Adopte les ressources historiques éligibles
xbee builder ...Inspecte et gère les builders de l’environnement
xbee admin ...Effectue les suppressions explicites de ressources

enter peut omettre l’instance seulement si l’environnement n’en développe qu’une. Les opérations déclarées dans operate deviennent également des commandes directement exécutables par leur nom.

Suppression et ressources persistantes

xbee delete --force
xbee admin delete volume --force data backup
xbee admin delete pack --host application --force
xbee admin delete system --host application --force
xbee admin delete all --force

delete supprime les hosts. Le cycle de vie exact des volumes externes dépend du provider ; avec les providers microVM locaux, ils sont conservés jusqu’à admin delete volume.

Plan, état et adoption

xbee plan
xbee plan --json
xbee plan --state
xbee state show
xbee state refresh
xbee adopt --plan
xbee adopt
xbee adopt --force

plan est en lecture seule. --state ajoute l’inventaire Docker ou provider au plan. adopt --plan liste les ressources historiques dont la propriété peut être vérifiée, sans les modifier. adopt demande confirmation ; --force rend cette étape non-interactive sans contourner les contrôles de propriété.

Disponibilité par contexte

Contexte du répertoireCommandes supplémentaires principales
Répertoire ordinaireinfo, install, remove, edit, enter, pack
Packvalidate, show, plan, pack, up, enter, builder, admin
Pack buildercommandes du pack, plus build
Environnementvalidate, show, plan, pack, up, down, enter, delete, state, adopt, builder, admin

doctor, config, new et version restent disponibles dans tous ces contextes sur la machine hôte. Les commandes techniques utilisées à l’intérieur des containers ou des VM ne font pas partie de l’interface publique.

Voir Cycle de vie et adoption pour les garanties de sécurité et VM locales et microVM pour les hyperviseurs locaux.