Receptor Configuration Options
Receptor command line
Command line arguments use the following syntax: receptor [--<action> [<param>=<value> ...] ...]
The possible options for <action>
are listed below. Parameters for actions are listed in their own section.
Persistent Flags
Action |
Description |
---|---|
|
Generates a completion script for the Bash shell. |
|
Loads additional configuration options from a YAML file. |
|
Runs a control service. |
|
Show this help |
|
Runs a self-contained node with no backend. |
|
Specifies the verbosity level for command output. |
|
Specifies the node configuration of this instance. This parameter is required. |
|
Enables packet tracing output. |
|
Display the Receptor version. |
Bash completion
To add Receptor auto-completion to the bash session: . <(receptor --bash-completion)
Control Service
Parameter |
Description |
Default value |
---|---|---|
|
Specifies the filename of a local Unix socket to bind to the service. |
No default value. |
|
Socket file permissions |
0600 |
|
Receptor service name to listen on |
control |
|
Name of TLS server config for the Receptor listener |
No default value. |
|
Local TCP port or host:port to bind to the control service |
No default value. |
|
Name of TLS server config for the TCP listener |
No default value. |
Log level
Parameter |
Description |
Default value |
---|---|---|
|
Log level: Error, Warning, Info or Debug |
Error |
Node
Parameter |
Description |
Default value |
---|---|---|
|
Node ID |
local hostname |
|
Directory in which to store node data |
/tmp/receptor |
|
Firewall Rules. See Firewall Rules for syntax |
No default value. |
|
Max duration with no traffic before a backend connection is timed out and refreshed |
No default value. |
Configure resources used by other commands
Action |
Description |
---|---|
|
Define a TLS client configuration |
|
Define a TLS server configuration |
TLS Client
Parameter |
Description |
Default value |
---|---|---|
|
Client certificate filename (required) |
No default value. |
|
Accept any server cert |
false |
|
Client private key filename (required) |
No default value. |
|
Set minimum TLS version to 1.3. Otherwise the minimum is 1.2 |
false |
|
Name of this TLS client configuration (required) |
No default value. |
|
Pinned fingerprint of required server certificate |
No default value. |
|
Root CA bundle to use instead of system trust |
No default value. |
|
if true, skip verifying ReceptorNames OIDs in certificate at startup |
No default value. |
TLS Server
Parameter |
Description |
Default value |
---|---|---|
|
Server certificate filename (required) |
No default value. |
|
Filename of CA bundle to verify client certs with |
No default value. |
|
Server private key filename (required) |
No default value. |
|
Set minimum TLS version to 1.3. Otherwise the minimum is 1.2 |
false |
|
Name of this TLS server configuration (required) |
No default value. |
|
Pinned fingerprint of required client certificate |
No default value. |
|
Require client certificates |
false |
|
Skip verifying ReceptorNames OIDs in certificate at startup |
false |
Commands to configure back-ends, which connect Receptor nodes together
Action |
Description |
---|---|
|
Run a backend listener on a TCP port |
|
Make an outbound backend connection to a TCP peer |
|
Run a backend listener on a UDP port |
|
Make an outbound backend connection to a UDP peer |
|
Run an http server that accepts websocket connections |
|
Connect outbound to a websocket peer |
TCP listener
Parameter |
Description |
Default value |
---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
|
Local address to bind to |
0.0.0.0 |
|
Connection cost (weight) |
1.0 |
|
Per-node costs |
No default value. |
|
Local TCP port to listen on (required) |
No default value. |
|
Name of TLS server config |
No default value. |
TCP Peer
Parameter |
Description |
Default value |
---|---|---|
|
Remote address (Host:Port) to connect to (required) |
No default value. |
|
Peer node IDs to allow via this connection |
No default value. |
|
Connection cost (weight) |
1.0 |
|
Keep redialing on lost connection |
true |
|
Name of TLS client configuration |
No default value. |
UDP Listener
Parameter |
Description |
Default value |
---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
|
Local address to bind to |
0.0.0.0 |
|
Connection cost (weight) |
1.0 |
|
Per-node costs |
No default value. |
|
Local UDP port to listen on (required) |
No default value. |
UDP Peer
Parameter |
Description |
Default value |
---|---|---|
|
Host:Port to connect to (required) |
No default value. |
|
Peer node IDs to allow via this connection |
No default value. |
|
Connection cost (weight) |
1.0 |
|
Keep redialing on lost connection |
true |
Websocket Listener
Parameter |
Description |
Default value |
---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
|
Local address to bind to |
0.0.0.0 |
|
Connection cost (weight) |
1.0 |
|
Per-node costs |
No default value. |
|
URI path to the websocket server |
/ |
|
Local TCP port to run http server on (required) |
No default value. |
|
Name of TLS server configuration |
No default value. |
Websocket Peer
Parameter |
Description |
Default value |
---|---|---|
|
URL to connect to (required) |
No default value. |
|
Peer node IDs to allow via this connection |
No default value. |
|
Connection cost (weight) |
1.0 |
|
Sends extra HTTP header on initial connection |
No default value. |
|
Keep redialing on lost connection |
true |
|
Name of TLS client config |
No default value. |
Configure services that run on top of the Receptor mesh
Action |
Description |
---|---|
|
Run an interactive command via a Receptor service |
|
Run an IP router using a tun interface |
|
Listen on a Receptor service and forward via TCP |
|
Listen for TCP and forward via Receptor |
|
Listen on a Receptor service and forward via UDP |
|
Listen for UDP and forward via Receptor |
|
Listen via Receptor and forward to a Unix socket |
|
Listen on a Unix socket and forward via Receptor |
Command Service
Parameter |
Description |
Default value |
---|---|---|
|
Command to execute on a connection (required) |
No default value. |
|
Receptor service name to bind to (required) |
No default value. |
|
Name of TLS server config |
No default value. |
IP Router
Parameter |
Description |
Default value |
---|---|---|
|
Name of the local tun interface |
No default value. |
|
Local /30 CIDR address (required) |
No default value. |
|
Name of this network and service. (required) |
No default value. |
|
Comma separated list of CIDR subnets to advertise |
No default value. |
TCP Client
Parameter |
Description |
Default value |
---|---|---|
|
Address for outbound TCP connection (required) |
No default value. |
|
Receptor service name to bind to (required) |
No default value. |
|
Name of TLS server config for the Receptor service |
No default value. |
|
Name of TLS client config for the TCP connection |
No default value. |
TCP Server
Parameter |
Description |
Default value |
---|---|---|
|
Address to bind TCP listener to |
0.0.0.0 |
|
Local TCP port to bind to (required) |
No default value. |
|
Receptor node to connect to (required) |
No default value. |
|
Receptor service name to connect to (required) |
No default value. |
|
Name of TLS server config for the TCP listener |
No default value. |
|
Name of TLS client config for the Receptor connection |
No default value. |
UDP Client
Parameter |
Description |
Default value |
---|---|---|
|
Address for outbound UDP connection (required) |
No default value. |
|
Receptor service name to bind to (required) |
No default value. |
UDP Server
Parameter |
Description |
Default value |
---|---|---|
|
Address to bind UDP listener to |
0.0.0.0 |
|
Local UDP port to bind to (required) |
No default value. |
|
Receptor node to connect to (required) |
No default value. |
|
Receptor service name to connect to (required) |
No default value. |
Unix Socket Client
Parameter |
Description |
Default value |
---|---|---|
|
Socket filename, which must already exist (required) |
No default value. |
|
Receptor service name to bind to (required) |
No default value. |
|
Name of TLS server config for the Receptor connection |
No default value. |
Unix Socket Server
Parameter |
Description |
Default value |
---|---|---|
|
Socket filename, which will be overwritten (required) |
No default value. |
|
Socket file permissions |
0600 |
|
Receptor node to connect to (required) |
No default value. |
|
Receptor service name to connect to (required) |
No default value. |
|
Name of TLS client config for the Receptor connection |
No default value. |
Configure workers that process units of work
Action |
Description |
---|---|
|
Run a worker using an external command |
|
Run a worker using Kubernetes |
|
Run a worker using a Python plugin |
|
Private key to sign work submissions |
|
Public key to verify work submissions |
Work Command
Parameter |
Description |
Default value |
---|---|---|
|
Allow users to add more parameters |
false |
|
Command to run to process units of work (required) |
No default value. |
|
Command-line parameters |
No default value. |
|
Verify a signed work submission |
false |
|
Name for this worker type (required) |
No default value. |
Work Kubernetes
Parameter |
Description |
Default value |
---|---|---|
|
Allow passing API parameters at runtime |
false |
|
Allow specifying image & command at runtime |
false |
|
Allow adding command parameters at runtime |
false |
|
Allow passing Pod at runtime |
false |
|
One of: kubeconfig, incluster |
incluster |
|
Command to run in the container (overrides entrypoint) |
No default value. |
|
On restart, delete the pod if in pending state |
true |
|
Container image to use for the worker pod |
No default value. |
|
Kubeconfig filename (for authmethod=kubeconfig) |
No default value. |
|
Kubernetes namespace to create pods in |
No default value. |
|
Command-line parameters to pass to the entrypoint |
No default value. |
|
Pod definition filename, in json or yaml format |
No default value. |
|
Method for connecting to worker pods: logger or tcp |
logger |
|
Verify a signed work submission |
false |
|
Name for this worker type (required) |
No default value. |
Work Python
Parameter |
Description |
Default value |
---|---|---|
|
Plugin-specific configuration |
No default value. |
|
Receptor-exported function to call (required) |
No default value. |
|
Python module name of the worker plugin (required) |
No default value. |
|
Name for this worker type (required) |
No default value. |
Work Signing
Parameter |
Description |
Default value |
---|---|---|
|
Private key to sign work submissions |
No default value. |
|
Expiration of the signed json web token, e.g. 3h or 3h30m |
No default value. |
Work Verification
Parameter |
Description |
Default value |
---|---|---|
|
Public key to verify signed work submissions |
No default value. |