RoadRunner
3.0Schema URL
This is your main RoadRunner configuration file. It should contain all the plugins you want to load and their configuration.
Properties
RoadRunner configuration file version.
All the valid configuration parameters for the Centrifugo plugin for RoadRunner.
7 nested properties
The address of the Centrifugo proxy server.
The address/port of the gRPC server API.
Whether to use gRPC gzip compressor.
Your application version.
Your application name.
All the valid configuration parameters for the FileServer plugin for RoadRunner.
5 nested properties
The address to listen on.
The URL prefixes to serve as static files. At least one entry is required.
Whether to calculate ETag for the file and add the ETag header. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
Whether to use only the filename when calculating the ETag value. If false, the entire file content is used.
Whether to stream files larger than 4KB.
All the valid configuration parameters for the gRPC plugin for RoadRunner.
12 nested properties
gRPC address to listen on. Supports both TCP and Unix sockets.
Proto file(s) to use. Multiple files are supported. Wildcards are allowed in the proto field.
GRPC TLS configuration
4 nested properties
Maximum send message size in MB.
Maximum receive message size in MB.
MaxConnectionIdle is a duration for the amount of time after which an idle connection would be closed by sending a GoAway. Idle duration is defined by the most recent time the number of outstanding RPCs became zero or since the connection was established. Defaults to infinite.
The maximum duration a connection may exist before it will be closed by sending a GoAway. A random jitter of +/-10% will be added to MaxConnectionAge to spread out connection storms. Defaults to infinite.
The duration after MaxConnectionAge after which the connection will be forcibly closed. Defaults to infinite.
The maximum number of concurrent streams. Empty or 0 defaults to 10.
Duration of no activity after which the server pings the client to see if the transport is still alive. If set below 1s, a minimum value of 1s will be used instead.
The duration to wait for a response to a keepalive check, after which the connection is closed.
All the valid configuration parameters for the http plugin for RoadRunner.
15 nested properties
Host and/or port to listen on for HTTP traffic. If omitted, RoadRunner will not listen for HTTP requests.
HTTP status code to use for internal RoadRunner errors. Defaults to 500 if omitted.
Maximum request size in MB. Defaults to 1 GB if zero or omitted.
Whether to send the raw, encoded body for application/x-www-form-urlencoded content. Defaults to sending decoded content to PHP workers.
Whether to enable HTTP access logs.
List of middleware to load for the HTTP plugin, executed in the specified order.
List of subnets from which incoming requests are allowed. Defaults to typical private network ranges (192.168., 10.0., and 172.16.) and local/loopback interfaces (127.).
[
"10.0.0.0/8",
"127.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16",
"::1/128",
"fc00::/7",
"fe80::/10"
]
HTTP header configuration.
3 nested properties
Controls which CORS headers are returned. Additional headers Vary: Origin, Vary: Access-Control-Request-Method and Vary: Access-Control-Request-Headers will be added to responses. Omit this section to disable CORS headers.
7 nested properties
Controls the value of 'Access-Control-Allow-Origin'.
Controls the value of 'Access-Control-Allow-Origin' header value, but evaluated as regex.
Controls the value of 'Access-Control-Allow-Headers'.
Controls the value of 'Access-Control-Allow-Methods'. Provide a comma-separated string of HTTP verbs.
Controls the value of 'Access-Control-Allow-Credentials'.
Controls the value of 'Access-Control-Expose-Headers'. Provide a comma-separated list of HTTP headers.
Controls the value of 'Access-Control-Max-Age' (in seconds).
Custom HTTP headers to add to every request passed to PHP.
Custom HTTP headers to add to every response from PHP.
Configuration options for serving static files.
7 nested properties
Path to the directory with static assets. Defaults to the current working directory. Empty/undefined and . are equal and are both treated as current directory.
File extensions of files that must not be served. Empty/undefined disallows no files. If files are specified in both forbid and allow, they will be disallowed. Defaults to an empty array, disallowing no files.
File extensions of files that may be served. Empty/undefined allows all files, except files specified in forbid.
Whether to enable ETag computation for static files.
Whether to use a weak generator (/W), which uses only the filename to generate a CRC32 sum for et ETag. Disable to use the file contents.
Custom HTTP headers to add to every request for static files.
Custom HTTP headers to add to every response from static files.
All the valid configuration parameters for the jobs plugin for RoadRunner.
6 nested properties
Number of threads which will try to obtain jobs from the priority queue. Default is the number of workers in the pool +1. Deprecated: This will be removed in a future version.
Request timeout (in seconds) when attempting to send jobs to the queue. If zero or omitted, this defaults to 60 seconds.
Size of the internal priority queue. If the internal priority queue is full, you cannot send (push) additional jobs to the queue. If you set this value to zero or omit it, it defaults to 1 million.
A list of pipelines to be consumed by the server automatically when starting. You can omit this list if you want to start consuming manually. Each item in this list must be defined as a key under pipelines.
List of broker pipelines associated with the configured drivers. This option is not required since you can declare pipelines at runtime. The selected pipeline driver must be configured in the root of your configuration file.
All the valid configuration parameters for the Logger plugin for RoadRunner.
8 nested properties
You can configure logging for each plugin individually. The key is the plugin name and the value is logging options in same format as the parent.
All the valid configuration parameters for the Memcached plugin for RoadRunner.
1 nested properties
Addresses of the memcached node(s).
[
"localhost:11211"
]
All the valid configuration parameters for the Prometheus Metrics plugin for RoadRunner.
2 nested properties
Prometheus client address (path /metrics is appended automatically).
Application-specific metrics (published using an RPC connection to the server).
All the valid configuration parameters for the OpenTelemetry plugin for RoadRunner.
10 nested properties
4 nested properties
The name of the service.
The version of the service.
The namespace of the service.
The service instance ID. If not provided or empty, a UUID is generated.
Use insecure endpoint
Whether to use gzip compressor.
Provides functionality to emit telemetry to consumers.
Overrides the default URL of the HTTP client, if provided.
The endpoint of the consumer. Uses the OTEL default if not provided.
Client to send the spans. Defaults to http if invalid or empty.
User's service name. Deprecated: Use resource.service_name instead.
User's service version. Deprecated: Use resource.service_version instead.
User defined headers for the OTLP protocol.
All the valid configuration parameters for the Redis plugin for RoadRunner.
22 nested properties
The addresses or hostnames of the Redis server/cluster to connect to. If the number of addresses is 1 and master_name is empty, a single-node Redis Client will be returned, otherwise a ClusterClient or FailoverClient will be returned, depending on whether master_name is provided.
[
"localhost:6379"
]
The name of the master Redis node. A Sentinel-backed FailoverClient will be returned if this value is provided.
The username to provide for Redis authentication.
The password to provide for Redis authentication.
The Redis DB index to select when connecting.
The password for Redis Sentinel.
Whether to route traffic to Redis nodes based on latency.
Whether to randomly route traffic to Redis nodes.
The timeout when attempting to connect to Redis. Default or zero means 5s.
The maximum number of retry attempts when connecting to Redis. Default or zero means 3.
The minimum backoff duration when retrying connection attempts. Default or zero means 8s.
The maximum backoff duration when retrying connection attempts. Default or zero means 512s.
The number of connections to keep in the Redis connection pool. Default or zero means 10 per logical CPU.
The minimum number of connections to keep in the pool. Defaults to 0, which means no idle connection pool.
The maximum age of open Redis connections. Default or zero means no limit.
The timeout when reading from a Redis node. Default or zero means 3s.
The timeout when writing to a Redis node. Default or zero means equivalent to read_timeout.
The timeout of idle connections to Redis. Default or zero means 5m.
The time between checks for idle connections to Redis. Default or zero means 1m.
Whether the Redis connection is in read-only mode. See https://redis.io/docs/latest/commands/readonly.
GRPC TLS configuration
4 nested properties
All the valid configuration parameters for the Temporal plugin for RoadRunner.
6 nested properties
Address of the Temporal server. Defaults to localhost:7233 if not provided.
Sticky cache size. Sticky workflow execution is the affinity between workflow tasks of a specific workflow execution to a specific worker. The benefit of sticky execution is that the workflow does not have to reconstruct state by replaying history from the beginning. The cache is shared between workers running within same process. This must be called before any worker is started. If not called, the default size of 10K (which may change) will be used.
Namespace for this client to work with.
Temporal TLS configuration.
5 nested properties
ServerName is used to verify the hostname on the returned certificates unless InsecureSkipVerify is given. It is also included in the client's handshake to support virtual hosting unless it is an IP address.
All the valid configuration parameters for the RPC plugin for RoadRunner.
1 nested properties
The address and port for the RPC server to bind to. Should contain protocol definition (i.e. tcp:// or unix://).
All the valid configuration parameters for the Server plugin for RoadRunner.
6 nested properties
The command used to start workers, including any required arguments. Any plugins that implement a worker pool will inherit this command if they do not specify an override.
Arbitrary command to execute before RR starts allocating workers.
Group name (not GID) for the worker processes. The RR process user group will be used if not provided. The RoadRunner process must be run as root for this to work.
Worker relay method. Can be 'pipes', a TCP address (e.g. tcp://127.0.0.1:6002) or a socket (e.g. unix:///var/run/rr.sock).
All the valid configuration parameters for the Health Check (Status) plugin for RoadRunner.
3 nested properties
Host and port to listen on (eg.: 127.0.0.1:2114). To query a plugin, pass its name as a query parameter called plugin, e.g. to check the http plugin, request GET <http://127.0.0.1:2114/health?plugin=http>. You can query multiple plugins by appending multiple instances of the plugin parameter, e.g. GET <http://127.0.0.1:2114/health?plugin=http&plugin=rpc>.
Response HTTP status code if a requested plugin is not ready to handle requests. Valid for both /health and /ready endpoints. Defaults to 503 if undefined or zero.
The maximum duration to wait for a complete response from the queried plugin(s), in seconds. Defaults to 60.
All the valid configuration parameters for the TCP plugin for RoadRunner.
3 nested properties
The TCP servers to allocate.
Size of the chunks that RR reads data in, in MB. If you expect big payloads on a TCP server, you may reduce read system calls by using a big buffer.
All the valid configuration parameters for the KV plugin for RoadRunner.
All the valid configuration parameters for the Service plugin for RoadRunner.
Definitions
Time duration
"1h""2.5h""2m"".2m""30s""30.03s""300ms""1h3m40s500ms"