66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
|
---
|
||
|
- name: Stop grafana-agent if installed
|
||
|
block:
|
||
|
# this will fail the verify first time of installation if local binary is used
|
||
|
- name: Ensure grafana-agent is stopped
|
||
|
ansible.builtin.systemd:
|
||
|
name: grafana-agent
|
||
|
enabled: true
|
||
|
state: stopped
|
||
|
rescue:
|
||
|
# make sure that the service isn't actually installed
|
||
|
- name: Get the list of services
|
||
|
ansible.builtin.service_facts:
|
||
|
|
||
|
- name: Verify that grafana-agent is not installed
|
||
|
ansible.builtin.assert:
|
||
|
that:
|
||
|
- _grafana_agent_systemd_unit not in services
|
||
|
|
||
|
# these tasks are ran in both install and configure, as directories could have changed
|
||
|
- name: Configure Directories
|
||
|
ansible.builtin.import_tasks: install/directories.yaml
|
||
|
|
||
|
- name: Create a symbolic link
|
||
|
ansible.builtin.file:
|
||
|
src: "{{ grafana_agent_install_dir }}/{{ grafana_agent_binary }}"
|
||
|
dest: "/usr/local/bin/{{ grafana_agent_binary }}"
|
||
|
owner: root
|
||
|
group: root
|
||
|
state: link
|
||
|
|
||
|
- name: Overwrite/Create Grafana Agent Service
|
||
|
ansible.builtin.template:
|
||
|
src: grafana-agent.service.j2
|
||
|
dest: "{{ _grafana_agent_systemd_dir }}/{{ _grafana_agent_systemd_unit }}"
|
||
|
owner: root
|
||
|
group: root
|
||
|
mode: 0644
|
||
|
|
||
|
- name: Create the Service Environment File
|
||
|
ansible.builtin.template:
|
||
|
src: EnvironmentFile.j2
|
||
|
dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_env_file }}"
|
||
|
owner: root
|
||
|
group: "{{ grafana_agent_user_group }}"
|
||
|
mode: 0640
|
||
|
|
||
|
- name: Create Grafana Agent Config
|
||
|
ansible.builtin.template:
|
||
|
src: config.yaml.j2
|
||
|
dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}"
|
||
|
force: true
|
||
|
owner: root
|
||
|
group: "{{ grafana_agent_user_group }}"
|
||
|
mode: 0640
|
||
|
when: grafana_agent_provisioned_config_file | length == 0
|
||
|
|
||
|
- name: Copy Grafana Agent Config
|
||
|
ansible.builtin.copy:
|
||
|
src: "{{ grafana_agent_provisioned_config_file }}"
|
||
|
dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}"
|
||
|
owner: root
|
||
|
group: "{{ grafana_agent_user_group }}"
|
||
|
mode: 0640
|
||
|
when: grafana_agent_provisioned_config_file | length > 0
|