* nghttpx: Add a new NixOS module for the nghttpx proxy server This change also adds a global `uid` and `gid` for a `nghttpx` user and group as well as an integration test. * nixos/nghttpx: fix building manual
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, ... }:
 | 
						|
{ options = {
 | 
						|
    server = lib.mkOption {
 | 
						|
      type =
 | 
						|
        lib.types.either
 | 
						|
          (lib.types.submodule (import ./server-options.nix))
 | 
						|
          (lib.types.path);
 | 
						|
      example = {
 | 
						|
        host = "127.0.0.1";
 | 
						|
        port = 8888;
 | 
						|
      };
 | 
						|
      default = {
 | 
						|
        host = "127.0.0.1";
 | 
						|
        port = 80;
 | 
						|
      };
 | 
						|
      description = ''
 | 
						|
        Backend server location specified as either a host:port pair
 | 
						|
        or a unix domain docket.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    patterns = lib.mkOption {
 | 
						|
      type    = lib.types.listOf lib.types.str;
 | 
						|
      example = [
 | 
						|
        "*.host.net/v1/"
 | 
						|
        "host.org/v2/mypath"
 | 
						|
        "/somepath"
 | 
						|
      ];
 | 
						|
      default     = [];
 | 
						|
      description = ''
 | 
						|
        List of nghttpx backend patterns.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
 | 
						|
        for more information on the pattern syntax and nghttpxs behavior.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    params = lib.mkOption {
 | 
						|
      type    = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix));
 | 
						|
      example = {
 | 
						|
        proto = "h2";
 | 
						|
        tls   = true;
 | 
						|
      };
 | 
						|
      default     = null;
 | 
						|
      description = ''
 | 
						|
        Parameters to configure a backend.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |