32 lines
774 B
Nix
32 lines
774 B
Nix
{ pkgs, config, lib, ... }:
|
|
let
|
|
gpfs-probe-script = pkgs.runCommand "gpfs-probe.sh" { }
|
|
''
|
|
cp ${./gpfs-probe.sh} $out;
|
|
chmod +x $out
|
|
''
|
|
;
|
|
in
|
|
{
|
|
# Use a new user to handle the SSH keys
|
|
users.groups.ssh-robot = { };
|
|
users.users.ssh-robot = {
|
|
description = "SSH Robot";
|
|
isNormalUser = true;
|
|
home = "/var/lib/ssh-robot";
|
|
};
|
|
|
|
systemd.services.gpfs-probe = {
|
|
description = "Daemon to report GPFS latency via SSH";
|
|
path = [ pkgs.openssh pkgs.netcat ];
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "default.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.socat}/bin/socat TCP4-LISTEN:9966,fork EXEC:${gpfs-probe-script}";
|
|
User = "ssh-robot";
|
|
Group = "ssh-robot";
|
|
};
|
|
};
|
|
}
|