--- # Variable setup. - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml" tags: - nginx - always - name: Define nginx_user. set_fact: nginx_user: "{{ __nginx_user }}" when: nginx_user is not defined tags: - always # Setup/install tasks. - name: Install cryptography python library pip: name: cryptography state: forcereinstall tags: - nginx - include_tasks: setup-RedHat.yml when: ansible_os_family == 'RedHat' tags: - always - include_tasks: setup-Ubuntu.yml when: ansible_distribution == 'Ubuntu' tags: - always - include_tasks: setup-Debian.yml when: ansible_os_family == 'Debian' tags: - always - include_tasks: setup-FreeBSD.yml when: ansible_os_family == 'FreeBSD' tags: - always - include_tasks: setup-OpenBSD.yml when: ansible_os_family == 'OpenBSD' tags: - always - include_tasks: setup-Archlinux.yml when: ansible_os_family == 'Archlinux' tags: - always # Vhost configuration. - include_tasks: catchall-vhost.yml when: nginx_create_catchall_vhost | default(true) | bool tags: - always - import_tasks: vhosts.yml # Nginx setup. - name: Copy nginx configuration in place. template: src: "{{ nginx_conf_template }}" dest: "{{ nginx_conf_file_path }}" owner: root group: "{{ root_group }}" mode: 0644 notify: - reload nginx - name: Ensure nginx service is running as configured. service: name: nginx state: "{{ nginx_service_state }}" enabled: "{{ nginx_service_enabled }}"