# pve-confsync - exemple de configuration (phase 0, CLI) # Les secrets des tokens ne sont JAMAIS écrits ici : variable d'environnement # (token_secret_env) ou fichier, par exemple un secret docker (token_secret_file). reference: name: ref url: https://pve-ref.lab:8006 token_id: confsync@pve!ro # token en lecture seule (Sys.Audit, SDN.Audit) token_secret_file: /run/secrets/pve_ref # secret docker (voir docker-compose.yml) fingerprint: "AA:BB:CC:...:FF" # SHA-256 du certificat (pinning, certificat auto-signé) clients: - name: site-a url: https://pve-a.lab:8006 token_id: confsync@pve!rw token_secret_file: /run/secrets/pve_site_a ca_file: /config/ca-site-a.pem # ou fingerprint, ou insecure: true (labo uniquement) # Valeurs propres au cluster, prioritaires sur la référence : # type d'objet -> id -> champ -> valeur mapping: sdn-zone: vlanz: bridge: vmbr1 # obligatoire pour créer une zone VLAN nodes: pve-a1,pve-a2 vxz: peers: 192.168.10.1,192.168.10.2 datacenter-options: datacenter: next-id: lower=2000,upper=2999 # Politiques propres à ce client (prioritaires sur les politiques globales) policies: sdn-zone: mtu: ignore - name: site-b url: https://pve-b.lab:8006 token_id: confsync@pve!rw token_secret_env: PVE_SITE_B_SECRET insecure: true mapping: sdn-zone: vlanz: bridge: vmbr0 # Types synchronisés (défaut : tous) kinds: [datacenter-options, sdn-zone, sdn-vnet, sdn-subnet] # Sélection des objets par motif (glob) sur l'id objects: sdn-zone: exclude: ["lab*"] # Politique par champ : sync | ignore | override (valeur fournie par le mapping du client) # Défauts : options datacenter = tag-style, registered-tags, user-tag-access, next-id en sync, # le reste ignoré ; zones SDN = nodes, bridge, peers, fabric, dns, reversedns, dnszone en # override, le reste en sync ; vnets et subnets = sync. policies: datacenter-options: keyboard: sync language: sync # Suppression chez les clients des objets absents de la référence (défaut : non) prune: false