Set-OPS-Public/roles/web_frontal/tasks/main.yml
Daniel Allaire 72b7579c6e web_frontal : git clone superficiel (depth 1) + git installé + fix nom de tâche
Chemin git prouvé de bout en bout : le rôle clone le site depuis le Forgejo
souverain (depth 1 — pas l'historique lourd) et le sert derrière l'edge.
Éprouvé sur web-frontal-01 (Alliance Boréale servi via edge depuis /srv/web,
cloné de Forgejo). ansible-lint production : 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:22:11 -04:00

56 lines
1.5 KiB
YAML

---
- name: Installer nginx + git (git requis pour cloner les depots des sites)
ansible.builtin.apt:
name:
- nginx
- git
state: present
update_cache: true
cache_valid_time: 3600
- name: Retirer le vhost nginx par defaut
ansible.builtin.file:
path: /etc/nginx/sites-enabled/default
state: absent
notify: Recharger nginx web_frontal
- name: Creer la racine des sites
ansible.builtin.file:
path: "{{ web_frontal_racine_base }}"
state: directory
owner: root
group: root
mode: "0755"
- name: Cloner / mettre a jour le depot de chaque site (clone superficiel, contenu courant)
ansible.builtin.git:
repo: "{{ item.depot }}"
dest: "{{ web_frontal_racine_base }}/{{ item.nom }}"
version: "{{ item.branche | default('main') }}"
depth: 1
force: true
loop: "{{ web_frontal_sites }}"
loop_control:
label: "{{ item.nom }}"
- name: Deployer le vhost de chaque site
ansible.builtin.template:
src: site.conf.j2
dest: "/etc/nginx/sites-available/{{ item.nom }}"
owner: root
group: root
mode: "0644"
loop: "{{ web_frontal_sites }}"
loop_control:
label: "{{ item.nom }}"
notify: Recharger nginx web_frontal
- name: Activer le vhost de chaque site
ansible.builtin.file:
src: "/etc/nginx/sites-available/{{ item.nom }}"
dest: "/etc/nginx/sites-enabled/{{ item.nom }}"
state: link
loop: "{{ web_frontal_sites }}"
loop_control:
label: "{{ item.nom }}"
notify: Recharger nginx web_frontal