summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo2024-04-25 09:59:07 +1000
committerLeo2024-04-25 09:59:07 +1000
commitc2355697ee448a200be4a1820b9dcde0da366e42 (patch)
tree035071fe41b10af33b32b7c03f432a3c413f8ca6
parentf39020c423c6995be3700b28e7c0444dcc7c8a43 (diff)
downloadaur-c2355697ee448a200be4a1820b9dcde0da366e42.tar.gz
New upstream version 2024.1.0
- Update sample configuration files
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD4
-rw-r--r--rr.full.sample.yaml293
3 files changed, 267 insertions, 36 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a80439a78da5..73bbc8ba3ce5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = roadrunner
pkgdesc = High-performance PHP application server, load-balancer and process manager written in Golang
- pkgver = 2023.3.12
+ pkgver = 2024.1.0
pkgrel = 1
epoch = 1
url = https://roadrunner.dev/
@@ -8,10 +8,10 @@ pkgbase = roadrunner
license = MIT
makedepends = go>=1.21
options = !buildflags
- source = roadrunner-2023.3.12.tar.gz::https://github.com/spiral/roadrunner/archive/v2023.3.12.tar.gz
+ source = roadrunner-2024.1.0.tar.gz::https://github.com/spiral/roadrunner/archive/v2024.1.0.tar.gz
source = rr.full.sample.yaml
source = rr.minimal.sample.yaml
- sha256sums = 608b30987a7c56c1089474782a7dee6c031f2529319b7952ab5f4074b5018fe0
+ sha256sums = 21a9c20b3bebe94be7a8fcbd87ecd7b6e52e838cf9cc6476e881de61a4b5a00c
sha256sums = SKIP
sha256sums = SKIP
diff --git a/PKGBUILD b/PKGBUILD
index ef9080ca151b..712126e70a9c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=roadrunner
epoch=1
-pkgver=2023.3.12
+pkgver=2024.1.0
pkgrel=1
pkgdesc="High-performance PHP application server, load-balancer and process manager written in Golang"
arch=(x86_64)
@@ -16,7 +16,7 @@ source=(
"rr.minimal.sample.yaml"
)
sha256sums=(
- '608b30987a7c56c1089474782a7dee6c031f2529319b7952ab5f4074b5018fe0'
+ '21a9c20b3bebe94be7a8fcbd87ecd7b6e52e838cf9cc6476e881de61a4b5a00c'
'SKIP'
'SKIP'
)
diff --git a/rr.full.sample.yaml b/rr.full.sample.yaml
index 9f2ad055cd97..891f71d00352 100644
--- a/rr.full.sample.yaml
+++ b/rr.full.sample.yaml
@@ -42,6 +42,12 @@ server:
env:
- SOME_KEY: "SOME_VALUE"
- SOME_KEY2: "SOME_VALUE2"
+
+ # Username (not UID) of the user from whom the on_init command is executed. An empty value means to use the RR process user.
+ #
+ # Default: ""
+ user: ""
+
# Worker starting command, with any required arguments.
#
# This option is required.
@@ -69,11 +75,6 @@ server:
# Default: "pipes"
relay: pipes
- # Timeout for relay connection establishing (only for socket and TCP port relay).
- #
- # Default: 60s
- relay_timeout: 60s
-
# Logging settings (docs: https://roadrunner.dev/docs/plugins-logger/2.x/en)
logs:
# Logging mode can be "development", "production" or "raw". Do not forget to change this value for production environment.
@@ -302,6 +303,12 @@ temporal:
# Default: 0
max_jobs: 0
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
# Timeout for worker allocation. Zero means 60s.
#
# Default: 60s
@@ -370,8 +377,8 @@ kv:
file: "rr.db"
# Access permission for the DB file.
#
- # Default: "0777"
- permissions: 0777
+ # Default: "0755"
+ permissions: 0755
# TTL keys check interval in seconds. It's safe to use 1 second here, but can be a little costly to performance.
#
# Default: "60" seconds
@@ -481,6 +488,11 @@ service:
# Default: 1
process_num: 1
+ # Timeout for the process stop operation
+ #
+ # Default: 5 seconds
+ timeout_stop_sec: 5
+
# Allowed time before stop.
#
# Default: 0 (infinity), can be 1s, 2m, 2h (seconds, minutes, hours)
@@ -510,6 +522,11 @@ service:
# Default: none, required.
command: "binary"
+ # Timeout for the process stop operation
+ #
+ # Default: 5 seconds
+ timeout_stop_sec: 5
+
# Env variables for the process
#
# Default: empty
@@ -544,6 +561,30 @@ service:
restart_sec: 1
otel:
+ # OpenTelemetry Resources
+ #
+ # https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/resource/semantic_conventions/README.md
+ resource:
+
+ # User's service name
+ #
+ # Default: RoadRunner
+ service_name: "rr_test"
+
+ # User's service version
+ #
+ # Default: RoadRunner
+ service_version: "1.0.0"
+
+ # User's service namespace
+ #
+ # Default: RoadRunner
+ service_namespace: "RR-Shop"
+
+ # User's service instance id
+ #
+ # Default: Generated UUID
+ service_instance_id: "UUID"
# Use insecure endpoint (http) or insecure gRPC
#
# Default: false
@@ -569,16 +610,6 @@ otel:
# Default: empty
custom_url: ""
- # User's service name
- #
- # Default: RoadRunner
- service_name: "rr_test"
-
- # User's service version
- #
- # Default: RoadRunner
- service_version: "1.0.0"
-
# Consumer's endpoint
#
# Default: 127.0.0.1:4318
@@ -736,9 +767,14 @@ http:
cors:
# Controls "Access-Control-Allow-Origin" header value (docs: https://mzl.la/2OgD4Qf).
#
- # Default: ""
+ # Default: empty
allowed_origin: "*"
+ # Controls "Access-Control-Allow-Origin" header value (docs: https://mzl.la/2OgD4Qf).
+ #
+ # Default: empty. If set, overrides allowed_origin.
+ allowed_origin_regex: "^https://foo"
+
# Controls "Access-Control-Allow-Headers" header value (docs: https://mzl.la/2OzDVvk).
#
# Default: ""
@@ -837,6 +873,12 @@ http:
# Default: 0
max_jobs: 0
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
# Timeout for worker allocation. Zero means 60s.
#
# Default: 60s
@@ -847,6 +889,11 @@ http:
# Default: 60s
reset_timeout: 60s
+ # Timeout for the stream cancellation. Zero means 60s.
+ #
+ # Default: 60s
+ stream_timeout: 60s
+
# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
@@ -1094,9 +1141,33 @@ nats:
amqp:
# AMQP Uri to connect to the rabbitmq server https://www.rabbitmq.com/uri-spec.html
#
- # This option is required for the production. Default: amqp://guest:guest@127.0.0.1:5672
+ # This option is required for the production. Default: amqp(s)://guest:guest@127.0.0.1:5672
addr: amqp://guest:guest@127.0.0.1:5672/
+ # AMQPS TLS configuration
+ #
+ # This section is optional
+ tls:
+ # Path to the key file
+ #
+ # This option is required
+ key: ""
+
+ # Path to the certificate
+ #
+ # This option is required
+ cert: ""
+
+ # Path to the CA certificate, defines the set of root certificate authorities that servers use if required to verify a client certificate. Used with the `client_auth_type` option.
+ #
+ # This option is optional
+ root_ca: ""
+
+ # Client auth type (mTLS, peer verification).
+ #
+ # This option is optional. Default value: no_client_certs. Possible values: request_client_cert, require_any_client_cert, verify_client_cert_if_given, require_and_verify_client_cert, no_client_certs
+ client_auth_type: no_client_certs
+
# Beanstalk jobs driver
#
# This option is required to use Beanstalk driver
@@ -1150,16 +1221,45 @@ kafka:
# Required to use Kafka driver
brokers: ["127.0.0.1:9092", "127.0.0.1:9002"]
- # SASL authentication options to use for all connections. Depending on the auth type, plain or aws_msk_plain sections might be removed.
+ # SSL/TLS configuration
#
# Optional, default: empty
- sasl:
+ tls:
+ # Secure connection timeout
+ #
+ # Examples: "2s", "5m"
+ # Optional, default: "10s"
+ timeout: "10s"
+
+ # Path to the key file
+ #
+ # This option is required
+ key: ""
+
+ # Path to the certificate
+ #
+ # This option is required
+ cert: ""
+
+ # Path to the CA certificate, defines the set of root certificate authorities that servers use if required to verify a client certificate. Used with the `client_auth_type` option.
+ #
+ # This option is optional
+ root_ca: ""
+
+ # Client auth type.
+ #
+ # This option is optional. Default value: no_client_certs. Possible values: request_client_cert, require_any_client_cert, verify_client_cert_if_given, require_and_verify_client_cert, no_client_certs
+ client_auth_type: no_client_certs
- # PLAIN auth section -----
+ # SASL authentication options to use for all connections. Depending on the auth type, plain/SCRAM or aws_msk_plain sections should be removed.
+ #
+ # Optional, default: empty
+ sasl:
+ # ----------- 1. PLAIN and SCRAM auth section ---------------
# Mechanism used for the authentication
#
- # Required for the section. Might be: 'aws_msk_iam' or 'plain'
+ # Required for the section. Might be: 'aws_msk_iam', 'plain', 'SCRAM-SHA-256', 'SCRAM-SHA-512'
mechanism: plain
# Username to use for authentication.
@@ -1172,12 +1272,22 @@ kafka:
# Required for the plain auth mechanism.
password: bar
+ # Nonce.
+ #
+ # Optional for the SHA auth types. Empty by default.
+ nonce: "foo"
+
+ # If true, suffixes the "tokenauth=true" extra attribute to the initial authentication message.
+ # Set this to true if the user and pass are from a delegation token.
+ # Optional for the SHA auth types. Empty by default.
+ is_token: false
+
# Zid is an optional authorization ID to use in authenticating.
#
# Optional, default: empty.
zid: "foo"
- # AWS_MSK_IAM auth section -----
+ # -------------- 2. AWS_MSK_IAM auth section ------------------
# AWS Access key ID.
#
@@ -1205,9 +1315,14 @@ kafka:
jobs:
# Number of threads which will try to obtain the job from the priority queue
#
- # Default: number of the logical CPU cores
+ # Default: number of the workers + 1
num_pollers: 32
+ # Push operation timeout in seconds
+ #
+ # Default: 60
+ timeout: 60
+
# Size of the internal priority queue
#
# Default: 1_000_000
@@ -1235,6 +1350,12 @@ jobs:
# Default: 0
max_jobs: 0
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
# Timeout for worker allocation. Zero means 60s.
#
# Default: 60s
@@ -1245,6 +1366,11 @@ jobs:
# Default: 60s
reset_timeout: 60s
+ # Timeout for the stream cancellation. Zero means 60s.
+ #
+ # Default: 60s
+ stream_timeout: 60s
+
# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
@@ -1308,8 +1434,8 @@ jobs:
# Permissions for the boltdb database file
#
- # This option is optional. Default: 0777
- permissions: 0777
+ # This option is optional. Default: 0755
+ permissions: 0755
test-local-2:
# Driver name
@@ -1350,12 +1476,12 @@ jobs:
# Auto-delete (exchange is deleted when last queue is unbound from it): https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges
#
# Default: false
- exchange_auto_deleted: false
+ exchange_auto_delete: false
# Auto-delete (queue that has had at least one consumer is deleted when last consumer unsubscribes) (rabbitmq option: https://www.rabbitmq.com/queues.html#properties)
#
# Default: false
- queue_auto_deleted: false
+ queue_auto_delete: false
# Delete queue when stopping the pipeline
#
@@ -1501,6 +1627,11 @@ jobs:
# Default: default
queue: default
+ # Message group ID: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html#SQS-SendMessage-request-MessageGroupId
+ #
+ # Default: empty, should be set if FIFO queue is used
+ message_group_id: "test"
+
# List of the AWS SQS attributes https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html.
attributes:
DelaySeconds: 0
@@ -1751,10 +1882,11 @@ grpc:
# This option is required
listen: "tcp://127.0.0.1:9001"
- # Proto file to use, multiply files supported [SINCE 2.6]
+ # Proto file to use, multiply files supported [SINCE 2.6]. As of v2023.1.4, wilcards are allowed in the proto field.
#
# This option is required
proto:
+ - "*.proto" # wilcard
- "first.proto"
- "second.proto"
@@ -1854,6 +1986,12 @@ grpc:
# Default: 0
max_jobs: 0
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
# Timeout for worker allocation. Zero means 60s.
#
# Default: 60s
@@ -1864,6 +2002,11 @@ grpc:
# Default: 60s
reset_timeout: 60s
+ # Timeout for the stream cancellation. Zero means 60s.
+ #
+ # Default: 60s
+ stream_timeout: 60s
+
# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
@@ -1922,6 +2065,12 @@ tcp:
# Default: 0
max_jobs: 0
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
# Timeout for worker allocation. Zero means 60s.
#
# Default: 60s
@@ -1932,6 +2081,11 @@ tcp:
# Default: 60s
reset_timeout: 60s
+ # Timeout for the stream cancellation. Zero means 60s.
+ #
+ # Default: 60s
+ stream_timeout: 60s
+
# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
@@ -2026,6 +2180,83 @@ centrifuge:
# Optional, default: roadrunner
name: "roadrunner"
+ # Workers pool settings.
+ pool:
+ # Debug mode for the pool. In this mode, pool will not pre-allocate the worker. Worker (only 1, num_workers ignored) will be allocated right after the request arrived.
+ #
+ # Default: false
+ debug: false
+
+ # Override server's command
+ #
+ # Default: empty
+ command: "php my-super-app.php"
+
+ # How many worker processes will be started. Zero (or nothing) means the number of logical CPUs.
+ #
+ # Default: 0
+ num_workers: 0
+
+ # Maximal count of worker executions. Zero (or nothing) means no limit.
+ #
+ # Default: 0
+ max_jobs: 0
+
+ # [2023.3.10]
+ # Maximum size of the internal requests queue. After reaching the limit, all additional requests would be rejected with error.
+ #
+ # Default: 0 (no limit)
+ max_queue_size: 0
+
+ # Timeout for worker allocation. Zero means 60s.
+ #
+ # Default: 60s
+ allocate_timeout: 60s
+
+ # Timeout for the reset timeout. Zero means 60s.
+ #
+ # Default: 60s
+ reset_timeout: 60s
+
+ # Timeout for the stream cancellation. Zero means 60s.
+ #
+ # Default: 60s
+ stream_timeout: 60s
+
+ # Timeout for worker destroying before process killing. Zero means 60s.
+ #
+ # Default: 60s
+ destroy_timeout: 60s
+
+ # Supervisor is used to control http workers (previous name was "limit", video: https://www.youtube.com/watch?v=NdrlZhyFqyQ).
+ # "Soft" limits will not interrupt current request processing. "Hard"
+ # limit on the contrary - interrupts the execution of the request.
+ supervisor:
+ # How often to check the state of the workers.
+ #
+ # Default: 1s
+ watch_tick: 1s
+
+ # Maximum time worker is allowed to live (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ ttl: 0s
+
+ # How long worker can spend in IDLE mode after first using (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ idle_ttl: 10s
+
+ # Maximal worker memory usage in megabytes (soft limit). Zero means no limit.
+ #
+ # Default: 0
+ max_worker_memory: 128
+
+ # Maximal job lifetime (hard limit). Zero means no limit.
+ #
+ # Default: 0s
+ exec_ttl: 60s
+
# TLS configuration
#
# Optional, default: null
@@ -2056,4 +2287,4 @@ endure:
# Logging level. Possible values: "debug", "info", "warn", "error", "panic", "fatal".
#
# Default: "error"
- log_level: error \ No newline at end of file
+ log_level: error