Stack BunkerWeb (scheduler, UI, MariaDB, Redis), sites de test (nginx, Juice Shop, go-httpbin), filtrage DOCKER-USER, script de tests, README et schéma d'architecture. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
63 lines
2.6 KiB
YAML
63 lines
2.6 KiB
YAML
---
|
|
# =====================================================================
|
|
# Variables communes du PoC BunkerWeb
|
|
# Les valeurs marquées "A ADAPTER" dépendent de votre infra.
|
|
# =====================================================================
|
|
|
|
# --- Domaine de test -------------------------------------------------
|
|
# Les sites seront www.<domaine>, shop.<domaine>, api.<domaine>, bwui.<domaine>
|
|
# ".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
|
|
|
|
# --- Réseau des VM (cloud-init) --------------------------------------
|
|
poc_net_prefix: 24 # A ADAPTER
|
|
poc_net_gateway: 192.168.200.1 # A ADAPTER
|
|
poc_net_dns: [192.168.200.1] # A ADAPTER
|
|
poc_net_searchdomain: "{{ poc_domain }}"
|
|
|
|
# --- Proxmox ----------------------------------------------------------
|
|
pve_storage: local-lvm # A ADAPTER : stockage des disques VM
|
|
pve_bridge: vmbr0 # A ADAPTER
|
|
pve_vlan_tag: "" # vide = pas de VLAN, sinon ex. "200"
|
|
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'] }}"
|