From 961cc8074297c55b2daa1c88a57204d07e806eff Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 23 Jul 2020 19:21:56 +0800 Subject: [PATCH 1/2] do-agent: install .service from upstream --- pkgs/servers/monitoring/do-agent/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/monitoring/do-agent/default.nix b/pkgs/servers/monitoring/do-agent/default.nix index 1d6bb7198e5..8c851715e07 100644 --- a/pkgs/servers/monitoring/do-agent/default.nix +++ b/pkgs/servers/monitoring/do-agent/default.nix @@ -18,6 +18,10 @@ buildGoModule rec { vendorSha256 = null; + postInstall = '' + install -Dm444 -t $out/lib/systemd/system $src/packaging/etc/systemd/system/do-agent.service + ''; + meta = with lib; { description = "DigitalOcean droplet system metrics agent"; longDescription = '' @@ -30,4 +34,4 @@ buildGoModule rec { maintainers = with maintainers; [ yvt ]; platforms = platforms.linux; }; -} \ No newline at end of file +} From e0589ec65b098d65830c32c018d77d8586f4451b Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 23 Jul 2020 19:22:27 +0800 Subject: [PATCH 2/2] nixos/do-agent: use .service from upstream --- nixos/modules/services/monitoring/do-agent.nix | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/nixos/modules/services/monitoring/do-agent.nix b/nixos/modules/services/monitoring/do-agent.nix index 2d3fe2f7976..4dfb6236727 100644 --- a/nixos/modules/services/monitoring/do-agent.nix +++ b/nixos/modules/services/monitoring/do-agent.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.do-agent; + in { options.services.do-agent = { @@ -11,23 +12,13 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.do-agent ]; + systemd.packages = [ pkgs.do-agent ]; systemd.services.do-agent = { - description = "DigitalOcean Droplet Metrics Agent"; wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; serviceConfig = { - ExecStart = "${pkgs.do-agent}/bin/do-agent --syslog"; - Restart = "always"; - OOMScoreAdjust = -900; - SyslogIdentifier = "DigitalOceanAgent"; - PrivateTmp = "yes"; - ProtectSystem = "full"; - ProtectHome = "yes"; - NoNewPrivileges = "yes"; - DynamicUser = "yes"; + ExecStart = [ "" "${pkgs.do-agent}/bin/do-agent --syslog" ]; + DynamicUser = true; }; }; };