# Web - name: Web - Install packages ansible.builtin.dnf: name: "{{ item }}" state: present loop: "{{ web.packages }}" tags: - install_web - name: Web - Find Group set_fact: my_group: "{{ group_names | first }}" tags: - install_web - name: Web - Créer la liste des hôtes correspondant aux rôles cibles set_fact: hotes_filtres: >- {{ groups[my_group] | map('extract', hostvars) | selectattr('role', 'in', roles_cibles) | map(attribute='inventory_hostname') | list }} tags: - install_web - name: Web - Generate Server List set_fact: Server: "{{ hotes_filtres | join(',') }}" tags: - install_web - name: Web - Generate config ansible.builtin.template: src: zabbix_web_service.conf.j2 dest: /etc/zabbix/zabbix_web_service.conf owner: zabbix group: zabbix mode: 0640 tags: - install_web - name: Web - Create cert directory if zabbix_crypt=="tls" ansible.builtin.file: path: "/etc/zabbix/certs" state: directory recurse: yes owner: zabbix group: zabbix when: zabbix_crypt=="tls" tags: - install_web - name: Web - Copy Certificats ansible.builtin.copy: src: "{{ item }}" dest: "/etc/zabbix/certs/{{ item }}" owner: zabbix group: zabbix loop: - "{{ zabbix_ca }}.crt" - "{{ zabbix_web }}.crt" - "{{ zabbix_web }}.key" - "{{ zabbix_agent }}.crt" - "{{ zabbix_agent }}.key" when: zabbix_crypt=="tls" tags: - install_web - name: Web -Enable and start service zabbix web ansible.builtin.service: name: "{{ item }}" state: restarted enabled: true loop: - zabbix-web-service - zabbix-agent2 tags: - install_web