* 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
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, ...}:
 | 
						|
{ options = {
 | 
						|
    tls = lib.mkOption {
 | 
						|
      type        = lib.types.enum [ "tls" "no-tls" ];
 | 
						|
      default     = "tls";
 | 
						|
      description = ''
 | 
						|
        Enable or disable TLS. If true (enabled) the key and
 | 
						|
        certificate must be configured for nghttpx.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
 | 
						|
        for more detail.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    sni-fwd = lib.mkOption {
 | 
						|
      type    = lib.types.bool;
 | 
						|
      default = false;
 | 
						|
      description = ''
 | 
						|
        When performing a match to select a backend server, SNI host
 | 
						|
        name received from the client is used instead of the request
 | 
						|
        host. See --backend option about the pattern match.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
 | 
						|
        for more detail.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    api = lib.mkOption {
 | 
						|
      type        = lib.types.bool;
 | 
						|
      default     = false;
 | 
						|
      description = ''
 | 
						|
        Enable API access for this frontend. This enables you to
 | 
						|
        dynamically modify nghttpx at run-time therefore this feature
 | 
						|
        is disabled by default and should be turned on with care.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
 | 
						|
        for more detail.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    healthmon = lib.mkOption {
 | 
						|
      type        = lib.types.bool;
 | 
						|
      default     = false;
 | 
						|
      description = ''
 | 
						|
        Make this frontend a health monitor endpoint. Any request
 | 
						|
        received on this frontend is responded to with a 200 OK.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
 | 
						|
        for more detail.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    proxyproto = lib.mkOption {
 | 
						|
      type        = lib.types.bool;
 | 
						|
      default     = false;
 | 
						|
      description = ''
 | 
						|
        Accept PROXY protocol version 1 on frontend connection.
 | 
						|
 | 
						|
        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
 | 
						|
        for more detail.
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |