View Source Wayfarer.Dsl (wayfarer v0.5.0)
The Wayfarer DSL for defining static proxy configurations.
DSL options
wayfarer
- config
- health_checks
- check
- host_patterns
- pattern
- listeners
- http
- https
- targets
- http
- health_checks
- check
- health_checks
- https
- health_checks
- check
- health_checks
- plug
- ws
- health_checks
- check
- health_checks
- wss
- health_checks
- check
- health_checks
- http
- health_checks
config
* health_checks
* check
* host_patterns
* pattern
* listeners
* http
* https
* targets
* http
* health_checks
* check
* https
* health_checks
* check
* plug
* ws
* health_checks
* check
* wss
* health_checks
* check
:name
(String.t/0
) -
health_checks
* check
check
:name
- A unique name for the health check.:method
- The HTTP method to use for the request. Valid values are :get, :head, :post, :put, :delete, :connect, :options, :trace, :patch The default value is:get
.:connect_timeout
(pos_integer/0
) - Connection timeout in milliseconds The default value is5000
.:response_timeout
(pos_integer/0
) - Response timeout in milliseconds The default value is500
.:hostname
- The HTTP hostname to use when sending the request. Defaults to the IP address.:interval
(pos_integer/0
) - Interval in milliseconds The default value is30000
.:threshold
(pos_integer/0
) - Success threshold The default value is3
.:path
(String.t/0
) - Path The default value is"/"
.:success_codes
- HTTP status codes which are considered successful. The default value is[200..299]
.
host_patterns
* pattern
pattern
:pattern
(String.t/0
) - Required. A hostname matching pattern.
listeners
* http
* https
http
:scheme
- Required. The listening protocol. Valid values are :http, :https:address
- Required. The address of the interface to listen on.:name
- A unique name for the listener (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:http_1_options
(keyword/0
) - Options to configure the HTTP/1 stack in Bandit. The default value is[]
.:http_2_options
(keyword/0
) - Options to configure the HTTP/2 stack in Bandit. The default value is[]
.:thousand_island_options
(keyword/0
) - Possible options to configure a ThousandIsland server. The default value is[]
.:websocket_options
(keyword/0
) - Options to configure the WebSocket stack in Bandit. The default value is[]
.
https
:scheme
- Required. The listening protocol. Valid values are :http, :https:address
- Required. The address of the interface to listen on.:name
- A unique name for the listener (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:http_1_options
(keyword/0
) - Options to configure the HTTP/1 stack in Bandit. The default value is[]
.:http_2_options
(keyword/0
) - Options to configure the HTTP/2 stack in Bandit. The default value is[]
.:thousand_island_options
(keyword/0
) - Possible options to configure a ThousandIsland server. The default value is[]
.:websocket_options
(keyword/0
) - Options to configure the WebSocket stack in Bandit. The default value is[]
.:certfile
(String.t/0
) - The path to a file containing the SSL certificate to use for this listener.:keyfile
(String.t/0
) - The path to a file containing the SSL key to use for this listener.:cipher_suite
- Used to define a pre-selected set of ciphers, as described byPlug.SSL.configure/1
. Valid values are nil, :strong, :compatible
targets
* http
* health_checks
* check
* https
* health_checks
* check
* plug
* ws
* health_checks
* check
* wss
* health_checks
* check
:algorithm
- The target selection algorithm. Valid values are :round_robin, :sticky The default value is:round_robin
.
http
* health_checks
* check
:address
- Required. The address of the interface to listen on.:name
- A unique name for the target (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:transport
- Which HTTP protocol to use. Valid values are :http1, :http2, :auto The default value is:auto
.
####### health_checks
* check
######## check
:name
- A unique name for the health check.:method
- The HTTP method to use for the request. Valid values are :get, :head, :post, :put, :delete, :connect, :options, :trace, :patch The default value is:get
.:connect_timeout
(pos_integer/0
) - Connection timeout in milliseconds The default value is5000
.:response_timeout
(pos_integer/0
) - Response timeout in milliseconds The default value is500
.:hostname
- The HTTP hostname to use when sending the request. Defaults to the IP address.:interval
(pos_integer/0
) - Interval in milliseconds The default value is30000
.:threshold
(pos_integer/0
) - Success threshold The default value is3
.:path
(String.t/0
) - Path The default value is"/"
.:success_codes
- HTTP status codes which are considered successful. The default value is[200..299]
.
https
* health_checks
* check
:address
- Required. The address of the interface to listen on.:name
- A unique name for the target (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:transport
- Which HTTP protocol to use. Valid values are :http1, :http2, :auto The default value is:auto
.
####### health_checks
* check
######## check
:name
- A unique name for the health check.:method
- The HTTP method to use for the request. Valid values are :get, :head, :post, :put, :delete, :connect, :options, :trace, :patch The default value is:get
.:connect_timeout
(pos_integer/0
) - Connection timeout in milliseconds The default value is5000
.:response_timeout
(pos_integer/0
) - Response timeout in milliseconds The default value is500
.:hostname
- The HTTP hostname to use when sending the request. Defaults to the IP address.:interval
(pos_integer/0
) - Interval in milliseconds The default value is30000
.:threshold
(pos_integer/0
) - Success threshold The default value is3
.:path
(String.t/0
) - Path The default value is"/"
.:success_codes
- HTTP status codes which are considered successful. The default value is[200..299]
.
plug
:module
(module that adoptsPlug
or a module and options) - Required. A plug which can handle requests.
ws
* health_checks
* check
:address
- Required. The address of the interface to listen on.:name
- A unique name for the target (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:transport
- Which HTTP protocol to use. Valid values are :http1, :http2, :auto The default value is:auto
.
####### health_checks
* check
######## check
:name
- A unique name for the health check.:method
- The HTTP method to use for the request. Valid values are :get, :head, :post, :put, :delete, :connect, :options, :trace, :patch The default value is:get
.:connect_timeout
(pos_integer/0
) - Connection timeout in milliseconds The default value is5000
.:response_timeout
(pos_integer/0
) - Response timeout in milliseconds The default value is500
.:hostname
- The HTTP hostname to use when sending the request. Defaults to the IP address.:interval
(pos_integer/0
) - Interval in milliseconds The default value is30000
.:threshold
(pos_integer/0
) - Success threshold The default value is3
.:path
(String.t/0
) - Path The default value is"/"
.:success_codes
- HTTP status codes which are considered successful. The default value is[200..299]
.
wss
* health_checks
* check
:address
- Required. The address of the interface to listen on.:name
- A unique name for the target (defaults to the URI).:port
(pos_integer/0
) - Required. The TCP port on which to listen for incoming connections.:transport
- Which HTTP protocol to use. Valid values are :http1, :http2, :auto The default value is:auto
.
####### health_checks
* check
######## check
:name
- A unique name for the health check.:method
- The HTTP method to use for the request. Valid values are :get, :head, :post, :put, :delete, :connect, :options, :trace, :patch The default value is:get
.:connect_timeout
(pos_integer/0
) - Connection timeout in milliseconds The default value is5000
.:response_timeout
(pos_integer/0
) - Response timeout in milliseconds The default value is500
.:hostname
- The HTTP hostname to use when sending the request. Defaults to the IP address.:interval
(pos_integer/0
) - Interval in milliseconds The default value is30000
.:threshold
(pos_integer/0
) - Success threshold The default value is3
.:path
(String.t/0
) - Path The default value is"/"
.:success_codes
- HTTP status codes which are considered successful. The default value is[200..299]
.