Reference
xbee-env.yaml
Toutes les propriétés reconnues dans un fichier xbee-env.yaml.
Référence condensée des propriétés d’un xbee-env.yaml. Pour le contexte, voir
Environnements.
| Propriété | Rôle |
|---|---|
schema-version | Version du modèle de données |
provider | Map du provider d’infrastructure ; provider.name est obligatoire (aws, gcp, azure, virtualbox, …), les autres propriétés sont des valeurs communes |
default | Valeurs par défaut appliquées à tout hôte — default.host.system, default.host.net, default.host.provider |
host | Déclaration des hôtes, par clé (accepte count pour la répétition, une référence pack vers le pack applicatif installé — voir Environnements — et sa propre section volume, voir Environnements) |
volume | Déclaration des volumes nommés (taille, options du provider) |
init | Préparation bloquante exécutée dans un conteneur Docker local avant la première configuration — voir Conteneur d’initialisation |
Pour les providers firecracker, cloud-hypervisor et qemu, voir
VM locales et microVM pour les paramètres CPU/mémoire,
le réseau par instance et la distinction entre volume natif du pack et volume externe.
| bind | Montages nommés exposés sous xbee.bind; init.bind accepte aussi {source, readonly} |
| security | Configuration de sécurité transmise au modèle d’hôte |
| in | Valeurs injectées dans le modèle de l’environnement |
| configure / up / down | Directives UDC — voir Environnements |
| operate.<name> | Directive UDC nommée, sans comportement par défaut |
Exemple complet (provider AWS)
schema-version: "1.0"
provider:
name: aws
default:
host:
system: ubuntu:24.04
net: default
provider:
instanceType: t3a.medium
region: eu-west-3
size: 20
host:
a:
volume:
data1: /mnt/data
volume:
data1:
size: 20
provider:
region: eu-west-3
volumeType: gp3
up:
- host: a
shell: echo Hello Eric
configure:
- a:
cmd: bash "{{ .xbee.templates }}/cacert.sh"Fichier de secrets
Un fichier xbee-secret.yaml, s’il est présent, surcharge le modèle de données de
l’environnement. Il n’est pas destiné à être placé sous gestion de configuration — voir
Modèle de données. Ses valeurs peuvent être
littérales ou utiliser les références env:NOM et file:chemin; xbee impose le mode
0600 et masque les valeurs résolues dans ses logs.
Bloc init
| Propriété | Type | Rôle |
|---|---|---|
system | Id | Pack système ; utilise celui du premier hôte si absent |
pack | Id | Pack applicatif facultatif contenant la commande d’initialisation |
name | string | Nom d’une commande du pack, mutuellement exclusif avec shell |
arg | string | Argument transmis à la commande nommée |
shell | action shell | Action directe, mutuellement exclusive avec name |
privileged | bool | Active --privileged; true par défaut pour compatibilité |
workspace.readonly | bool | Monte le répertoire du projet en lecture seule ; false par défaut |
bind.<nom> | string ou map | Source simple, ou {source: chemin, readonly: bool} |
port | string ou liste | Correspondances de ports publiées pendant l’initialisation |
expose-ports | bool | Publie les ports exposés par les packs ; false par défaut |
Le contrat complet, le cycle de vie, le modèle de secrets et les exemples sont décrits dans Conteneur d’initialisation.