---
- name: install nginx
  pacman:
    name:
      - nginx
      - nginx-mod-stream # Enable Stream support
    state:  present
  notify: restart nginx
  when: run_once_nginx is not defined

- name: "Delete {{nginx.directories.configuration}} directory, when mode_reset"
  file:
    path: "{{ nginx.directories.configuration }}"
    state: absent
  when: mode_reset | bool and run_once_nginx is not defined

- name: Ensure nginx configuration directories are present
  file:
    path: "{{ item }}"
    state: directory
    owner: "{{nginx.user}}"
    group: "{{nginx.user}}"
    mode: '0755'
    recurse: yes
  loop: >
    {{
      [ nginx.directories.configuration ] +
      (nginx.directories.http.values() | list) +
      [ nginx.directories.streams ] 
    }}
  when: run_once_nginx is not defined

- name: Ensure nginx data storage directories are present
  file:
    path: "{{ item }}"
    state: directory
    recurse: yes
    owner: "{{nginx.user}}"
    group: "{{nginx.user}}"
    mode:  '0755'
  loop: >
    {{ nginx.directories.data.values() | list }}
  when: run_once_nginx is not defined

- name: create nginx config file
  template: 
    src:  nginx.conf.j2 
    dest: /etc/nginx/nginx.conf
  notify: restart nginx
  when: run_once_nginx is not defined

- name: flush nginx service
  meta: flush_handlers
  when: run_once_nginx is not defined

- name: run the nginx tasks once
  set_fact:
    run_once_nginx: true
  when: run_once_nginx is not defined
