Files
bunkerwebpoc/roles/bunkerweb/tasks/main.yml
T
2026-10-27 15:59:35 +01:00

65 lines
1.9 KiB
YAML

---
- name: Créer le répertoire de la stack BunkerWeb
ansible.builtin.file:
path: "{{ bw_dir }}"
state: directory
owner: root
group: root
mode: "0750"
- name: Créer le réseau partagé bw-services
ansible.builtin.shell: docker network inspect bw-services >/dev/null 2>&1 || { docker network create bw-services && echo created; }
register: bw_net
changed_when: "'created' in bw_net.stdout"
- name: Générer le compose BunkerWeb
ansible.builtin.template:
src: compose.yml.j2
dest: "{{ bw_dir }}/compose.yml"
owner: root
group: root
mode: "0600" # contient les secrets
validate: docker compose -f %s config -q
- name: Démarrer la stack BunkerWeb
community.docker.docker_compose_v2:
project_src: "{{ bw_dir }}"
project_name: bunkerweb
pull: missing
remove_orphans: true
state: present
register: bw_compose
- name: Attendre que BunkerWeb réponde sur 443
ansible.builtin.wait_for:
host: "{{ ansible_host }}"
port: 443
timeout: 300
- name: Attendre que le site api réponde au travers du WAF
ansible.builtin.uri:
url: "https://{{ ansible_host }}/get"
headers:
Host: "api{{ poc_fqdn_suffix }}"
validate_certs: false
status_code: 200
register: bw_probe
until: bw_probe.status == 200
retries: 30
delay: 10
- name: Écrire le récapitulatif des accès côté contrôleur (credentials/ACCES.txt)
ansible.builtin.copy:
dest: "{{ playbook_dir }}/../credentials/ACCES.txt"
mode: "0600"
content: |
UI BunkerWeb : https://bwui{{ poc_fqdn_suffix }}/ (WAF {{ ansible_host }})
Identifiant : {{ bw_ui_admin_user }}
Mot de passe : {{ bw_ui_admin_password }}
delegate_to: localhost
become: false
- name: Rappel des accès
ansible.builtin.debug:
msg: "UI BunkerWeb : https://bwui{{ poc_fqdn_suffix }}/ , identifiants dans credentials/ACCES.txt"