2019-09-21 03:00:48 +09:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.services.do-agent;
|
2020-07-23 19:22:27 +08:00
|
|
|
|
2019-09-21 03:00:48 +09:00
|
|
|
in
|
|
|
|
{
|
|
|
|
options.services.do-agent = {
|
|
|
|
enable = mkEnableOption "do-agent, the DigitalOcean droplet metrics agent";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
2020-07-23 19:22:27 +08:00
|
|
|
systemd.packages = [ pkgs.do-agent ];
|
2019-09-21 03:00:48 +09:00
|
|
|
|
|
|
|
systemd.services.do-agent = {
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
|
|
serviceConfig = {
|
2020-07-23 19:22:27 +08:00
|
|
|
ExecStart = [
|
|
|
|
""
|
|
|
|
"${pkgs.do-agent}/bin/do-agent --syslog"
|
|
|
|
];
|
|
|
|
DynamicUser = true;
|
2019-09-21 03:00:48 +09:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|