64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
---
|
|
|
|
- name: Include defaults
|
|
ansible.builtin.include_vars: defaults.yml
|
|
- name: Include variables for {{ matrix_extra }}
|
|
ansible.builtin.include_vars: "{{ matrix_extra }}.yml"
|
|
|
|
- name: Install dependencies for {{ matrix_extra }}
|
|
ansible.builtin.apt:
|
|
name: "{{ depends }}"
|
|
state: latest
|
|
|
|
- name: Install dependencies from custom repos for {{ matrix_extra }}
|
|
ansible.builtin.include_tasks: repo.yml
|
|
when: repo_depends is defined
|
|
loop: "{{ repo_depends }}"
|
|
|
|
- name: Create user for {{ matrix_extra }}
|
|
ansible.builtin.user:
|
|
name: "{{ matrix_extra }}"
|
|
system: true
|
|
home: /opt/{{ matrix_extra }}
|
|
shell: /bin/false
|
|
|
|
- name: Configure {{ matrix_extra }}
|
|
become_user: "{{ matrix_extra }}"
|
|
block:
|
|
- name: Put config in place for {{ matrix_extra }}
|
|
ansible.builtin.template:
|
|
src: "config/{{ matrix_extra }}.yaml.j2"
|
|
dest: "/opt/{{ matrix_extra }}/config.yaml.ansibled"
|
|
mode: 0644
|
|
backup: true
|
|
notify: Restart matrix target
|
|
register: config
|
|
- name: Put config in final destination for {{ matrix_extra }}
|
|
ansible.builtin.copy:
|
|
src: "/opt/{{ matrix_extra }}/config.yaml.ansibled"
|
|
dest: "/opt/{{ matrix_extra }}/config.yaml"
|
|
mode: 0644
|
|
remote_src: true
|
|
when: config.changed
|
|
|
|
- name: Include service-specific tasks
|
|
ansible.builtin.include_tasks: "{{ tasks }}.yml"
|
|
loop: "{{ matrix_extra_tasks }}"
|
|
loop_control:
|
|
loop_var: tasks
|
|
|
|
- name: Put systemd unit in place for {{ matrix_extra }}
|
|
ansible.builtin.template:
|
|
src: 'matrix-extra.service'
|
|
dest: "/etc/systemd/system/{{ matrix_extra }}.service"
|
|
mode: 0644
|
|
register: systemd_unit
|
|
|
|
- name: Enable systemd unit {{ matrix_extra }}
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
name: "{{ matrix_extra }}.service"
|
|
enabled: true
|
|
state: restarted
|
|
when: systemd_unit.changed
|