feat(nginx): add ansible role
This commit was merged in pull request #8.
	This commit is contained in:
		
							
								
								
									
										33
									
								
								roles/nginx/defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								roles/nginx/defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
nginx_version: "1.25.1"
 | 
			
		||||
nginx_flavour: alpine
 | 
			
		||||
nginx_base_path: /opt/nginx
 | 
			
		||||
nginx_config_file: "{{ nginx_base_path }}/nginx.conf"
 | 
			
		||||
 | 
			
		||||
nginx_container_name: nginx
 | 
			
		||||
nginx_container_image_reference: >-
 | 
			
		||||
  {{
 | 
			
		||||
    nginx_container_image_repository
 | 
			
		||||
    + ':' + (nginx_container_image_tag
 | 
			
		||||
      | default(nginx_version
 | 
			
		||||
      + (('-' + nginx_flavour) if nginx_flavour is defined else ''), true))
 | 
			
		||||
  }}
 | 
			
		||||
nginx_container_image_repository: >-
 | 
			
		||||
  {{
 | 
			
		||||
    (
 | 
			
		||||
      container_registries[nginx_container_image_registry]
 | 
			
		||||
      | default(nginx_container_image_registry)
 | 
			
		||||
    )
 | 
			
		||||
    + '/'
 | 
			
		||||
    + nginx_container_image_namespace | default('')
 | 
			
		||||
    + nginx_container_image_name
 | 
			
		||||
  }}
 | 
			
		||||
nginx_container_image_registry: "docker.io"
 | 
			
		||||
nginx_container_image_name: "nginx"
 | 
			
		||||
nginx_container_image_tag: ~
 | 
			
		||||
 | 
			
		||||
nginx_container_restart_policy: "unless-stopped"
 | 
			
		||||
nginx_container_volumes:
 | 
			
		||||
  - "{{ nginx_config_file }}:/etc/nginx/conf.d/nginx.conf:ro"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								roles/nginx/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								roles/nginx/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Ensure nginx container '{{ nginx_container_name }}' is restarted
 | 
			
		||||
  community.docker.docker_container:
 | 
			
		||||
    name: "{{ nginx_container_name }}"
 | 
			
		||||
    state: started
 | 
			
		||||
    restart: true
 | 
			
		||||
  listen: restart-nginx
 | 
			
		||||
							
								
								
									
										37
									
								
								roles/nginx/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								roles/nginx/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Ensure base path '{{ nginx_base_path }}' exists
 | 
			
		||||
  ansible.builtin.file:
 | 
			
		||||
    path: "{{ nginx_base_path }}"
 | 
			
		||||
    state: directory
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: Ensure nginx config file is templated
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    dest: "{{ nginx_config_file }}"
 | 
			
		||||
    content: "{{ nginx_config }}"
 | 
			
		||||
    mode: 0640
 | 
			
		||||
  notify:
 | 
			
		||||
    - restart-nginx
 | 
			
		||||
 | 
			
		||||
- name: Ensure docker container image is present
 | 
			
		||||
  community.docker.docker_image:
 | 
			
		||||
    name: "{{ nginx_container_image_reference }}"
 | 
			
		||||
    state: present
 | 
			
		||||
    source: pull
 | 
			
		||||
    force_source: "{{ nginx_container_image_tag is defined and nginx_container_image_tag | string != '' }}"
 | 
			
		||||
 | 
			
		||||
- name: Ensure docker container '{{ nginx_container_name }}' is running
 | 
			
		||||
  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 }}"
 | 
			
		||||
    state: started
 | 
			
		||||
		Reference in New Issue
	
	Block a user