Skip to content

Commit

Permalink
Merge pull request #94 from artudis-utils/main
Browse files Browse the repository at this point in the history
fix: node_exporter - Fix Systemd ProtectHome option in service unit
  • Loading branch information
SuperQ authored May 10, 2023
2 parents 26d2f99 + be0a877 commit 51997ca
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ def test_service(host):
assert s.is_running


def test_protecthome_property(host):
s = host.service("node_exporter")
p = s.systemd_properties
assert p.get("ProtectHome") == "yes"


def test_socket(host):
sockets = [
"tcp://127.0.0.1:8080"
Expand Down
6 changes: 6 additions & 0 deletions roles/node_exporter/molecule/default/tests/test_default.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ def test_service(host):
assert s.is_running


def test_protecthome_property(host):
s = host.service("node_exporter")
p = s.systemd_properties
assert p.get("ProtectHome") == "yes"


def test_socket(host):
sockets = [
"tcp://127.0.0.1:9100"
Expand Down
6 changes: 6 additions & 0 deletions roles/node_exporter/molecule/latest/tests/test_alternative.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ def test_service(host):
assert s.is_running


def test_protecthome_property(host):
s = host.service("node_exporter")
p = s.systemd_properties
assert p.get("ProtectHome") == "yes"


def test_socket(host):
s = host.socket("tcp://0.0.0.0:9100")
assert s.is_listening
6 changes: 3 additions & 3 deletions roles/node_exporter/templates/node_exporter.service.j2
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ Restart=always
RestartSec=1
StartLimitInterval=0

{% set protect_home = 'yes' %}
{% set ns = namespace(protect_home = 'yes') %}
{% for m in ansible_mounts if m.mount.startswith('/home') %}
{% set protect_home = 'read-only' %}
{% set ns.protect_home = 'read-only' %}
{% endfor %}
ProtectHome={{ protect_home }}
ProtectHome={{ ns.protect_home }}
NoNewPrivileges=yes

{% if (ansible_facts.packages.systemd | first).version is version('232', '>=') %}
Expand Down

0 comments on commit 51997ca

Please sign in to comment.