forked from rarias/jungle
		
	
		
			
				
	
	
		
			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";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |