47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
 | 
						|
- name: Ensure user '{{ matrix_alertmanager_user }}' is created
 | 
						|
  user:
 | 
						|
    name: "{{ matrix_alertmanager_user }}"
 | 
						|
    state: present
 | 
						|
    system: yes
 | 
						|
  when: "matrix_alertmanager_user is string and matrix_alertmanager_user != 'root'"
 | 
						|
  register: matrix_alertmanager_user_info
 | 
						|
 | 
						|
- name: Ensure base directory '{{ matrix_alertmanager_base_path }}' exists
 | 
						|
  file:
 | 
						|
    path: "{{ matrix_alertmanager_base_path }}"
 | 
						|
    state: directory
 | 
						|
    owner: "{{ matrix_alertmanager_run_user }}"
 | 
						|
    group: "{{ matrix_alertmanager_run_group }}"
 | 
						|
    mode: "0750"
 | 
						|
 | 
						|
- name: Ensure config file '{{ matrix_alertmanager_config_file_path }}' is templated
 | 
						|
  template:
 | 
						|
    src: env.j2
 | 
						|
    dest: "{{ matrix_alertmanager_config_file_path }}"
 | 
						|
    owner: "{{ matrix_alertmanager_run_user }}"
 | 
						|
    group: "{{ matrix_alertmanager_run_group }}"
 | 
						|
    mode: "0640"
 | 
						|
  vars:
 | 
						|
    matrix_alertmanager_rooms_flattened: >-2
 | 
						|
      {%- for receiver in matrix_alertmanager_rooms -%}
 | 
						|
      {{ receiver.name }}/{{ receiver.room_id }}{{ '' if loop.last else '|' }}
 | 
						|
      {%- endfor %}
 | 
						|
 | 
						|
- name: Ensure docker container '{{ matrix_alertmanager_container_name }}' is running
 | 
						|
  docker_container:
 | 
						|
    name: "{{ matrix_alertmanager_container_name }}"
 | 
						|
    image: "{{ matrix_alertmanager_container_image }}"
 | 
						|
    env: "{{ matrix_alertmanager_container_env }}"
 | 
						|
    user: "{{ matrix_alertmanager_run_user }}:{{ matrix_alertmanager_run_group }}"
 | 
						|
    ports: "{{ matrix_alertmanager_container_ports }}"
 | 
						|
    labels: "{{ matrix_alertmanager_container_labels }}"
 | 
						|
    volumes: "{{ matrix_alertmanager_container_volumes }}"
 | 
						|
    networks: "{{ matrix_alertmanager_container_networks | default(omit, True) }}"
 | 
						|
    capabilities: "{{ matrix_alertmanager_container_capabilities | default(omit, True) }}"
 | 
						|
    purge_networks: "{{ matrix_alertmanager_container_purge_networks | default(omit, True) }}"
 | 
						|
    etc_hosts: "{{ matrix_alertmanager_container_etc_hosts | default(omit, True) }}"
 | 
						|
    restart_policy: "{{ matrix_alertmanager_container_restart_policy }}"
 | 
						|
    state: started
 |