Concepts

Identité & résolution

Comment xbee adresse, résout et met en cache packs et environnements.

Un Id définit les coordonnées d’une abstraction xbee (pack ou environnement).

Composition d’un Id

ChampRôle
OriginD’où vient le produit : une URL de dépôt Git (https://github.com/toto/titi.git) ou un dossier local
VersionNon vide si l’abstraction est versionnée — branche, tag ou commit
CommitNon vide si l’abstraction est versionnée
AliasUtilisé uniquement au sein d’une abstraction englobante
LocationRépertoire local où se trouve la définition — calculé, jamais fourni

Comment on référence un Id

Sous forme abrégée (juste l’origine) :

pack: tomcat

Ou sous forme complète :

pack:
  origin: tomcat
system: centos:7.4

Trois formats d’origine sont acceptés partout où un Id est attendu :

  • NAME[:SELECTOR] — nom dans le dépôt xbee (ex. ubuntu:22.04)
  • ./local/path — dossier local
  • https://…git[:version] — URL Git distante, avec version optionnelle

L’IdResolver récupère et met en cache les origines sous ~/.xbee, en utilisant Git comme magasin de stockage sous-jacent.

Verrouillage et cache

Au sein d’une abstraction, xbee-lock.yaml fige la résolution des versions. Si l’abstraction appartient à un dépôt Git, le fichier est placé à la racine de ce dépôt ; sinon, il est placé dans le répertoire de l’abstraction. Les dépôts Git résolus sont conservés dans le cache global ~/.xbee/cache-elements/ par défaut.

L’option --clean / -c ignore les entrées de lock existantes et force une nouvelle résolution. Le lock recalculé est sauvegardé à la fin d’une exécution réussie.

En dehors de toute abstraction, la résolution utilise le répertoire interne Xbee global (~/.xbee par défaut), avec son propre xbee-lock.yaml et ses caches.

Voir aussi Répertoires & cache pour la disposition complète sur le disque.