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";
 | |
|     };
 | |
|   };
 | |
| }
 |