44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
---
|
|
- name: Create directory for metr1c
|
|
ansible.builtin.file:
|
|
path: "/opt/metr1c"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
|
|
- name: "Install requested metr1c version"
|
|
block:
|
|
- name: "Check metr1c version"
|
|
ansible.builtin.command: /opt/metr1c/metr1c -version
|
|
register: metr1c_ver_check
|
|
changed_when: false
|
|
|
|
- name: "Assert version correctness"
|
|
ansible.builtin.assert:
|
|
that: "metr1c_version in metr1c_ver_check.stdout"
|
|
success_msg: "Expected metr1c version available ({{ metr1c_version }})"
|
|
fail_msg: "Expected version '{{ metr1c_version }}'; available is '{{ metr1c_ver_check.stdout }}'"
|
|
|
|
rescue:
|
|
- name: "Install metr1c if it is not present"
|
|
ansible.builtin.get_url:
|
|
url: "https://github.com/Doumor/metr1c/releases/download/{{ metr1c_version }}/metr1c_amd64_linux"
|
|
dest: /opt/metr1c/metr1c
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
|
|
- name: "Create systemd metr1c service file"
|
|
ansible.builtin.template:
|
|
src: "templates/metr1c.service.j2"
|
|
dest: "/etc/systemd/system/metr1c.service"
|
|
owner: root
|
|
group: root
|
|
mode: "0750"
|
|
register: metr1c_service
|
|
|
|
- name: "Start systemd service"
|
|
when: "deploy is true"
|
|
ansible.builtin.include_tasks: "run_systemd.yml"
|