Files
pve-confsync/examples/confsync.example.yaml

64 lines
2.2 KiB
YAML

# 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