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.
							 | 
						||
| 
								 | 
							
								      '';
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 |