This commit is contained in:
Илья Макаров 2025-06-01 13:57:18 +03:00
parent 5675083f40
commit 8382531737
8 changed files with 58 additions and 21 deletions

14
.ansible-lint Normal file
View File

@ -0,0 +1,14 @@
---
exclude_paths:
- "**/meta/preferences.yml"
- "**/molecule/**"
- "**/.tox/**"
- "**/.cache/**"
- "**/.github/**"
- "**/tests/**"
enable_list:
- name[prefix]
- fqcn[builtins]
- key-order
- metadata

23
.ymllint Normal file
View File

@ -0,0 +1,23 @@
---
extends: default
rules:
braces:
max-spaces-inside: 1
level: error
brackets:
max-spaces-inside: 1
level: error
line-length: disable
truthy:
check-keys: false
comments-indentation: disable
ignore: |
**/.tox/**
**/.cache/**
**/molecule/**
**/default/**
**/vars/**
**/group_vars/**
**/host_vars/**

View File

@ -1,8 +1,7 @@
#SPDX-License-Identifier: MIT-0
---
- name: Update Systemd and restart Node Exporter
ansible.builtin.systemd:
name: node_exporter
name: node_exporter
state: restarted
daemon-reload: yes
daemon-reload: true

View File

@ -1,3 +1,4 @@
---
#SPDX-License-Identifier: MIT-0
galaxy_info:
role_name: node_exporter

View File

@ -1,9 +1,10 @@
---
- name: Stop and disable node_exporter service
ansible.builtin.systemd:
name: node_exporter
state: stopped
enabled: no
ignore_errors: yes
enabled: false
ignore_errors: true
- name: Remove systemd unit file for node_exporter
ansible.builtin.file:
@ -24,7 +25,7 @@
ansible.builtin.user:
name: "{{ node_exporter_user }}"
state: absent
remove: yes
remove: true
- name: Remove group "{{ node_exporter_group }}"
ansible.builtin.group:

View File

@ -3,14 +3,14 @@
- name: Create group
ansible.builtin.group:
name: "{{ node_exporter_user }}"
system: yes
state: present
system: true
state: present
- name: Create user
ansible.builtin.user:
name: "{{ node_exporter_user }}"
group: "{{ node_exporter_group }}"
system: yes
system: true
shell: /sbin/nologin
- name: Create installation directory
@ -19,7 +19,7 @@
state: directory
owner: "{{ node_exporter_user }}"
group: "{{ node_exporter_group }}"
mode: '0755'
mode: "0755"
- name: Check if node_exporter archive exists locally
ansible.builtin.stat:
@ -30,7 +30,7 @@
ansible.builtin.get_url:
url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
dest: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
mode: '0644'
mode: "0644"
when: not node_archive.stat.exists
changed_when: false
@ -38,7 +38,7 @@
ansible.builtin.unarchive:
src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
dest: "{{ node_exporter_install_dir }}"
remote_src: yes
remote_src: true
extra_opts: [--strip-components=1]
creates: "{{ node_exporter_install_dir }}/node_exporter"
@ -54,7 +54,7 @@
path: "{{ node_exporter_install_dir }}/node_exporter"
owner: "{{ node_exporter_user }}"
group: "{{ node_exporter_group }}"
mode: '0755'
mode: "0755"
- name: Create symlink to node_exporter in /usr/local/bin
ansible.builtin.file:
@ -71,5 +71,5 @@
- name: Enable and start node_exporter service
ansible.builtin.systemd:
name: node_exporter
enabled: yes
enabled: true
state: started

View File

@ -1,7 +1,7 @@
#SPDX-License-Identifier: MIT-0
---
# tasks file for node_exporter
- import_tasks: install.yml
- ansible.builtin.import_tasks: install.yml
tags: install
- import_tasks: update.yml
tags: update
- ansible.builtin.import_tasks: update.yml
tags: update

View File

@ -1,12 +1,11 @@
---
- name: Check current version
ansible.builtin.command: "/usr/local/bin/node_exporter --version"
register: current_version
changed_when: false
- name: Reinstall if version mismatch
block:
- import_tasks: delete.yml
- import_tasks: install.yml
when: current_version.stdout is not search(node_exporter_version)
block:
- ansible.builtin.import_tasks: delete.yml
- ansible.builtin.import_tasks: install.yml