initial ansible code
This commit is contained in:
69
roles/node_exporter/tasks/main.yml
Normal file
69
roles/node_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
- name: Create node_exporter group
|
||||
group:
|
||||
name: "{{ node_exporter_system_group }}"
|
||||
state: present
|
||||
system: true
|
||||
when: node_exporter_system_group != "root"
|
||||
|
||||
- name: Create node_exporter user
|
||||
user:
|
||||
name: "{{ node_exporter_system_user }}"
|
||||
group: "{{ node_exporter_system_group }}"
|
||||
groups: "{{ node_exporter_system_group }}"
|
||||
append: true
|
||||
shell: /usr/sbin/nologin
|
||||
system: true
|
||||
create_home: false
|
||||
home: /
|
||||
|
||||
- name: Get latest node_exporter version
|
||||
github_release:
|
||||
user: prometheus
|
||||
repo: node_exporter
|
||||
action: latest_release
|
||||
token: "{{ vault_github_token }}"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
register: node_exporter_version
|
||||
- name: "{{ node_exporter_version }}"
|
||||
set_fact:
|
||||
node_exporter_version: "{{ node_exporter_version | replace ('v', '', 1) | trim }}"
|
||||
run_once: true
|
||||
|
||||
- name: download node_exporter {{ node_exporter_version.tag }} from GitHub
|
||||
get_url:
|
||||
url: "https://github.com/prometheus/node_exporter/releases/download/\
|
||||
v{{ node_exporter_version.tag }}/node_exporter-{{ node_exporter_version.tag }}\
|
||||
.linux-{{ deb_architecture }}.tar.gz"
|
||||
dest: "/tmp/node_exporter-{{ node_exporter_version.tag }}-linux-{{ deb_architecture }}.tar.gz"
|
||||
register: _download_archive
|
||||
until: _download_archive is succeeded
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
- name: unpack node_exporter binaries
|
||||
unarchive:
|
||||
src: "/tmp/node_exporter-{{ node_exporter_version.tag }}-linux-{{ deb_architecture }}.tar.gz"
|
||||
dest: "/tmp"
|
||||
creates: "node_exporter-{{ node_exporter_version.tag }}.linux-{{ deb_architecture }}"
|
||||
remote_src: true
|
||||
|
||||
- name: Copy node_exporter
|
||||
copy:
|
||||
src: "/tmp/node_exporter-{{ node_exporter_version.tag }}.linux-{{ deb_architecture }}/node_exporter"
|
||||
dest: "{{ node_exporter_install_dir }}/node_exporter"
|
||||
remote_src: true
|
||||
owner: "{{ node_exporter_system_user }}"
|
||||
group: "{{ node_exporter_system_group }}"
|
||||
mode: 0755
|
||||
notify: restart node_exporter
|
||||
|
||||
- name: Copy node_exporter systemd service
|
||||
template:
|
||||
src: node_exporter.service.j2
|
||||
dest: /etc/systemd/system/node_exporter.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: restart node_exporter
|
||||
Reference in New Issue
Block a user