feat(enroll): systemd units for agent/forwarder/engine + log-directory INI key

Rename log-file-path -> log-directory (maps to DECNET_LOG_DIRECTORY). Bundle
now ships three systemd units rendered with agent_name/master_host and installs
them into /etc/systemd/system/. Bootstrap replaces direct 'decnet X --daemon'
calls with systemctl enable --now. Each unit pins DECNET_SYSTEM_LOGS so agent,
forwarder, and deckies logs land at decnet.{agent,forwarder}.log and decnet.log
under /var/log/decnet.
This commit is contained in:
2026-04-19 05:46:08 -04:00
parent e67b6d7f73
commit 899ea559d9
9 changed files with 124 additions and 14 deletions

View File

@@ -95,17 +95,17 @@ agent-port = 8765
def test_common_keys_always_exported(monkeypatch, tmp_path):
_scrub(monkeypatch, "DECNET_MODE", "DECNET_DISALLOW_MASTER", "DECNET_LOG_FILE_PATH")
_scrub(monkeypatch, "DECNET_MODE", "DECNET_DISALLOW_MASTER", "DECNET_LOG_DIRECTORY")
ini = _write_ini(tmp_path, """
[decnet]
mode = agent
disallow-master = true
log-file-path = /var/log/decnet/decnet.log
log-directory = /var/log/decnet
""")
load_ini_config(ini)
assert os.environ["DECNET_MODE"] == "agent"
assert os.environ["DECNET_DISALLOW_MASTER"] == "true"
assert os.environ["DECNET_LOG_FILE_PATH"] == "/var/log/decnet/decnet.log"
assert os.environ["DECNET_LOG_DIRECTORY"] == "/var/log/decnet"
def test_invalid_mode_raises(monkeypatch, tmp_path):