--- # ===================================================================== # Variables communes du PoC BunkerWeb # Les valeurs marquées "A ADAPTER" dépendent de votre infra. # ===================================================================== # --- Domaine de test ------------------------------------------------- # Les sites seront www., shop., api., bwui. # ".internal" est réservé par l'ICANN pour l'usage privé : pas de collision possible. poc_domain: bwpoc.internal # A ADAPTER si vous avez une zone DNS de labo # --- Proxmox ---------------------------------------------------------- pve_node: lancelot pve_storage: local-lvm # A ADAPTER : stockage des disques VM # Réseau "LAB", VLAN 200, adressage par DHCP (passerelle et DNS fournis). # Si LAB est un VNet SDN : pve_bridge: LAB et pve_vlan_tag: "" pve_bridge: vmbr0 # A ADAPTER pve_vlan_tag: "200" pve_pool: bwpoc # pool délégué au compte dédié # Compte dédié pour le clonage par l'API (voir README, "Compte Proxmox dédié"). # Jeton API (PVE_TOKEN_SECRET) prioritaire, sinon mot de passe (PROXMOX_PASSWORD). pve_api_user: "{{ lookup('ansible.builtin.env', 'PROXMOX_CLAUDE') | default('bwpoc@pve', true) }}" pve_api_token_id: ansible pve_api_token_secret: "{{ lookup('ansible.builtin.env', 'PVE_TOKEN_SECRET') }}" pve_api_password: "{{ lookup('ansible.builtin.env', 'PROXMOX_PASSWORD') }}" pve_validate_certs: false # certificat auto-signé du nœud pve_template_vmid: 9100 pve_template_name: debian13-cloud pve_image_url: https://cloud.debian.org/images/cloud/trixie/latest/debian-13-genericcloud-amd64.qcow2 pve_image_path: /var/lib/vz/template/debian-13-genericcloud-amd64.qcow2 # --- Accès aux VM ----------------------------------------------------- poc_vm_user: debian poc_ssh_pubkey_file: "~/.ssh/id_ed25519.pub" # clé injectée par cloud-init # --- Versions (épinglées) -------------------------------------------- bunkerweb_version: "1.6.17" mariadb_image: "mariadb:11" redis_image: "redis:8-alpine" juiceshop_image: "bkimminich/juice-shop:v20.3.0" httpbin_image: "mccutchen/go-httpbin:2.26.0" nginx_image: "nginx:1.30-alpine" # --- Arborescence sur les VM ----------------------------------------- poc_base_dir: /opt/bwpoc # --- Ports publiés par la VM applis (mode split) --------------------- apps_ports: www: 8081 shop: 8082 api: 8083 # Ports d'écoute dans les conteneurs (utilisés en mode single) apps_internal_ports: www: 80 shop: 3000 api: 8080 # Sources autorisées à joindre directement les applis, en plus du WAF. # Ajoutez l'IP du client pour comparer "avec / sans WAF" (voir README). apps_direct_access_sources: [] # Mode calculé : "single" si WAF et applis sont sur le même hôte. poc_mode: "{{ 'single' if (groups['apps'] | first) == (groups['bunkerweb'] | first) else 'split' }}" waf_ip: "{{ hostvars[groups['bunkerweb'] | first]['ansible_host'] }}" apps_ip: "{{ hostvars[groups['apps'] | first]['ansible_host'] }}" client_ip: "{{ hostvars[groups['client'] | first]['ansible_host'] }}"