Receptor Configuration Options
Control Services
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Specifies the filename of a local Unix socket to bind to the service. |
No default value. |
string |
|
Socket file permissions |
0600 |
int |
|
Receptor service name to listen on |
control |
string |
|
Name of TLS server config for the Receptor listener |
No default value. |
string |
|
Local TCP port or host:port to bind to the control service |
No default value. |
string |
|
Name of TLS server config for the TCP listener |
No default value. |
string |
control-services:
- service: foo
filename: /tmp/foo.sock
Log level
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Log level: Error, Warning, Info or Debug |
Error |
string |
Add payload tracing using RECEPTOR_PAYLOAD_TRACE_LEVEL=int envorment variable and using log level debug.
Tracing level |
Description |
|---|---|
0 |
No payload tracing log |
1 |
Log connection type |
2 |
Log connection type and work unit id |
3 |
Log connection type, work unit id and payload |
Warning: Payload Tracing May Expose Sensitive Data
Please be aware that using payload tracing can potentially reveal sensitive information. This includes, but is not limited to, personal data, authentication tokens, and system configurations. Ensure that you only use tracing tools in a secure environment and avoid sharing trace output with unauthorized users. Always follow your organization’s data protection policies when handling sensitive information. Proceed with caution!
log-level:
level: debug
Qlog
Variable |
Description |
Type |
|---|---|---|
QLOGDIR |
environment variable to the directory path where logs will be stored |
string |
Qlogs allows greater visibility in the Receptors mesh network. Set the QLOGDIR environment variable to the directory path where logs will be stored. Creating a new directory may help organize qlogs. Once logs are created they can be viewed using (qvis)[https://github.com/quiclog/qvis]
Run qvis locally:
Git clone qvis repo
cd visualizationsrun npm installnpm run serveQvis is now served on port 8080
Upload qlogs to qvis and navigate to Sequence
Pyroscope Client
Use pyroscope-client to implement pyroscope push-mode to profile receptor and push to a Pyroscope server.
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Name of application used in Pyroscope UI |
No default value. |
string |
|
Map of static tags. |
No default value. |
map of string |
|
Address of pyroscope server |
No default value. |
string |
|
Http basic auth user |
No default value. |
string |
|
Http basic auth password |
No default value. |
string |
|
Specify TenantId when using phlare multi-tenancy |
No default value. |
string |
|
Upload rate e.g. |
15s |
string |
|
Optional profile types- ProfileGoroutines, ProfileMutexCount, ProfileMutexDuration, ProfileBlockCount, ProfileBlockDuration. |
Profile types set by default- ProfileCPU, ProfileAllocObjects, ProfileAlloSpace, ProfileInuseObjects, ProfileInuseSpace. |
list of sting |
|
This will disable automatic runtime.GC runs between getting the heap profiles |
true |
bool |
|
Set the Authorization header manually |
No default value. |
map of string |
pyroscope-client:
- applicationName: "receptor"
serverAddress: "http://localhost:4040"
profileTypes:
- ProfileGoroutines
- ProfileMutexCount
- ProfileMutexDuration
- ProfileBlockCount
- ProfileBlockDuration
Node
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Node ID can only contain a-z, A-Z, 0-9 or special characters . - _ @ : |
local hostname |
string |
|
Directory in which to store node data |
/tmp/receptor |
string |
|
Firewall Rules. See Firewall Rules for syntax |
No default value. |
JSON |
|
Max duration with no traffic before a backend connection is timed out and refreshed |
No default value. |
string |
node:
id: foo
Configure resources used by other commands
TLS Clients
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Client certificate filename (required) |
No default value. |
string |
|
Accept any server cert |
false |
bool |
|
Client private key filename (required) |
No default value. |
string |
|
Set minimum TLS version to 1.3. Otherwise the minimum is 1.2 |
true |
bool |
|
Name of this TLS client configuration (required) |
No default value. |
string |
|
Pinned fingerprint of required server certificate |
No default value. |
list of string |
|
Root CA bundle to use instead of system trust |
No default value. |
string |
|
if true, skip verifying ReceptorNames OIDs in certificate at startup |
No default value. |
bool |
tls-clients:
- name: tlsclient
cert: /tmp/certs/foo.crt
key: /tmp/certs/key.crt
TLS Servers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Server certificate filename (required) |
No default value. |
string |
|
Filename of CA bundle to verify client certs with |
No default value. |
string |
|
Server private key filename (required) |
No default value. |
string |
|
Set minimum TLS version to 1.3. Otherwise the minimum is 1.2 |
true |
bool |
|
Name of this TLS server configuration (required) |
No default value. |
string |
|
Pinned fingerprint of required client certificate |
No default value. |
list of string |
|
Require client certificates |
false |
bool |
|
Skip verifying ReceptorNames OIDs in certificate at startup |
false |
bool |
tls-servers:
- name: tlsserver
cert: /tmp/certs/foo.crt
key: /tmp/certs/key.crt
Options to configure back-ends, which connect Receptor nodes together
TCP listeners
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
list of string |
|
Local address to bind to |
0.0.0.0 |
string |
|
Connection cost (weight) |
1.0 |
float64 |
|
Per-node costs |
No default value. |
float64 |
|
Local TCP port to listen on (required) |
No default value. |
int |
|
Name of TLS server config |
No default value. |
string |
tcp-listeners:
- port: 2223
TCP Peers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Remote address (Host:Port) to connect to (required) |
No default value. |
string |
|
Peer node IDs to allow via this connection |
No default value. |
list of string |
|
Connection cost (weight) |
1.0 |
float64 |
|
Keep redialing on lost connection |
true |
bool |
|
Name of TLS client configuration |
No default value. |
string |
tcp-peers:
- address: localhost:2223
UDP Listeners
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
list of string |
|
Local address to bind to |
0.0.0.0 |
string |
|
Connection cost (weight) |
1.0 |
float64 |
|
Per-node costs |
No default value. |
float64 |
|
Local UDP port to listen on (required) |
No default value. |
int |
udp-listeners:
- port: 2223
UDP Peers
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 |
udp-peers:
- address: localhost:2223
Websocket Listeners
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Peer node IDs to allow via this connection |
No default value. |
list of string |
|
Local address to bind to |
0.0.0.0 |
string |
|
Connection cost (weight) |
1.0 |
float64 |
|
Per-node costs |
No default value. |
float64 |
|
URI path to the websocket server |
/ |
string |
|
Local TCP port to run http server on (required) |
No default value. |
int |
|
Name of TLS server configuration |
No default value. |
string |
ws-listeners:
- port: 27198
Websocket Peers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
URL to connect to (required) |
No default value. |
string |
|
Peer node IDs to allow via this connection |
No default value. |
list of string |
|
Connection cost (weight) |
1.0 |
float64 |
|
Sends extra HTTP header on initial connection |
No default value. |
string |
|
Keep redialing on lost connection |
true |
bool |
|
Name of TLS client config |
No default value. |
string |
ws-peers:
- address: ws://localhost:27198
Configure services that run on top of the Receptor mesh
IP Routers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Name of the local tun interface |
No default value. |
string |
|
Local /30 CIDR address (required) |
No default value. |
string |
|
Name of this network and service. (required) |
No default value. |
string |
|
Comma separated list of CIDR subnets to advertise |
No default value. |
string |
ip-routers:
- networkname: hello
localnet: abc
TCP Clients
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-clients:
- address: localhost:2223
service: foo
TCP Servers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Address to bind TCP listener to |
0.0.0.0 |
string |
|
Local TCP port to bind to (required) |
No default value. |
int |
|
Receptor node to connect to (required) |
No default value. |
string |
|
Receptor service name to connect to (required) |
No default value. |
string |
|
Name of TLS server config for the TCP listener |
No default value. |
string |
|
Name of TLS client config for the Receptor connection |
No default value. |
string |
tcp-servers:
- port: 2223
remotenode: foo
remoteservice: foo
UDP Clients
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Address for outbound UDP connection (required) |
No default value. |
string |
|
Receptor service name to bind to (required) |
No default value. |
string |
udp-clients:
- address: localhost:2223
service: foo
UDP Servers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Address to bind UDP listener to |
0.0.0.0 |
string |
|
Local UDP port to bind to (required) |
No default value. |
int |
|
Receptor node to connect to (required) |
No default value. |
string |
|
Receptor service name to connect to (required) |
No default value. |
string |
udp-servers:
- address: 2223
remotenode: foo
remoteservice: foo
Unix Socket Clients
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Socket filename, which must already exist (required) |
No default value. |
string |
|
Receptor service name to bind to (required) |
No default value. |
string |
|
Name of TLS server config for the Receptor connection |
No default value. |
string |
unix-socket-clients:
- filename: /tmp/foo.sock
service: foo
Unix Socket Servers
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Socket filename, which will be overwritten (required) |
No default value. |
string |
|
Socket file permissions |
0600 |
int |
|
Receptor node to connect to (required) |
No default value. |
string |
|
Receptor service name to connect to (required) |
No default value. |
string |
|
Name of TLS client config for the Receptor connection |
No default value. |
string |
unix-socket-servers:
- filename: /tmp/foo.sock
remotenode: foo
remoteservice: foo
Configure workers that process units of work
Work Commands
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Allow users to add more parameters |
false |
bool |
|
Command to run to process units of work (required) |
No default value. |
string |
|
Command-line parameters |
No default value. |
string |
|
Verify a signed work submission |
false |
bool |
|
Name for this worker type (required) |
No default value. |
string |
work-commands:
- command: cat
worktype: cat
Work Kubernetes
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Allow passing API parameters at runtime |
false |
bool |
|
Allow specifying image & command at runtime |
false |
bool |
|
Allow adding command parameters at runtime |
false |
bool |
|
Allow passing Pod at runtime |
false |
bool |
|
One of: kubeconfig, incluster |
incluster |
string |
|
Command to run in the container (overrides entrypoint) |
No default value. |
string |
|
On restart, delete the pod if in pending state |
true |
bool |
|
Container image to use for the worker pod |
No default value. |
string |
|
Kubeconfig filename (for authmethod=kubeconfig) |
No default value. |
string |
|
Kubernetes namespace to create pods in |
No default value. |
string |
|
Command-line parameters to pass to the entrypoint |
No default value. |
string |
|
Pod definition filename, in json or yaml format |
No default value. |
string |
|
Method for connecting to worker pods: logger or tcp |
logger |
string |
|
Verify a signed work submission |
false |
bool |
|
Name for this worker type (required) |
No default value. |
string |
work-kubernetes:
- worktype: cat
Kubernetes Environment Variables
The following environment variables can be used to configure Kubernetes worker behavior:
Note
The environment variable RECEPTOR_OPEN_LOGSTREAM_TIMEOUT has been replaced with RECEPTOR_KUBE_TIMEOUT_START. The new variable controls the initial sleep duration for all Kubernetes API retry operations using Fibonacci backoff, not just log stream timeouts.
Variable |
Description |
Default value |
Valid range |
Type |
|---|---|---|---|---|
|
Initial timeout duration between Kubernetes API retry attempts. Valid time units: “ns”, “ms”, “s”, “m”, “h” |
1s |
Any valid duration up to 1m |
string (duration) |
|
Number of retry attempts for Kubernetes API operations. Uses exponential backoff with Fibonacci-like sequence. |
5 |
1-100 |
int |
Important Notes:
Fibonacci Backoff: Retry delays increase by Fibonacci increments. For example, with
RECEPTOR_KUBE_TIMEOUT_START=1s, retry delays will be: 1s, 2s, 3s, 5s, 8s, etc.Timeout Start Limit:
RECEPTOR_KUBE_TIMEOUT_STARTvalues exceeding 1 minute will be capped at the maximum of 1 minute.Maximum Sleep Duration: Individual sleep durations are capped at 5 minutes to prevent extremely long waits.
Performance Impact: High retry counts can result in very long wait times. Consider the total time impact when setting these values.
export RECEPTOR_KUBE_TIMEOUT_START=500ms
export RECEPTOR_KUBE_RETRY_COUNT=3
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 |
Type |
|---|---|---|---|
|
Private key to sign work submissions |
No default value. |
string |
|
Expiration of the signed json web token, e.g. 3h or 3h30m |
No default value. |
string |
work-signing:
privatekey: /tmp/signworkprivate.pem
tokenexpiration: 30m
Work Verification
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Public key to verify signed work submissions |
No default value. |
string |
work-verification:
publickey: /tmp/signworkpublic.pem
Create Certificate Requests
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
Bit length of the encryption keys of the certificate |
No default value. |
int |
|
Common name to assign to the certificate (required) |
No default value. |
string |
|
DNS names to add to the certificate |
No default value. |
list of string |
|
Private key to use for the request |
No default value. |
string |
|
IP addresses to add to the certificate |
No default value. |
list of string |
|
Receptor node IDs to add to the certificate |
No default value. |
list of string |
|
File to save the certificate request to (required) |
No default value. |
string |
|
File to save the private key to (new key will be generated) |
No default value. |
string |
cert-makereqs:
- address: localhost:2223
service: foo
Sign Request and Produce Certificate
Parameter |
Description |
Default value |
Type |
|---|---|---|---|
|
CA certificate PEM filename (required) |
No default value. |
string |
|
CA private key PEM filename (required) |
No default value. |
string |
|
Expiration (NotAfter) date/time, in RFC3339 format |
No default value. |
string |
|
Effective (NotBefore) date/time, in RFC3339 format |
No default value. |
string |
|
File to save the signed certificate to (required) |
No default value. |
string |
|
Certificate Request PEM filename (required) |
No default value. |
string |
|
If true, do not prompt the user for verification |
False |
bool |
tcp-clients:
- address: localhost:2223
service: foo