summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2022-08-18 15:27:03 +0200
committerGitHub <[email protected]>2022-08-18 15:27:03 +0200
commit6a57268eafbc1407e4b242d0458a6df659c523d1 (patch)
tree8c86b149a82041a959e8b39548edf2f4b4df7aea
parente0e03f88b8ca9376bd2af34c62053e5b960ac4a6 (diff)
parent3d2381075a98f3b65f645fbcc66ad0280c8069ec (diff)
[#1263]: feat: release `v2.11.0`v2.11.0
-rw-r--r--.rr.yaml99
-rw-r--r--CHANGELOG.md297
-rw-r--r--go.mod84
-rw-r--r--go.sum165
-rw-r--r--schemas/config/2.0.schema.json365
5 files changed, 583 insertions, 427 deletions
diff --git a/.rr.yaml b/.rr.yaml
index df95d7b6..bd97ba4a 100644
--- a/.rr.yaml
+++ b/.rr.yaml
@@ -543,22 +543,87 @@ http:
# Error if empty. NEW_RELIC_LICENSE_KEY env variable should be set if the license_key key is empty. If both empty - error.
license_key: "key"
- # RFC 7234 (partially) RR Cache middleware
+ # RFC 7234 RR Cache middleware
+ #
+ # Link: https://github.com/darkweak/souin
cache:
- # Cache driver
- #
- # Default: memory. Available drivers: memory
- driver: memory
-
- # Methods to cache
- #
- # According to the RFC, we can cache only GET, HEAD or POST requests. Currently, only GET method supported.
- cache_methods: [ "GET", "HEAD", "POST" ]
-
- # Configuration for the driver
- #
- # Empty for the memory
- config: { }
+ api:
+ basepath: /souin-api
+ prometheus:
+ basepath: /anything-for-prometheus-metrics
+ souin:
+ basepath: /anything-for-souin
+ cache_keys:
+ '.*\.css':
+ disable_body: true
+ disable_host: true
+ disable_method: true
+ cdn:
+ api_key: XXXX
+ provider: fastly
+ strategy: soft
+ dynamic: true
+ default_cache:
+ allowed_http_verbs:
+ - GET
+ - POST
+ - HEAD
+ cache_name: Souin
+ distributed: true
+ headers:
+ - Authorization
+ key:
+ disable_body: true
+ disable_host: true
+ disable_method: true
+ etcd:
+ configuration:
+ endpoints:
+ - etcd-1:2379
+ - etcd-2:2379
+ - etcd-3:2379
+ olric:
+ url: 'olric:3320'
+ regex:
+ exclude: 'ARegexHere'
+ stale: 1000s
+ timeout:
+ backend: 10s
+ cache: 20ms
+ ttl: 1000s
+ default_cache_control: no-store
+ log_level: INFO
+ ssl_providers:
+ - traefik
+ urls:
+ 'https:\/\/domain.com\/first-.+':
+ ttl: 1000s
+ 'https:\/\/domain.com\/second-route':
+ ttl: 10s
+ headers:
+ - Authorization
+ 'https?:\/\/mysubdomain\.domain\.com':
+ ttl: 50s
+ headers:
+ - Authorization
+ - 'Content-Type'
+ default_cache_control: public, max-age=86400
+ ykeys:
+ The_First_Test:
+ headers:
+ Content-Type: '.+'
+ The_Second_Test:
+ url: 'the/second/.+'
+ The_Third_Test:
+ The_Fourth_Test:
+ surrogate_keys:
+ The_First_Test:
+ headers:
+ Content-Type: '.+'
+ The_Second_Test:
+ url: 'the/second/.+'
+ The_Third_Test:
+ The_Fourth_Test:
# File uploading settings.
uploads:
@@ -1413,7 +1478,9 @@ jobs:
- 1: 0
- 2: 0
- # not supported in beta.3
+ # Kafka group id
+ #
+ # Optional, default - empty
group_id: "foo"
# Max number of outstanding requests a connection is allowed to have before sending on it blocks
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46fa9f9b..656eed39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,79 +1,21 @@
# CHANGELOG
-## v2.11.0-rc.1 (11.08.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **gRPC plugin**: Reflection server configuration updated. To prevent issues regarding incorrectly checked/parsed proto imports, we introduce an updated config:
-
-To activate a reflection server, use the following option:
-
-1. If you don't have any imports.
-```yaml
- reflection_server: {}
-```
-
-2. If you use definitions from other `.proto` files by importing them:
-```yaml
- # other options ...
-
- proto:
- - "path/to/main/proto1.proto"
- - "path/to/main/proto2.proto"
-
- reflection_server:
- - "path/to/include.proto"
- - "path/to/include2.proto"
-
- # other options ...
-```
-
-- โœ๏ธ **Kafka plugin**: Consumer groups. Starting from the `rc.1` if you specify `group_id`, RR will automatically connect to that CG with provided topic name.
-
-```yaml
-jobs:
- num_pollers: 10
- pipeline_size: 100000
- timeout: 100
- pool:
- num_workers: 10
- allocate_timeout: 60s
- destroy_timeout: 60s
-
- pipelines:
- test-1:
- driver: kafka
- config:
- # other options ...
- group_id: "foo-1" # <----- NEW
-```
-
-## ๐Ÿฉน Fixes:
-
-- ๐Ÿ› **Server plugin**: use the `allocate_timeout` from the pool to wait for the `tcp/unix` socket connection from the PHP worker. [BUG](https://github.com/roadrunner-server/roadrunner/issues/1226), (thanks @Warxcell)
-
-## ๐Ÿงน Chore:
-
-- ๐Ÿงฝ **Logger plugin**: use the parsable timestamp format for the `raw` logger mode. [CH](https://github.com/roadrunner-server/roadrunner/issues/1236), (thanks @ilsenem)
-
-## ๐Ÿ”ง Maintenance:
-
-- Temporal `GO-SDK` and `API` updated to the latest versions.
-
---
-
-## v2.11.0-beta.3 (07.08.2022)
+## v2.11.0 (18.08.2022)
## โš ๏ธ NewRelic middleware was removed. Please, use [OTEL middleware instead](https://roadrunner.dev/docs/middleware-otel/2.x/en)
## โš ๏ธ In `2.12.0` we plan to replace `websockets` and `broadcast` plugins with the `centrifuge` plugin. However, if you still need a RR with these deprecated plugins, you may use `Velox` to build your custom build.
## ๐Ÿ‘€ New:
+- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
+- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). The exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
+- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
- โœ๏ธ **CLI**: New CLI command to pause, resume, destroy and list Jobs. [FR](https://github.com/roadrunner-server/roadrunner/issues/1088), (thanks @hustlahusky)
- โœ๏ธ **Velox**: New configuration option: `folder`, which can be used to specify the folder with the plugin in the repository. (thanks, @darkweak)
- โœ๏ธ **Velox**: Velox now respects the plugin's `replace` directives. (thanks, @darkweak)
-- โœ๏ธ **Cache plugin**: RR now uses a great cache (RFC 7234) plugin made by @darkweak
+- โœ๏ธ **Cache plugin**: RR now uses a [great cache](https://github.com/darkweak/souin) (RFC 7234) plugin made by @darkweak
- โœ๏ธ **[BETA] Kafka plugin**: New Kafka driver for the Jobs plugin. [FR](https://github.com/roadrunner-server/roadrunner/issues/1128), (thanks, @Smolevich)
- โœ๏ธ **Temporal plugin**: Temporal now uses a new reset mechanism to prevent WF worker restarts on activity worker failure
- โœ๏ธ **Temporal plugin**: Temporal plugin now supports a TSL-based authentication with the key and certificate.
@@ -87,237 +29,20 @@ temporal:
# other options
```
-Kafka configuration:
-```yaml
- test-local-6:
- # Driver name
- #
- # This option is required
- driver: kafka
-
- # Driver's configuration
- #
- # Should not be empty
- config:
-
- # Pipeline priority
- #
- # If the job has a priority set to 0, it will inherit the pipeline's priority. Default: 10.
- priority: 1
-
- # Topic name: https://kafka.apache.org/intro#intro_concepts_and_terms
- #
- # This option is required and should not be empty.
- topic: test-1
-
- # Offsets for the partitions
- #
- # This option is optional. If empty, RR will read from the partition 0, OffsetNewest. Should be a positive number.
- # We also have 2 exceptional cases for the offsets (negative numbers):
- # -1: OffsetNewest - stands for the log head offset, i.e. the offset that will be assigned to the following message
- # that will be produced to the partition.
- # -2: OffsetOldest - stands for the oldest offset available on the broker for a partition.
- partitions_offsets:
- - 0: 0
- - 1: 0
- - 2: 0
-
- # not supported in beta.3
- group_id: "foo"
-
- # Max number of outstanding requests a connection is allowed to have before sending on it blocks
- #
- # Optional, default: 5.
- # Throughput can improve, but message ordering is not guaranteed if producer_options.idempotent is disabled, see:
- # https://kafka.apache.org/protocol#protocol_network
- # https://kafka.apache.org/28/documentation.html#producerconfigs_max.in.flight.requests.per.connection
- max_open_requests: 100
-
- # A user-provided string sent with every request to the brokers for logging, debugging, and auditing purposes.
- #
- # Optional, default: roadrunner
- client_id: "roadrunner"
-
- # Kafka version.
- #
- # Defaults to the oldest supported stable version (1.0.0.0). Since Kafka provides
- # backwards-compatibility, setting it to a version older than you have
- # will not break anything, although it may prevent you from using the
- # latest features. Setting it to a version greater than you are actually
- # running may lead to random breakage.
- kafka_version: 3.2.0.0
-
- # Create topics configuration. If the topic doesn't exist, RR may create a topic with the provided configuration
- #
- # Optional, default: null.
- create_topics:
-
- # Replication factor for the data stored across several Kafka brokers.
- #
- # Optional, default: 1. Docs: https://kafka.apache.org/documentation/#replication
- replication_factor: 1
-
- # Partition replica assignment.
- #
- # Optional, default: null. Docs: https://kafka.apache.org/documentation/#basic_ops_cluster_expansion
- replica_assignment:
- 1: [ 1,2,3 ]
- 2: [ 2,3 ]
-
- # Topic creation options.
- #
- # Optional, default: null. Docs: https://kafka.apache.org/documentation/#configuration
- # Note: 'compression:type' will be replaced with 'compression.type', so ':' -> '.'.
- # All options should use ':' as the delimiter.
- config_entries:
- compression:type: snappy
-
- # Kafka producer options
- #
- # Optional, default: depends on the Kafka version
- producer_options:
-
- # Maximum permitted size of a message.
- #
- # Optional, default: 1000000. Should be set equal to or smaller than the broker's `message.max.bytes`.
- max_message_bytes: 1000
-
- # The level of acknowledgment reliability needed from the broker. Equivalent to the `request.required.acks`
- # RequiredAcks is used in Produce Requests to tell the broker how many replica acknowledgements
- # it must see before responding. Any of the constants defined here are valid. On broker versions
- # prior to 0.8.2.0 any other positive int16 is also valid (the broker will wait for that many
- # acknowledgements) but in 0.8.2.0 and later this will raise an exception (it has been replaced
- # by setting the `min.isr` value in the brokers configuration).
- #
- # Optional, default: -1
- # Should be one of the following values:
- # 0: NoResponse - doesn't send any response.
- # 1: WaitForLocal - waits for only the local commit to succeed before responding.
- # -1 WaitForAll, (default) - waits for all in-sync replicas to commit before responding.
- # The minimum number of in-sync replicas is configured on the broker via
- # the `min.insync.replicas` configuration key.
- required_acks: -1
-
- # The maximum duration in seconds the broker will wait for the receipt of the number of
- # required_acks.
- #
- # Optional, default: 10
- timeout: 10
-
- # The type of compression to use on messages (defaults to no compression).
- # Similar to `compression.codec` setting of the JVM producer.
- #
- # Optional, default: none. Possible values: none, gzip, snappy, lz4, zstd
- compression_codec: snappy
-
- # The level of compression to use on messages. The meaning depends
- # on the actual compression type used and defaults to default compression
- # level for the codec.
- #
- # Optional, default: depends on compression_codec option.
- compression_level: 10
-
- # If enabled, the producer will ensure that exactly one copy of each message is
- # written.
- #
- # Optional, default false
- idempotent: false
-
- # Kafka consumer options
- consumer_options:
-
- # The timeout in seconds is used to detect consumer failures when using Kafka's group management facility.
- # The consumer sends periodic heartbeats to indicate its liveness to the broker.
- # If no heartbeats are received by the broker before the expiration of this session timeout,
- # then the broker will remove this consumer from the group and initiate a rebalance.
- # Note that the value must be in the allowable range as configured in the broker configuration
- # by `group.min.session.timeout.ms` and `group.max.session.timeout.ms`
- #
- # Optional, default: 10
- session_timeout: 60
-
- # The expected time in seconds between heartbeats to the consumer coordinator when using Kafka's group
- # management facilities. Heartbeats are used to ensure that the consumer's session stays active and
- # to facilitate rebalancing when new consumers join or leave the group.
- # The value must be set lower than 'session_timeout', but typically should be set no
- # higher than 1/3 of that value.
- # It can be adjusted even lower to control the expected time for normal rebalances.
- #
- # Optional, default: 3
- heartbeat_interval: 10
-
-```
-
## ๐Ÿฉน Fixes:
+- ๐Ÿ› **Server plugin**: use the `allocate_timeout` from the pool to wait for the `tcp/unix` socket connection from the PHP worker. [BUG](https://github.com/roadrunner-server/roadrunner/issues/1226), (thanks @Warxcell)
- ๐Ÿ› **Velox**: Fix panic when no `github` option is specified in the configuration.
-
-## ๐Ÿ”ง Maintenance:
-
-- All plugins, including RR, now use Go 1.19
-
----
-
-## v2.11.0-beta.1 (18.07.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
-- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). Exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
-- โœ๏ธ **gRPC Plugin**: `gRPC` reflection server. [GoDocs](https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md).
-- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
-
-The reflection server might be activated to use [`grpc_cli`](https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md), [`grpc-curl`](https://github.com/fullstorydev/grpcurl), [`grpc-ui`](https://github.com/fullstorydev/grpcui), or similar tools to intercept grpc payloads.
-
-Configuration:
-```yaml
-grpc:
- listen: "tcp://localhost:9001"
-
- # GRPC reflection server [SINCE 2.11]
- #
- # This option is optional. The reflection server might be activated to use `grpc_cli`, `grpc-ui`, `grpc-curl`, or similar tools to intercept grpc payloads.
- enable_reflection_server: false
- proto:
- - "first.proto"
- - "second.proto"
-```
-
----
-
-## v2.11.0-beta.2 (28.07.2022)
-
-## ๐Ÿฉน Fixes:
-
-- โœ๏ธ **gRPC Plugin**: Fix issue when some proto files might not be added automatically to use a reflection server.
- ๐Ÿ› **SDK**: Use `pool.allocate_timeout` for the sockets/tcp relays instead of silently used of `relay_timeout`.
----
-
-## v2.11.0-beta.1 (18.07.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
-- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). Exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
-- โœ๏ธ **gRPC Plugin**: `gRPC` reflection server. [GoDocs](https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md).
-- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
+## ๐Ÿงน Chore:
-The reflection server might be activated to use [`grpc_cli`](https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md), [`grpc-curl`](https://github.com/fullstorydev/grpcurl), [`grpc-ui`](https://github.com/fullstorydev/grpcui), or similar tools to intercept grpc payloads.
+- ๐Ÿงฝ **Logger plugin**: use the parsable timestamp format for the `raw` logger mode. [CH](https://github.com/roadrunner-server/roadrunner/issues/1236), (thanks @ilsenem)
-Configuration:
-```yaml
-grpc:
- listen: "tcp://localhost:9001"
+## ๐Ÿ”ง Maintenance:
- # GRPC reflection server [SINCE 2.11]
- #
- # This option is optional. The reflection server might be activated to use `grpc_cli`, `grpc-ui`, `grpc-curl`, or similar tools to intercept grpc payloads.
- enable_reflection_server: false
- proto:
- - "first.proto"
- - "second.proto"
-```
+- Temporal `GO-SDK` and `API` updated to the latest versions.
+- All plugins, including RR, now use Go 1.19
---
diff --git a/go.mod b/go.mod
index 861ab537..e0e0d815 100644
--- a/go.mod
+++ b/go.mod
@@ -9,44 +9,44 @@ require (
github.com/fatih/color v1.13.0
github.com/joho/godotenv v1.4.0
github.com/olekukonko/tablewriter v0.0.5
- github.com/roadrunner-server/amqp/v2 v2.17.13
- github.com/roadrunner-server/api/v2 v2.21.0
- github.com/roadrunner-server/beanstalk/v2 v2.16.10
- github.com/roadrunner-server/boltdb/v2 v2.16.11
- github.com/roadrunner-server/broadcast/v2 v2.13.2
- github.com/roadrunner-server/config/v2 v2.15.1
- github.com/roadrunner-server/endure v1.4.3
+ github.com/roadrunner-server/amqp/v2 v2.17.14
+ github.com/roadrunner-server/api/v2 v2.21.1
+ github.com/roadrunner-server/beanstalk/v2 v2.16.11
+ github.com/roadrunner-server/boltdb/v2 v2.16.12
+ github.com/roadrunner-server/broadcast/v2 v2.13.3
+ github.com/roadrunner-server/config/v2 v2.15.2
+ github.com/roadrunner-server/endure v1.4.4
github.com/roadrunner-server/errors v1.2.0
- github.com/roadrunner-server/fileserver/v2 v2.13.12
- github.com/roadrunner-server/goridge/v3 v3.5.1
- github.com/roadrunner-server/grpc/v2 v2.21.1
- github.com/roadrunner-server/gzip/v2 v2.12.8
- github.com/roadrunner-server/headers/v2 v2.12.9
- github.com/roadrunner-server/http/v2 v2.21.2
- github.com/roadrunner-server/informer/v2 v2.12.2
- github.com/roadrunner-server/jobs/v2 v2.17.2
- github.com/roadrunner-server/kafka/v2 v2.1.3
- github.com/roadrunner-server/kv/v2 v2.13.2
- github.com/roadrunner-server/logger/v2 v2.14.2
- github.com/roadrunner-server/memcached/v2 v2.12.10
- github.com/roadrunner-server/memory/v2 v2.16.1
- github.com/roadrunner-server/metrics/v2 v2.13.13
- github.com/roadrunner-server/nats/v2 v2.16.9
- github.com/roadrunner-server/otel/v2 v2.4.1
- github.com/roadrunner-server/prometheus/v2 v2.13.12
- github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.3
- github.com/roadrunner-server/redis/v2 v2.15.10
- github.com/roadrunner-server/reload/v2 v2.13.2
- github.com/roadrunner-server/resetter/v2 v2.12.2
- github.com/roadrunner-server/rpc/v2 v2.14.2
- github.com/roadrunner-server/send/v2 v2.12.9
- github.com/roadrunner-server/server/v2 v2.15.1
- github.com/roadrunner-server/service/v2 v2.15.6
- github.com/roadrunner-server/sqs/v2 v2.18.1
- github.com/roadrunner-server/static/v2 v2.13.10
- github.com/roadrunner-server/status/v2 v2.14.2
- github.com/roadrunner-server/tcp/v2 v2.14.1
- github.com/roadrunner-server/websockets/v2 v2.15.1
+ github.com/roadrunner-server/fileserver/v2 v2.13.13
+ github.com/roadrunner-server/goridge/v3 v3.5.2
+ github.com/roadrunner-server/grpc/v2 v2.21.2
+ github.com/roadrunner-server/gzip/v2 v2.12.9
+ github.com/roadrunner-server/headers/v2 v2.12.10
+ github.com/roadrunner-server/http/v2 v2.21.3
+ github.com/roadrunner-server/informer/v2 v2.12.3
+ github.com/roadrunner-server/jobs/v2 v2.17.3
+ github.com/roadrunner-server/kafka/v2 v2.1.4
+ github.com/roadrunner-server/kv/v2 v2.13.3
+ github.com/roadrunner-server/logger/v2 v2.14.3
+ github.com/roadrunner-server/memcached/v2 v2.12.11
+ github.com/roadrunner-server/memory/v2 v2.16.2
+ github.com/roadrunner-server/metrics/v2 v2.13.14
+ github.com/roadrunner-server/nats/v2 v2.16.10
+ github.com/roadrunner-server/otel/v2 v2.4.2
+ github.com/roadrunner-server/prometheus/v2 v2.13.13
+ github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.4
+ github.com/roadrunner-server/redis/v2 v2.15.11
+ github.com/roadrunner-server/reload/v2 v2.13.3
+ github.com/roadrunner-server/resetter/v2 v2.12.3
+ github.com/roadrunner-server/rpc/v2 v2.14.3
+ github.com/roadrunner-server/send/v2 v2.12.10
+ github.com/roadrunner-server/server/v2 v2.15.2
+ github.com/roadrunner-server/service/v2 v2.16.1
+ github.com/roadrunner-server/sqs/v2 v2.18.2
+ github.com/roadrunner-server/static/v2 v2.13.11
+ github.com/roadrunner-server/status/v2 v2.14.3
+ github.com/roadrunner-server/tcp/v2 v2.14.2
+ github.com/roadrunner-server/websockets/v2 v2.15.2
github.com/spf13/cobra v1.5.0
github.com/spf13/viper v1.12.0
github.com/stretchr/testify v1.8.0
@@ -103,7 +103,7 @@ require (
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.1.0 // indirect
- github.com/goccy/go-json v0.9.10 // indirect
+ github.com/goccy/go-json v0.9.11 // indirect
github.com/gofiber/fiber/v2 v2.36.0 // indirect
github.com/gogo/googleapis v1.4.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
@@ -168,7 +168,7 @@ require (
github.com/rabbitmq/amqp091-go v1.4.0 // indirect
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
github.com/rivo/uniseg v0.3.4 // indirect
- github.com/roadrunner-server/sdk/v2 v2.18.3 // indirect
+ github.com/roadrunner-server/sdk/v2 v2.18.4 // indirect
github.com/roadrunner-server/tcplisten v1.2.0 // indirect
github.com/robfig/cron v1.2.0 // indirect
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
@@ -218,16 +218,16 @@ require (
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.22.0 // indirect
- golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect
+ golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 //indirect
golang.org/x/net v0.0.0-20220812174116-3211cb980234 // indirect
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
- golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect
+ golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect
golang.org/x/tools v0.1.12 // indirect
google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 // indirect
+ google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1 // indirect
google.golang.org/grpc v1.48.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
diff --git a/go.sum b/go.sum
index 8a31a970..621af2ce 100644
--- a/go.sum
+++ b/go.sum
@@ -230,8 +230,9 @@ github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/goccy/go-json v0.9.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/goccy/go-json v0.9.10 h1:hCeNmprSNLB8B8vQKWl6DpuH0t60oEs+TAk9a7CScKc=
github.com/goccy/go-json v0.9.10/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk=
+github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofiber/fiber/v2 v2.36.0 h1:1qLMe5rhXFLPa2SjK10Wz7WFgLwYi4TYg7XrjztJHqA=
github.com/gofiber/fiber/v2 v2.36.0/go.mod h1:tgCr+lierLwLoVHHO/jn3Niannv34WRkQETU8wiL9fQ=
@@ -561,89 +562,89 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqn
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.3.4 h1:3Z3Eu6FGHZWSfNKJTOUiPatWwfc7DzJRU04jFUqJODw=
github.com/rivo/uniseg v0.3.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
-github.com/roadrunner-server/amqp/v2 v2.17.13 h1:BpY4TWWH61SVxCTBOloOK5HrjY/pApRyduPAUQjf/xk=
-github.com/roadrunner-server/amqp/v2 v2.17.13/go.mod h1:aiC+QxwiGiz0+zUleU5YRatm6qZQtGmoG7an/x2yszo=
+github.com/roadrunner-server/amqp/v2 v2.17.14 h1:m/gkGCTcJwoQxg1uOveq4+QCcM5pfbkfdR7AXGW+uCk=
+github.com/roadrunner-server/amqp/v2 v2.17.14/go.mod h1:d9RnG76jTc2ao7c5PWaG/RW5KoIH+3kigc4LhV7GWjk=
github.com/roadrunner-server/api/v2 v2.19.0/go.mod h1:VDlFUKfyL2nKCY1aaIKNlDwi7c9B158RKdJ4jif4h9w=
-github.com/roadrunner-server/api/v2 v2.21.0 h1:OtzTLvZt9ENgfWtR9eAomMrF1ZwDkTj95Upb/AkvVD0=
-github.com/roadrunner-server/api/v2 v2.21.0/go.mod h1:i6+EpU/ZSZIPZNvM/Tk8lobqVSNQ6+iOe4LSBO2iORo=
-github.com/roadrunner-server/beanstalk/v2 v2.16.10 h1:NZfOrnU6yjOwRnV+wNPR7xRJlG5Dl/mLzGR7L9vvI4s=
-github.com/roadrunner-server/beanstalk/v2 v2.16.10/go.mod h1:MdMU0SVXZczLPKuq/kCR257Yw7S89EZ4/9MaIYPmJ3g=
-github.com/roadrunner-server/boltdb/v2 v2.16.11 h1:M35+sdmrt/xTtyJZCoui1f+V3CdixcLjBGutrgSID+E=
-github.com/roadrunner-server/boltdb/v2 v2.16.11/go.mod h1:E0wFK4j7k1t7VcloI+AhZYy3S8egdRXhDA83sER9oOI=
-github.com/roadrunner-server/broadcast/v2 v2.13.2 h1:24S8XF7RA1+D6kClkWCQxlcbjUy81liQBiq79nr/cjs=
-github.com/roadrunner-server/broadcast/v2 v2.13.2/go.mod h1:QehJT91LV0+5HLxG20wDoju+QvVC6XRY7CMxUawQ+50=
-github.com/roadrunner-server/config/v2 v2.15.1 h1:Ti/wheh+GuQJ19OneY5DBWsUogvWYd3N2cR3JLjJFeY=
-github.com/roadrunner-server/config/v2 v2.15.1/go.mod h1:HgobRAEviKCS8hsg3iZd1ijS3iMe3tyikHdN1oSpGWc=
-github.com/roadrunner-server/endure v1.4.3 h1:LkKt3270MFxppkiPtWw/50K8/eQYey5WSvT5slnBQXE=
-github.com/roadrunner-server/endure v1.4.3/go.mod h1:yJszg9MEabHYJfLnLB2pyWbEYBuhDnJhhXzbxJE/uQg=
+github.com/roadrunner-server/api/v2 v2.21.1 h1:PZp8sSrg0b+wVp+EVffEdH4HYyoVtnHX9WJCA3VsoTA=
+github.com/roadrunner-server/api/v2 v2.21.1/go.mod h1:GfXe+LhT14URGTU5rwFDKET74yMwR7au5Ik88HBwgY8=
+github.com/roadrunner-server/beanstalk/v2 v2.16.11 h1:stN+9n3eoIE9Y3TMzRk+367oggR0GsVH8exBGR7xfoc=
+github.com/roadrunner-server/beanstalk/v2 v2.16.11/go.mod h1:b48bLMcPOWkfTgk2U5xalg3uPy9ZxjhkKz2Qi9FJ8+E=
+github.com/roadrunner-server/boltdb/v2 v2.16.12 h1:5/HF4KU4nM5PV+TcWeQXjwLTlMxMAsxP+SaYLAB67Xk=
+github.com/roadrunner-server/boltdb/v2 v2.16.12/go.mod h1:HpISUKAPUjSeOQLkmie3d08xf6xRDN72YTw4W4+DumM=
+github.com/roadrunner-server/broadcast/v2 v2.13.3 h1:lSo3+j3a5HI93fNE0my0cKeWM0bfJM/CrrixniZ70Hw=
+github.com/roadrunner-server/broadcast/v2 v2.13.3/go.mod h1:1DgrUzoNMGp0ct9FyYaLFzd7moOFRXLumkdCOwaQwe0=
+github.com/roadrunner-server/config/v2 v2.15.2 h1:1AiHG428aN2d3iyTqGrpPU+KOvx070dAdYxYJ6lUu0U=
+github.com/roadrunner-server/config/v2 v2.15.2/go.mod h1:l1xSQepAHXVljKXtaSpe49D4R6Ha5esVCX3VHHG8z+Y=
+github.com/roadrunner-server/endure v1.4.4 h1:ypSuMJ1foXNe61bFzpAM6PevgFx7BBVoUSCQGwE7XTs=
+github.com/roadrunner-server/endure v1.4.4/go.mod h1:yJszg9MEabHYJfLnLB2pyWbEYBuhDnJhhXzbxJE/uQg=
github.com/roadrunner-server/errors v1.1.2/go.mod h1:jVSh32nFtRMzKItYUM9W2CTLLpXAM8HseL2lUENPYtU=
github.com/roadrunner-server/errors v1.2.0 h1:qBmNXt8Iex9QnYTjCkbJKsBZu2EtYkQCM06GUDcQBbI=
github.com/roadrunner-server/errors v1.2.0/go.mod h1:z0ECxZp/dDa5RahtMcy4mBIavVxiZ9vwE5kByl7kFtY=
-github.com/roadrunner-server/fileserver/v2 v2.13.12 h1:uaOfw6bh8g8j6bWbn02bGg8+zCC3djDijsbtGqn40Qc=
-github.com/roadrunner-server/fileserver/v2 v2.13.12/go.mod h1:CWHRxdpun0Uy//lOxR7fAwkHAkLaHfH8jRjMGUJz/9U=
+github.com/roadrunner-server/fileserver/v2 v2.13.13 h1:KxhU2Qp7Ij3sAX/x8wBeJ/+7rx11b2NF3l5SBIDD8+A=
+github.com/roadrunner-server/fileserver/v2 v2.13.13/go.mod h1:mxkMQGhd6jqrXFNOATNR4WHpub9Jkn2o6tQziBo8sJw=
github.com/roadrunner-server/goridge/v3 v3.4.5/go.mod h1:zGbUad2YyaaW9Vt9dqLBDcyrA45KlYoRh8jB7TUsStM=
-github.com/roadrunner-server/goridge/v3 v3.5.1 h1:qpsmaLSZLxS3kOQPhkYTbUGG4vX0mVcM1uW49s5cw4k=
-github.com/roadrunner-server/goridge/v3 v3.5.1/go.mod h1:qC5nRtwk4jtkTmAARv3iS/wmaXPP4Vk3FIAPsTcZ8jc=
-github.com/roadrunner-server/grpc/v2 v2.21.1 h1:HuuuafiPkqSngaPjxKYQqo0H80cf4PgG+HqY1lKeX7o=
-github.com/roadrunner-server/grpc/v2 v2.21.1/go.mod h1:h6IbyBmZf7dkCLlgBVAuGQL1TxMB9dfxM3Rux3uy2so=
-github.com/roadrunner-server/gzip/v2 v2.12.8 h1:IXG6pIKPM4/mgAWB3prJT63NsJyYQqSCBpuERd/gnVY=
-github.com/roadrunner-server/gzip/v2 v2.12.8/go.mod h1:BP3EkoN+NMdqWMRVpmgVqNXn5UoIGShbhlHfjU1jKlw=
-github.com/roadrunner-server/headers/v2 v2.12.9 h1:AUfWEEYNRnOuvfkG0KKqnWNWRldP3bkbO+aVR9xSlm0=
-github.com/roadrunner-server/headers/v2 v2.12.9/go.mod h1:hxe8l/ityF15yjBOFH80essBQ6Sp2N2oHWccYhQioB4=
-github.com/roadrunner-server/http/v2 v2.21.2 h1:/5afQtNrU285jK11QCbWpguFn7C0Pya+I7CV0yZDVag=
-github.com/roadrunner-server/http/v2 v2.21.2/go.mod h1:7dEj2mJ+9/nVkyJMxLIpukRoimxyoU0f8SCK+iax0b8=
-github.com/roadrunner-server/informer/v2 v2.12.2 h1:rgkdJFb4K6GR0XnKyXaSBMquXHP3aq9GrlXFwBJf0w8=
-github.com/roadrunner-server/informer/v2 v2.12.2/go.mod h1:3QLOK2uGwhz3fbDY/aBBTPhRuXN/c2dFTixiXUZglKY=
-github.com/roadrunner-server/jobs/v2 v2.17.2 h1:vbwdaThe93G1dudyBci39BNPF6BhF7nco8ThfmV7cMY=
-github.com/roadrunner-server/jobs/v2 v2.17.2/go.mod h1:tdl1X24I0YrKh0N5+xaKaHYHdMdT6UR4XIRdKttasuQ=
-github.com/roadrunner-server/kafka/v2 v2.1.3 h1:gigE6Vdi7kgOU1xFceX9aDZM3yM7mZubIwNfHUwOWEA=
-github.com/roadrunner-server/kafka/v2 v2.1.3/go.mod h1:3eUl16MpomF3zmY63v8JxcCRVga6w8EGkyDUY56GWqM=
-github.com/roadrunner-server/kv/v2 v2.13.2 h1:KHdEP/uQ7clb8OQ6biBSzVgRWwmVJ9onOoJtEbmSKGU=
-github.com/roadrunner-server/kv/v2 v2.13.2/go.mod h1:JBaeEH0eCU+hZpQRea1JAYaYWrXlXLHxL2SEMFgDW1E=
-github.com/roadrunner-server/logger/v2 v2.14.2 h1:zLTljtUuUX3jlq+hUWStfOFnDfqjKkIEkxmpkTIajxA=
-github.com/roadrunner-server/logger/v2 v2.14.2/go.mod h1:4mPqkFCBs9g0WyRmGKrnfEGdUNwBwubYSdgtskAfJgs=
-github.com/roadrunner-server/memcached/v2 v2.12.10 h1:q/yJdsOW1TgyDEfT7bFDQ0K+XEjgQLpYVRNLlqnZ0KA=
-github.com/roadrunner-server/memcached/v2 v2.12.10/go.mod h1:pqwSoLCqBPFw5g+UEU5mpRqT8M8ZB08qh6hAS3RITTk=
-github.com/roadrunner-server/memory/v2 v2.16.1 h1:Jn+4fmkZyaD6yuHPVmQqutM5++hYmtcWjqkr/P0Xv0s=
-github.com/roadrunner-server/memory/v2 v2.16.1/go.mod h1:+tpAqF9Zv9Xq8Icc+9Boe2ZUlXAmWvu+JMJSbW6wf/4=
-github.com/roadrunner-server/metrics/v2 v2.13.13 h1:7p42E1lg97i5FzDf/T9Q+fmlWaUReKLVH/7VYnyeX2w=
-github.com/roadrunner-server/metrics/v2 v2.13.13/go.mod h1:xTa4uMaJgAG98ORdfReF+FuRz3zaNjC1IHKbfd5exHY=
-github.com/roadrunner-server/nats/v2 v2.16.9 h1:ICJ6tORAFH59A6l7bFQ4kSue+Qti19D1omFXK+4ta+g=
-github.com/roadrunner-server/nats/v2 v2.16.9/go.mod h1:JLpox+zFhtVbXHC5h92FW3nFKXnEFOryJkEOu4eohdI=
-github.com/roadrunner-server/otel/v2 v2.4.1 h1:Jqk/vwqFNJzZ6I9JxS7+Z/JTjDC1fUE15cMOIf6CI3c=
-github.com/roadrunner-server/otel/v2 v2.4.1/go.mod h1:+LmZiSAr01C8WVw68Iw7osYbt7ID0nzMMv7cy+BaYHI=
-github.com/roadrunner-server/prometheus/v2 v2.13.12 h1:UdqbRKBHecc8b2azu3PwCpT8B8NLZqE0ZSo3O2UGpkU=
-github.com/roadrunner-server/prometheus/v2 v2.13.12/go.mod h1:HRgFQLF2ReyzPLkTSkM6PhtKGWCOsWkDMOPgpHXDryk=
-github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.3 h1:BwXA4nz/0ZQHfwcWNmZQzjbPKnsRmwUu/2R65T05p1k=
-github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.3/go.mod h1:rrvLj795tmp5X19chx1y3cShJBge85fXSu7DCfSWPIU=
-github.com/roadrunner-server/redis/v2 v2.15.10 h1:jm17MLXdW40woV1QtZeLI2olCd9+uVzeOohu8YU1CyA=
-github.com/roadrunner-server/redis/v2 v2.15.10/go.mod h1:wUS+NYp55agLtVSOjFBlCgZWWutxIrUvagFxBskL+LM=
-github.com/roadrunner-server/reload/v2 v2.13.2 h1:IzBPeru33DVAM7IQgrWPfeSO7yaCutc4YOpPQ2f1yl8=
-github.com/roadrunner-server/reload/v2 v2.13.2/go.mod h1:qAByGhHIxeyx69wtIGVFuZVprTeZT8AQV8LqlZVFG7g=
-github.com/roadrunner-server/resetter/v2 v2.12.2 h1:Y8MSk1rUMitYff3G76Squ0v1CPjbbdwCo3ck4IPE1/s=
-github.com/roadrunner-server/resetter/v2 v2.12.2/go.mod h1:GibBa486uE9EbLBQvCXveZkpXeiXVNX21cmyo6EosLs=
-github.com/roadrunner-server/rpc/v2 v2.14.2 h1:f3Z7MMqI26Up0CTQ7BF8pwJsiAMPJAy8wc8oFJZ6Od4=
-github.com/roadrunner-server/rpc/v2 v2.14.2/go.mod h1:MFUi/1Y46w/XfK4yNO8JF1Ygsw/gf0XgNm6TAOGToQE=
-github.com/roadrunner-server/sdk/v2 v2.18.3 h1:2nywVM5XexByq3QEdZE3VYrwoqGcXTfOSOPydwYBHXM=
-github.com/roadrunner-server/sdk/v2 v2.18.3/go.mod h1:5M5NkYpP/g76CPBHJYO9s/tSw/N8Xg7CnPIriUYzx9c=
-github.com/roadrunner-server/send/v2 v2.12.9 h1:8R/9QSwwErP+RAI8xWHakyZoGJYOOMjWNNzS0qIHFPw=
-github.com/roadrunner-server/send/v2 v2.12.9/go.mod h1:oYGLJN2KRvKlnZA1lbudn2JyGG0jxY29PYBvIgv9xjg=
-github.com/roadrunner-server/server/v2 v2.15.1 h1:yRuUGg0vZwjlMUFq8QI/r/fdt4l9jt8xt/mjzHKRIRY=
-github.com/roadrunner-server/server/v2 v2.15.1/go.mod h1:Jg+sXOawWv4L2YnutuKJujcU0OXHY+6F7Y5mpGmKn3Q=
-github.com/roadrunner-server/service/v2 v2.15.6 h1:keOXiLNov9Dz0Q1pCGINJblHAwTxm1PnPoEeXGHhChw=
-github.com/roadrunner-server/service/v2 v2.15.6/go.mod h1:cKitImTBzRWVYBPms6TupRpTco70EDjmvOevn2dXWWg=
-github.com/roadrunner-server/sqs/v2 v2.18.1 h1:XSt7In7AR69z7w1MVwixyFa1DXHLKwXa2xj6KIC+J20=
-github.com/roadrunner-server/sqs/v2 v2.18.1/go.mod h1:FZvck66HNMt2+74RRct6C9zxtmvyesx5X9nzG76rk50=
-github.com/roadrunner-server/static/v2 v2.13.10 h1:qlPRJ4bGV3p7LwYwONvPdWFwGtlnOhmbFw5GdteLi5Y=
-github.com/roadrunner-server/static/v2 v2.13.10/go.mod h1:Pe8dxwUvghvOYYGOd4AnXcNC7v9ovQFl30FAzvuAh5M=
-github.com/roadrunner-server/status/v2 v2.14.2 h1:ejp1KN6RXorMMMkpAIVhWo/xGj1WPTcTB4Wbl9m5Ed4=
-github.com/roadrunner-server/status/v2 v2.14.2/go.mod h1:ZoAsBIribf6VNIcux0EAe37nyuW6+GQb+vD+11ZvSK8=
-github.com/roadrunner-server/tcp/v2 v2.14.1 h1:KQnH2YbQhzaWRod4/h4x8yIpY/Dujf1WfUCmOwvXHDQ=
-github.com/roadrunner-server/tcp/v2 v2.14.1/go.mod h1:Q3tTVqs51N7pDXXJFe6kXbIK+hM/YW7sVhzPma92854=
+github.com/roadrunner-server/goridge/v3 v3.5.2 h1:I0GK/LQmlTOs8fd3F4grq5nKQBArLQrON7xla+84xLE=
+github.com/roadrunner-server/goridge/v3 v3.5.2/go.mod h1:ju0NNhhw9G1M8aCNsC0T0/2+aQ9yEHztrWIMlzv4LpE=
+github.com/roadrunner-server/grpc/v2 v2.21.2 h1:ZlI0cjMm3D6xirob5BKMmvA0DVd2nYtCv490fh7BnTM=
+github.com/roadrunner-server/grpc/v2 v2.21.2/go.mod h1:R/+cqkg26NiI8YAqs100eEHmMWJPvR1ZBLgniOs04WI=
+github.com/roadrunner-server/gzip/v2 v2.12.9 h1:+LjEAWTBRsc2vAp1sOKK6+RXxQwT20gFvsx5m8kc9hM=
+github.com/roadrunner-server/gzip/v2 v2.12.9/go.mod h1:OHXf/ejoSJu0LJGFBaPzof/sCESeft+RgsljwlW/Zn4=
+github.com/roadrunner-server/headers/v2 v2.12.10 h1:cdG9AxAlpTt/7/kLRdU42H3hiUAm0wAm5jhzZBo4aok=
+github.com/roadrunner-server/headers/v2 v2.12.10/go.mod h1:5onbeoQoM0d1cXFklTIBbqNKWkGCXibSuVxZJ0BgMPs=
+github.com/roadrunner-server/http/v2 v2.21.3 h1:bWWmX0F5zGkUou7MrpK4ylzbitENUqnh0QoJc8L6b5U=
+github.com/roadrunner-server/http/v2 v2.21.3/go.mod h1:TiYofK4abF6viKxgK5ZO+YwSJOOi0cgjX3wgfzHMwRo=
+github.com/roadrunner-server/informer/v2 v2.12.3 h1:dZsV9E7wf3A8tUjjGTmFjZ9vFjr6+dImBW6E7qDAK7I=
+github.com/roadrunner-server/informer/v2 v2.12.3/go.mod h1:BRlNeoHeRkRBr581aNqcQuh7OZXYLIThkwzVMY7WiPc=
+github.com/roadrunner-server/jobs/v2 v2.17.3 h1:0xirAkrY6b4cIO32KUvymEZnoH5EBUTtsXKqYtmcyes=
+github.com/roadrunner-server/jobs/v2 v2.17.3/go.mod h1:OU+NVrPPypnJWxcO6X3kIXwyrJaxRhFIKWoH73ZAu0E=
+github.com/roadrunner-server/kafka/v2 v2.1.4 h1:lMirZ1Qt8dHhVm/NMwaqPMG0aR24KtcRPu8EpwmBOVA=
+github.com/roadrunner-server/kafka/v2 v2.1.4/go.mod h1:KvcMnkE97MjARhpNRIVCGG/K8DtykGIAKjooTtIO7KI=
+github.com/roadrunner-server/kv/v2 v2.13.3 h1:d9TruFCFdfXtgYnkPTQ/fU+cn4jR9n6P1QGpCbqjXpE=
+github.com/roadrunner-server/kv/v2 v2.13.3/go.mod h1:PjhPfwwQAzLex9OCYmE2sxdPdvsCSdtemUJESbB+GK8=
+github.com/roadrunner-server/logger/v2 v2.14.3 h1:B/QTLPhNS0nnfxt8jtgyeU9GjDMDG7EosP7Z9D/N0oM=
+github.com/roadrunner-server/logger/v2 v2.14.3/go.mod h1:oQGcO+F6Du4enD7c+e4lRNNAHW1Ztl+WUgmhtpLnRLQ=
+github.com/roadrunner-server/memcached/v2 v2.12.11 h1:cArg37vIHO59WwoQT42Lb49sUrJVtdvRY1AoNF1RmgM=
+github.com/roadrunner-server/memcached/v2 v2.12.11/go.mod h1:K16wfkGAfS93OpWMz2S25ZZN8o/l9u0PLYn8yBYcSGc=
+github.com/roadrunner-server/memory/v2 v2.16.2 h1:aPqDiMo4c9awSlN3Gkt4XJI5kLND/Is/FTDu1DvYXGM=
+github.com/roadrunner-server/memory/v2 v2.16.2/go.mod h1:peBax8M12KU0RsBCYZXSclxdKgGGZ4zl9yM839pMKiE=
+github.com/roadrunner-server/metrics/v2 v2.13.14 h1:bUAq1zvZ3DRxsKOZDHlJpAQRV4CS8V8Oump8Z2LiE/k=
+github.com/roadrunner-server/metrics/v2 v2.13.14/go.mod h1:1A6yY6Aam2vkaK/+25IhLwLh1XVOBmaFn2149DOD8xE=
+github.com/roadrunner-server/nats/v2 v2.16.10 h1:hoD68bfbMUTLVcD3xh3aojzXwqf9doV04sYUx1gGqp0=
+github.com/roadrunner-server/nats/v2 v2.16.10/go.mod h1:ratleF5u23AHk9ddod+SsfWY2UwT7DBeSdnTtysLbJ4=
+github.com/roadrunner-server/otel/v2 v2.4.2 h1:jWoakRw/+JqdhQk7+hOS4qvy7Cy1QPWG/nC5hv8pTAk=
+github.com/roadrunner-server/otel/v2 v2.4.2/go.mod h1:FpmXL48mkhHqojdG3sfU0yZo0Oa0WuYHPt9e2Cg+snU=
+github.com/roadrunner-server/prometheus/v2 v2.13.13 h1:CcWui2Ov1wc3NgRSNNzgNeeaN2hTkKz2seXqAMig1MQ=
+github.com/roadrunner-server/prometheus/v2 v2.13.13/go.mod h1:kOaPgtGRcXr1JcjP3fvdFkyOGaI5s5xpGeEOce0eAjs=
+github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.4 h1:9DkyMZd3/VZaLFP8WqcsUayTOmuhcWDpsZCUayaKiaE=
+github.com/roadrunner-server/proxy_ip_parser/v2 v2.4.4/go.mod h1:vlegJZ+NS+Z4IxuMZHmIr1R294JgfcdIWKgwrgrQlRI=
+github.com/roadrunner-server/redis/v2 v2.15.11 h1:j+O9oShaQEMYKLdIhE5cbILBRRRAHqt/2YNijgNCktA=
+github.com/roadrunner-server/redis/v2 v2.15.11/go.mod h1:Yr5Hfn+KL1g3gV781rXlTBVUWMg7kumHwBm37XS5JHM=
+github.com/roadrunner-server/reload/v2 v2.13.3 h1:fi16kLfqzRvTaAVs5OohD3MlcdQDDK0afLXSYCeHmws=
+github.com/roadrunner-server/reload/v2 v2.13.3/go.mod h1:u95zxdSSxZ+hYh8qYMjp1GcMjOlGNpx4qn/wamzKW7E=
+github.com/roadrunner-server/resetter/v2 v2.12.3 h1:wGC+mbL/z+imhfSOqAmdfBqPyKddLZT7kyX7mxYX5+0=
+github.com/roadrunner-server/resetter/v2 v2.12.3/go.mod h1:gkYXqNuxoKaNIJNo3MVmKxUmWPXurjJ7j0Z6J+opi5c=
+github.com/roadrunner-server/rpc/v2 v2.14.3 h1:12gqLSx8Hx/8NT8QdkZ9ANr4NMmK/v/zZFuyjiwArgo=
+github.com/roadrunner-server/rpc/v2 v2.14.3/go.mod h1:zvQzIU+ta2eYaLEaBC/oFmDO1gQUEWE/YvsDs+SKu8o=
+github.com/roadrunner-server/sdk/v2 v2.18.4 h1:qOI8uCE5k2bTorq132h8vCsUkQOH9GrfQcYgN1J5nYM=
+github.com/roadrunner-server/sdk/v2 v2.18.4/go.mod h1:tt0g8PEzbaAD54tzHp2pvpqreH4UDYEGPKvAMNZKEPc=
+github.com/roadrunner-server/send/v2 v2.12.10 h1:FlnCKl38fPsV3XGOTdVckYlRYJAjeZOeAjfw0fLSTwY=
+github.com/roadrunner-server/send/v2 v2.12.10/go.mod h1:9j05w/xkU2WAsCZoNO7hlDBzlKu9HAgcakN59CvM5RE=
+github.com/roadrunner-server/server/v2 v2.15.2 h1:7s3BoUVM1rGN35SBDz4UKt+EXEVxwcHGhNPC4/qyPFE=
+github.com/roadrunner-server/server/v2 v2.15.2/go.mod h1:Jen5WCAr7Jtt6Phkhc8Xs34lrvQQLm1AKbkj6XmvzLY=
+github.com/roadrunner-server/service/v2 v2.16.1 h1:0rLPLDW7YzCzph7rcXEeab9xeGt9vCFyc+UMSOxh/9g=
+github.com/roadrunner-server/service/v2 v2.16.1/go.mod h1:ofdUDnoy/BGU+wbe9sznsXxANx1fzU25C4dHRZV5YYo=
+github.com/roadrunner-server/sqs/v2 v2.18.2 h1:ryrVAs4EiFxy0pgJ2y6kMTuSoYaCuzvxYLl05XzwmH0=
+github.com/roadrunner-server/sqs/v2 v2.18.2/go.mod h1:RRho1Kf+AaYTBDbcGqurSoeH2yeVNsYcXUDo87WA0ho=
+github.com/roadrunner-server/static/v2 v2.13.11 h1:nMPGdubhiYGwOExMi9CyjHDsYU/uX+bt/q1L84INFXE=
+github.com/roadrunner-server/static/v2 v2.13.11/go.mod h1:VZv3ukWXAiBTtWLqxpUJmz70cvzoI+izwS21dXuhzTU=
+github.com/roadrunner-server/status/v2 v2.14.3 h1:qfcRfoeQ675D7V/U3iQjP6hvHjmoYkcn+bLdTjcTGtI=
+github.com/roadrunner-server/status/v2 v2.14.3/go.mod h1:Qo5tRArMGS4O1VxhwJlvckv/QKigNA2q2lUY5dEl+Qk=
+github.com/roadrunner-server/tcp/v2 v2.14.2 h1:/ZDi4jSQCqjZR0yVZrDKKGwfoaPZDcuK/vJCk6UAWc4=
+github.com/roadrunner-server/tcp/v2 v2.14.2/go.mod h1:1Y82reR09Qnf20NubqehDWccEgcIC2J30eAWhOPjJTk=
github.com/roadrunner-server/tcplisten v1.2.0 h1:nsiXEEb0zP7vjAsCWNHKpM0HdwFK/KlafFF/2gsTJlg=
github.com/roadrunner-server/tcplisten v1.2.0/go.mod h1:NhumKvt7dbIKVNZnqR1fA4ET1D8ngIKsg0TxnuJTL6A=
-github.com/roadrunner-server/websockets/v2 v2.15.1 h1:Ri4iUlCZdJ91z/gwCAzeHEEvZs7ZSeBab9ISV+sW8Mc=
-github.com/roadrunner-server/websockets/v2 v2.15.1/go.mod h1:L7kVfCQ0dSpXHtjSFYFBh6ecCh8+rsLeP4egyyR3fBQ=
+github.com/roadrunner-server/websockets/v2 v2.15.2 h1:shV4NS+3ltZ86RR1gfxwLW/XUARJJJdK8+h71Gm0UFM=
+github.com/roadrunner-server/websockets/v2 v2.15.2/go.mod h1:Jpl4UnzeT94WzNhUcRox5lJC9VXPrIpi5pzpvKFaI9w=
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
@@ -842,8 +843,9 @@ golang.org/x/crypto v0.0.0-20210920023735-84f357641f63/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 h1:GIAS/yBem/gq2MUqgNIzUHW7cJMmx3TGZOrnyYaNQ6c=
+golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1044,8 +1046,9 @@ golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 h1:fqTvyMIIj+HRzMmnzr9NtpHP6uVpvB5fkHcgPDC4nu8=
+golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1201,8 +1204,8 @@ google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEc
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20220630174209-ad1d48641aa7/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc=
-google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 h1:hw4Y42zL1VyVKxPgRHHh191fpVBGV8sNVmcow5Z8VXY=
-google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1 h1:C2UVWqrgLYKrT5nh5oU6hLRm1AeEklCK5eloQA1NtFY=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
diff --git a/schemas/config/2.0.schema.json b/schemas/config/2.0.schema.json
index 14f20620..d3a794cf 100644
--- a/schemas/config/2.0.schema.json
+++ b/schemas/config/2.0.schema.json
@@ -350,6 +350,11 @@
"minimum": 0,
"default": 0
},
+ "access_logs": {
+ "description": "HTTP access logs",
+ "type": "boolean",
+ "default": false
+ },
"middleware": {
"description": "Middleware for the http plugin, order is important",
"type": "array",
@@ -361,7 +366,6 @@
"static",
"websockets",
"sendfile",
- "new_relic",
"http_metrics",
"cache",
"proxy_ip_parser",
@@ -402,8 +406,210 @@
"description": "Default route basepath for every additional APIs to avoid conflicts with existing routes",
"type": "string",
"default": null
+ },
+ "prometheus": {
+ "type": "object",
+ "description": "Prometheus exposed metrics",
+ "properties": {
+ "basepath": {
+ "type": "string",
+ "default": null
+ }
+ }
+ },
+ "souin": {
+ "type": "object",
+ "description": "Souin listing keys and cache management",
+ "properties": {
+ "basepath": {
+ "type": "string",
+ "default": null
+ }
+ }
+ }
+ }
+ },
+ "cache_keys": {
+ "type": "object",
+ "patternProperties": {
+ "^[a-zA-Z0-9._-]+$": {
+ "description": "cache keys configuration",
+ "type": "object",
+ "properties": {
+ "disable_body": {
+ "type": "boolean",
+ "default": false
+ },
+ "disable_host": {
+ "type": "boolean",
+ "default": false
+ },
+ "disable_method": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ }
+ },
+ "cdn": {
+ "description": "If Souin is set after a CDN fill these information",
+ "type": "object",
+ "properties": {
+ "api_key": {
+ "type": "string",
+ "description": "Your provider API key if mandatory"
+ },
+ "provider": {
+ "description": "The provider placed before Souin (e.g. fastly, cloudflare, akamai, varnish)",
+ "type": "string",
+ "enum": [
+ "fastly",
+ "cloudflare",
+ "akamai",
+ "varnish"
+ ]
+ },
+ "strategy": {
+ "description": "The strategy to purge the CDN cache based on tags (e.g. soft, hard)",
+ "type": "string",
+ "enum": [
+ "soft",
+ "hard"
+ ]
+ },
+ "dynamic": {
+ "description": "If true, you'll be able to add custom keys than the ones defined under the surrogate_keys key",
+ "type": "boolean",
+ "default": false
}
}
+ },
+ "default_cache": {
+ "type": "object",
+ "properties": {
+ "allowed_http_verbs": {
+ "type": "array",
+ "default": [
+ "GET",
+ "POST"
+ ]
+ },
+ "cache_name": {
+ "description": "Override the cache name to use in the Cache-Status header",
+ "type": "string",
+ "default": "roadrunner"
+ },
+ "distributed": {
+ "type": "boolean",
+ "default": false,
+ "description": "Use Olric or Etcd distributed storage"
+ },
+ "headers": {
+ "description": "Default headers concatenated in stored keys",
+ "type": "array",
+ "default": null
+ },
+ "key": {
+ "type": "object",
+ "properties": {
+ "disable_body": {
+ "type": "boolean",
+ "default": false
+ },
+ "disable_host": {
+ "type": "boolean",
+ "default": false
+ },
+ "disable_method": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "etcd": {
+ "description": "If distributed is set to true, you'll have to define either the etcd or olric section",
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "type": "object",
+ "description": "Configure directly the Etcd client",
+ "properties": {
+ "endpoints": {
+ "description": "Define multiple endpoints",
+ "type": "array",
+ "default": null
+ }
+ }
+ }
+ }
+ },
+ "olric": {
+ "type": "object",
+ "description": "If distributed is set to true, you'll have to define either the etcd or olric section",
+ "properties": {
+ "url": {
+ "description": "Olric server",
+ "type": "string",
+ "default": "http://127.0.0.1:3320"
+ }
+ }
+ },
+ "regex": {
+ "type": "object",
+ "description": "Regex to exclude from cache",
+ "properties": {
+ "exclude": {
+ "type": "string",
+ "default": null
+ }
+ }
+ },
+ "stale": {
+ "type": "string",
+ "description": "Stale duration",
+ "default": "1000s"
+ },
+ "timeout": {
+ "description": "Timeout configuration",
+ "type": "object",
+ "properties": {
+ "backend": {
+ "description": "Backend timeout before returning an HTTP unavailable response",
+ "type": "string",
+ "default": "10s"
+ },
+ "cache": {
+ "description": "Cache provider (badger, etcd, nutsdb, olric, depending the configuration you set) timeout before returning a miss",
+ "type": "string",
+ "default": "20ms"
+ }
+ }
+ },
+ "ttl": {
+ "description": "Default TTL",
+ "type": "string",
+ "default": "1000s"
+ },
+ "default_cache_control": {
+ "description": "Set default value for Cache-Control response header if not set by upstream",
+ "type": "string",
+ "default": "no-store"
+ }
+ }
+ },
+ "log_level": {
+ "type": "string",
+ "description": "Logs verbosity",
+ "default": "INFO",
+ "enum": [
+ "DEBUG",
+ "INFO",
+ "WARN",
+ "DPANIC",
+ "PANIC",
+ "FATAL"
+ ]
}
}
},
@@ -1028,6 +1234,9 @@
"boltdb": {
"$ref": "#/definitions/BoltDB_J"
},
+ "kafka": {
+ "$ref": "#/definitions/KAFKA_J"
+ },
"amqp": {
"description": "AMQP jobs driver",
"type": "object",
@@ -1131,7 +1340,8 @@
"beanstalk",
"boltdb",
"memory",
- "nats"
+ "nats",
+ "kafka"
]
}
},
@@ -1204,6 +1414,141 @@
"type": "integer",
"default": 10
},
+ "topic": {
+ "description": "Topic name: https://kafka.apache.org/intro#intro_concepts_and_terms",
+ "type": "string",
+ "default": null
+ },
+ "partitions_offsets": {
+ "description": "Offsets for the partitions",
+ "type": "object",
+ "properties": {
+ "itemType": {
+ "$ref": "#/definitions/HashMapInt"
+ },
+ "itemCount": {
+ "$ref": "#/definitions/Hashmap"
+ }
+ },
+ "default": null
+ },
+ "group_id": {
+ "type": "string",
+ "description": "Kafka group id",
+ "default": "default"
+ },
+ "max_open_requests": {
+ "description": "Max number of outstanding requests a connection is allowed to have before sending on it blocks",
+ "type": "integer",
+ "default": 5
+ },
+ "client_id": {
+ "description": "A user provided string sent with every request to the brokers for logging, debugging, and auditing purposes.",
+ "type": "string",
+ "default": "roadrunner"
+ },
+ "kafka_version": {
+ "description": "Kafka version.",
+ "type": "string",
+ "default": "1.0.0.0"
+ },
+ "create_topics": {
+ "description": "Create topics configuration. If topic doesn't exist, RR may create a topic with provided configuration",
+ "type": "object",
+ "properties": {
+ "replication_factor": {
+ "description": "Replication factor for the data stored across several Kafka brokers.",
+ "type": "integer",
+ "default": 1
+ },
+ "replica_assignment": {
+ "type": "object",
+ "description": "Partition replica assigment.",
+ "default": null
+ },
+ "config_entries": {
+ "type": "object",
+ "description": "Topic creation options. Note: 'compression:type' will be replaced with 'compression.type', so ':' -> '.'. All options should use ':' as the delimiter.",
+ "default": null
+ }
+ }
+ },
+ "producer_options": {
+ "description": "Kafka producer options",
+ "type": "object",
+ "properties": {
+ "max_message_bytes": {
+ "type": "integer",
+ "default": 1000000
+ },
+ "required_acks": {
+ "description": "The level of acknowledgement reliability needed from the broker.",
+ "type": "integer",
+ "default": -1
+ },
+ "timeout": {
+ "description": "The maximum duration in seconds the broker will wait the receipt of the number of required_acks.",
+ "default": 10,
+ "type": "integer"
+ },
+ "compression_codec": {
+ "type": "string",
+ "default": "none",
+ "enum": [
+ "none",
+ "gzip",
+ "snappy",
+ "lz4",
+ "zstd"
+ ]
+ },
+ "compression_level": {
+ "description": "The level of compression to use on messages.",
+ "type": "integer",
+ "default": null
+ },
+ "idempotent": {
+ "description": "If enabled, the producer will ensure that exactly one copy of each message is written.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "consumer_options": {
+ "description": "Kafka consumer options",
+ "type": "object",
+ "properties": {
+ "min_fetch_message_size": {
+ "description": "The minimum number of message bytes to fetch in a request",
+ "type": "integer",
+ "default": 1
+ },
+ "max_fetch_message_size": {
+ "type": "integer",
+ "description": "The default number of message bytes to fetch from the broker in each request",
+ "default": 1000000
+ },
+ "session_timeout": {
+ "type": "integer",
+ "description": "The timeout in seconds used to detect consumer failures when using Kafka's group management facility.",
+ "default": 10
+ },
+ "heartbeat_interval": {
+ "type": "integer",
+ "description": "The expected time in seconds between heartbeats to the consumer coordinator when using Kafka's group management facilities",
+ "default": 3
+ }
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "priority": {
+ "description": "Pipeline priority. If the job pushed to the pipeline has priority set to 0, it will inherit the pipeline's priority",
+ "type": "integer",
+ "default": 10
+ },
"prefetch": {
"description": "Number of job to prefetch from the driver",
"type": "integer",
@@ -1911,6 +2256,12 @@
},
"additionalProperties": false
},
+ "HashMapInt": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer"
+ }
+ },
"NATS_J": {
"description": "NATS jobs driver",
"type": "object",
@@ -1922,6 +2273,16 @@
}
}
},
+ "KAFKA_J": {
+ "description": "Kafka jobs driver",
+ "type": "object",
+ "properties": {
+ "addr": {
+ "description": "Kafka server addresses",
+ "type": "array"
+ }
+ }
+ },
"BoltDB_J": {
"description": "Boltdb jobs driver",
"type": "object",