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-versionVersion du modèle de données
providerMap du provider d’infrastructure ; provider.name est obligatoire (aws, gcp, azure, virtualbox, …), les autres propriétés sont des valeurs communes
defaultValeurs par défaut appliquées à tout hôte — default.host.system, default.host.net, default.host.provider
hostDé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)
volumeDéclaration des volumes nommés (taille, options du provider)
initPré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éTypeRôle
systemIdPack système ; utilise celui du premier hôte si absent
packIdPack applicatif facultatif contenant la commande d’initialisation
namestringNom d’une commande du pack, mutuellement exclusif avec shell
argstringArgument transmis à la commande nommée
shellaction shellAction directe, mutuellement exclusive avec name
privilegedboolActive --privileged; true par défaut pour compatibilité
workspace.readonlyboolMonte le répertoire du projet en lecture seule ; false par défaut
bind.<nom>string ou mapSource simple, ou {source: chemin, readonly: bool}
portstring ou listeCorrespondances de ports publiées pendant l’initialisation
expose-portsboolPublie 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.