2023-07-26 17:39:14 +00:00
|
|
|
---
|
2024-10-05 08:04:19 +00:00
|
|
|
- name: Check if state is supported
|
|
|
|
ansible.builtin.fail:
|
|
|
|
msg: >-2
|
|
|
|
Unsupported state '{{ nginx_state }}'. Supported
|
|
|
|
states are {{ nginx_states | join(', ') }}.
|
|
|
|
when: nginx_state not in nginx_states
|
2023-07-26 17:39:14 +00:00
|
|
|
|
2024-10-05 08:04:19 +00:00
|
|
|
- name: Ensure nginx config file is {{ nginx_state }}
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ nginx_config_file }}"
|
|
|
|
state: "{{ nginx_state }}"
|
|
|
|
when: nginx_state == 'absent'
|
|
|
|
|
|
|
|
- name: Ensure base path '{{ nginx_base_path }}' is {{ nginx_state }}
|
2023-07-26 17:39:14 +00:00
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ nginx_base_path }}"
|
2024-10-05 08:04:19 +00:00
|
|
|
mode: "0755"
|
|
|
|
state: >-2
|
|
|
|
{{ (nginx_state == 'present') | ternary('directory', 'absent') }}
|
2023-07-26 17:39:14 +00:00
|
|
|
|
|
|
|
- name: Ensure nginx config file is templated
|
|
|
|
ansible.builtin.copy:
|
|
|
|
dest: "{{ nginx_config_file }}"
|
|
|
|
content: "{{ nginx_config }}"
|
|
|
|
mode: 0640
|
|
|
|
notify:
|
|
|
|
- restart-nginx
|
2024-10-05 08:04:19 +00:00
|
|
|
when: nginx_state == 'present'
|
2023-07-26 17:39:14 +00:00
|
|
|
|
2024-10-05 08:04:19 +00:00
|
|
|
- name: Ensure docker container image '{{ nginx_container_image_reference }}' is {{ nginx_state }}
|
2023-07-26 17:39:14 +00:00
|
|
|
community.docker.docker_image:
|
|
|
|
name: "{{ nginx_container_image_reference }}"
|
2024-10-05 08:04:19 +00:00
|
|
|
state: "{{ nginx_state }}"
|
|
|
|
source: "{{ nginx_container_image_source }}"
|
|
|
|
force_source: >-2
|
|
|
|
{{ nginx_container_image_force_source
|
|
|
|
| default(nginx_container_image_tag | default(false, true)) }}
|
2023-07-26 17:39:14 +00:00
|
|
|
|
2024-10-05 08:04:19 +00:00
|
|
|
- name: Ensure docker container '{{ nginx_container_name }}' is {{ nginx_container_state }}
|
2023-07-26 17:39:14 +00:00
|
|
|
community.docker.docker_container:
|
|
|
|
name: "{{ nginx_container_name }}"
|
|
|
|
image: "{{ nginx_container_image_reference }}"
|
|
|
|
env: "{{ nginx_container_env | default(omit, true) }}"
|
|
|
|
user: "{{ nginx_container_user | default(omit, true) }}"
|
|
|
|
ports: "{{ nginx_container_ports | default(omit, true) }}"
|
|
|
|
labels: "{{ nginx_container_labels | default(omit, true) }}"
|
|
|
|
volumes: "{{ nginx_container_volumes | default(omit, true) }}"
|
|
|
|
etc_hosts: "{{ nginx_container_etc_hosts | default(omit, true) }}"
|
|
|
|
networks: "{{ nginx_container_networks | default(omit, true) }}"
|
|
|
|
purge_networks: "{{ nginx_container_purge_networks | default(omit, true) }}"
|
|
|
|
restart_policy: "{{ nginx_container_restart_policy }}"
|
2024-10-05 08:04:19 +00:00
|
|
|
state: "{{ nginx_container_state }}"
|