From 5b456564a80dd0ba464e6b356514153965902e3c Mon Sep 17 00:00:00 2001 From: Oussama Siyagh Date: Fri, 1 Mar 2024 01:00:08 +0100 Subject: [PATCH] make systemd socket activation optional Signed-off-by: Oussama Siyagh --- roles/node_exporter/defaults/main.yml | 1 + roles/node_exporter/meta/argument_specs.yml | 4 ++++ roles/node_exporter/tasks/configure.yml | 1 + roles/node_exporter/templates/node_exporter.service.j2 | 7 ++++++- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/roles/node_exporter/defaults/main.yml b/roles/node_exporter/defaults/main.yml index 116ed0e3f..55cf24dd4 100644 --- a/roles/node_exporter/defaults/main.yml +++ b/roles/node_exporter/defaults/main.yml @@ -30,3 +30,4 @@ node_exporter_disabled_collectors: [] node_exporter_binary_install_dir: "/usr/local/bin" node_exporter_system_group: "node-exp" node_exporter_system_user: "{{ node_exporter_system_group }}" +node_exporter_systemd_socket_activation: false diff --git a/roles/node_exporter/meta/argument_specs.yml b/roles/node_exporter/meta/argument_specs.yml index c7385a70b..62f628272 100644 --- a/roles/node_exporter/meta/argument_specs.yml +++ b/roles/node_exporter/meta/argument_specs.yml @@ -81,3 +81,7 @@ argument_specs: - "I(Advanced)" - "Node exporter user" default: "node-exp" + node_exporter_systemd_socket_activation: + description: + - "Node exporter systemd socket activation task is executed when set to true." + default: false diff --git a/roles/node_exporter/tasks/configure.yml b/roles/node_exporter/tasks/configure.yml index a29ced533..d0598aa9a 100644 --- a/roles/node_exporter/tasks/configure.yml +++ b/roles/node_exporter/tasks/configure.yml @@ -16,6 +16,7 @@ group: root mode: 0644 notify: restart node_exporter + when: node_exporter_systemd_socket_activation - name: Create node_exporter config directory ansible.builtin.file: diff --git a/roles/node_exporter/templates/node_exporter.service.j2 b/roles/node_exporter/templates/node_exporter.service.j2 index 9bfd69cc1..33378f589 100644 --- a/roles/node_exporter/templates/node_exporter.service.j2 +++ b/roles/node_exporter/templates/node_exporter.service.j2 @@ -3,13 +3,18 @@ [Unit] Description=Prometheus Node Exporter After=network-online.target +{% if node_exporter_systemd_socket_activation %} Requires=node_exporter.socket +{% endif -%} [Service] Type=simple User={{ node_exporter_system_user }} Group={{ node_exporter_system_group }} -ExecStart={{ node_exporter_binary_install_dir }}/node_exporter --web.systemd-socket \ +ExecStart={{ node_exporter_binary_install_dir }}/node_exporter \ +{% if node_exporter_systemd_socket_activation %} +--web.systemd-socket \ +{% endif -%} {% for collector in node_exporter_enabled_collectors -%} {% if not collector is mapping %} '--collector.{{ collector }}' \