Reference

Configuration globale

Consulter et modifier les valeurs par défaut utilisées par Xbee.

La commande xbee config gère la configuration globale de Xbee. Elle est disponible quel que soit le répertoire courant : hors projet, dans un pack ou dans un environnement.

Configuration effective et personnalisations

Xbee possède une configuration intégrée qui définit notamment :

  • le provider, le système, le réseau et l’architecture par défaut ;
  • la taille par défaut des volumes et les règles de sécurité ;
  • les propriétés connues des providers ;
  • les registres de packs et d’images OCI ;
  • le répertoire interne Xbee.

Les personnalisations sont enregistrées dans :

~/xbee.yaml

Au chargement, Xbee fusionne ce fichier par-dessus sa configuration intégrée. Le fichier utilisateur peut donc ne contenir que les valeurs à remplacer :

default:
  provider: aws

provider:
  aws:
    region: eu-west-1
    host:
      instanceType: t3a.large

Commandes disponibles

CommandeRôle
xbee config listAfficher la configuration effective complète
xbee config get providerAfficher le provider par défaut
xbee config set default provider <nom>Modifier le provider par défaut
xbee config set default host.system <pack>Modifier le pack système par défaut
xbee config set -p <nom> <chemin> <valeur>Modifier une propriété d’un provider
xbee config unset providerRétablir le provider par défaut intégré
xbee config exportExporter la configuration complète dans ~/xbee.yaml

Afficher la configuration effective

xbee config list

La sortie YAML comprend la configuration intégrée et les personnalisations de ~/xbee.yaml. Elle peut être redirigée sans modifier le fichier global :

xbee config list > configuration-effective.yaml

Pour connaître uniquement le provider par défaut :

xbee config get provider

La valeur intégrée est container, sauf personnalisation.

Choisir le provider par défaut

xbee config set default provider aws

Cette valeur est notamment utilisée lorsqu’une commande a besoin d’un provider sans qu’il soit fourni explicitement. Pour revenir à la valeur intégrée :

xbee config unset provider

unset retire uniquement la personnalisation de default.provider. Les propriétés comme provider.aws.region restent présentes. Si le fichier ne contient plus aucune personnalisation, Xbee le supprime.

Choisir le pack système par défaut

xbee config set default host.system debian:13

L’argument est l’origine d’un pack système, avec éventuellement son sélecteur de version, comme dans require ou default.host.system d’un manifeste :

xbee config set default host.system ubuntu:24.04
xbee config set default host.system debian:13
xbee config set default host.system ./packs/mon-systeme

La commande enregistre une surcharge minimale dans ~/xbee.yaml :

default:
  host:
    system: debian:13

Ce pack système est utilisé lorsqu’un pack ou un environnement ne fournit pas explicitement son système. Il sert également de valeur initiale aux squelettes créés par xbee new env.

La valeur intégrée actuelle est ubuntu:24.04. Pour revenir à cette valeur, il suffit de l’affecter à nouveau :

xbee config set default host.system ubuntu:24.04

Xbee reconnaît alors la valeur intégrée et retire default.host.system du fichier utilisateur au lieu de conserver une surcharge inutile. Les autres personnalisations de ~/xbee.yaml sont préservées ; si le fichier devient entièrement vide, il est supprimé. Une demande identique à la valeur effective actuelle ne réécrit pas le fichier.

La valeur effective se consulte dans la sortie de :

xbee config list

à l’emplacement default.host.system.

Modifier les propriétés d’un provider

xbee config set --provider <provider> <chemin> <valeur>

--provider peut être abrégé en -p. Le chemin utilise des points pour traverser la structure YAML :

xbee config set -p aws region eu-west-1
xbee config set -p aws host.instanceType t3a.large
xbee config set -p gcp projectId mon-projet
xbee config set -p azure location westeurope
xbee config set -p scaleway host.commercialType DEV1-L

Le provider et le chemin doivent exister dans la configuration intégrée. Cette commande ne modifie que des feuilles scalaires : elle refuse un objet ou une liste entière. La valeur écrite conserve autant que possible le type YAML de la propriété d’origine.

Ces valeurs servent aussi à xbee new env --provider <nom>, qui les répartit entre :

  • provider, pour les propriétés communes ;
  • default.host.provider, pour les valeurs propres aux machines ;
  • default.volume.provider, pour les valeurs propres aux volumes.

Exporter la configuration

xbee config export

Alias :

xbee config e

La commande matérialise la configuration complète dans ~/xbee.yaml. Si le fichier existe, Xbee demande confirmation puis fusionne ses personnalisations avec la configuration intégrée avant de le réécrire. --force (-f) évite la confirmation :

xbee config export --force

L’export conserve les valeurs, mais peut réorganiser le YAML et supprimer les commentaires personnalisés. Pour une simple sauvegarde lisible, préférez xbee config list > configuration-effective.yaml.

Structure intégrée actuelle

La configuration fournit actuellement des valeurs pour virtualbox, aws, gcp, azure, scaleway et ovh. Les propriétés exactes et leurs valeurs effectives sont toujours consultables avec xbee config list.

Les autres clés racines reconnues dans ~/xbee.yaml sont :

CléRôle
internaldirRépertoire des caches et données internes (~/.xbee par défaut)
xbee-registryRegistres Git utilisés pour résoudre les packs
container-registryRegistres d’images OCI
agentConfiguration de l’agent