---
- name: Installer nginx
ansible.builtin.apt:
name: "{{ serveur_nginx_packages }}"
state: present
update_cache: true
cache_valid_time: 3600
- name: Deployer le durcissement de base nginx
ansible.builtin.template:
src: 99-chezlepro.conf.j2
dest: /etc/nginx/conf.d/99-chezlepro.conf
owner: root
group: root
mode: "0644"
notify: Valider et recharger nginx
- name: Desactiver le site Debian par defaut
ansible.builtin.file:
path: /etc/nginx/sites-enabled/default
state: absent
when: serveur_nginx_desactiver_defaut | bool
- name: Deployer les sites reverse proxy declares a la main
src: site.conf.j2
dest: "/etc/nginx/sites-available/{{ item.nom }}.conf"
loop: "{{ serveur_nginx_sites }}"
loop_control:
label: "{{ item.nom }}"
- name: Activer les sites reverse proxy declares a la main
src: "/etc/nginx/sites-available/{{ item.nom }}.conf"
dest: "/etc/nginx/sites-enabled/{{ item.nom }}.conf"
state: link
# --- Vhosts derives des applications (champ expose) + domaines (edge) ---
- name: Charger les registres applications et domaines
ansible.builtin.include_vars:
file: "{{ item }}"
loop:
- "{{ role_path }}/../../docs/applications.yml"
- "{{ role_path }}/../../docs/domaines.yml"
when: serveur_nginx_publier_expositions | bool
- name: Lister les expositions destinees a cet edge
ansible.builtin.set_fact:
serveur_nginx_expositions: >-
{{ {'applications': applications | default({})}
| expositions_des_applications({'domaines_publics': domaines_publics | default({})}, serveur_nginx_groupe) }}
- name: Deployer les vhosts derives des expositions web
src: expositions.conf.j2
dest: /etc/nginx/sites-available/expositions.conf
- name: Activer les vhosts derives des expositions web
src: /etc/nginx/sites-available/expositions.conf
dest: /etc/nginx/sites-enabled/expositions.conf
- name: Activer et demarrer nginx
ansible.builtin.systemd:
name: "{{ serveur_nginx_service_name }}"
enabled: true
state: started