diff options
-rw-r--r-- | .rr.yaml | 44 | ||||
-rw-r--r-- | CHANGELOG.md | 76 | ||||
-rw-r--r-- | schemas/config/2.0.schema.json | 75 |
3 files changed, 178 insertions, 17 deletions
@@ -1826,6 +1826,50 @@ fileserver: max_age: 10 bytes_range: true +# Centrifugo server plugin +# +# Docs: https://centrifugal.dev/ +centrifuge: + # Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy) + # + # Optional, default: tcp://127.0.0.1:30000 + proxy_address: "tcp://127.0.0.1:30000" + + # gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api) + # + # Optional, default: tcp://127.0.0.1:30000. Centrifugo: `grpc_api` should be set to true and `grpc_port` should be the same as in the RR's config. + grpc_api_address: tcp://127.0.0.1:30000 + + # Use gRPC gzip compressor + # + # Optional, default: false + use_compressor: true + + # Your application version + # + # Optional, default: v1.0.0 + version: "v1.0.0" + + # Your application name + # + # Optional, default: roadrunner + name: "roadrunner" + + # TLS configuration + # + # Optional, default: null + tls: + # TLS key + # + # Required + key: /path/to/key.pem + + # TLS certificate + # + # Required + cert: /path/to/cert.pem + + ## RoadRunner internal container configuration (docs: https://github.com/spiral/endure). endure: # How long to wait for stopping. diff --git a/CHANGELOG.md b/CHANGELOG.md index 977bd9c6..84251188 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,81 @@ # CHANGELOG +## v2.12.0-beta.1 (03.11.2022) + +# ⚠️ `websocket` and `broadcast` plugins was replaced by the new `centrifuge` plugin. + +# ⚠️ All plugins, `sdk` and `api` updated to `v3`. There are no breaking changes, we moved all Go code from the `api` to `sdk`. + +## 👀 New: + +- ✏ **Centrifugo plugin**: New `centrifugo` plugin. Which is going to replace existing `broadcast` + `websockets` plugins. [FR](https://github.com/roadrunner-server/roadrunner/issues/1134). +**Docs**: [PHP-lib](https://github.com/roadrunner-php/centrifugo) + +RoadRunner config: + +```yaml +version: "2.7" + +centrifuge: + # Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy) + # + # Optional, default: tcp://127.0.0.1:30000 + proxy_address: "tcp://127.0.0.1:30000" + + # gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api) + # + # Optional, default: tcp://127.0.0.1:30000. Centrifugo: `grpc_api` should be set to true and `grpc_port` should be the same as in the RR's config. + grpc_api_address: tcp://127.0.0.1:30000 + + # Use gRPC gzip compressor + # + # Optional, default: false + use_compressor: true + + # Your application version + # + # Optional, default: v1.0.0 + version: "v1.0.0" + + # Your application name + # + # Optional, default: roadrunner + name: "roadrunner" + + # TLS configuration + # + # Optional, default: null + tls: + # TLS key + # + # Required + key: /path/to/key.pem + + # TLS certificate + # + # Required + cert: /path/to/cert.pem + + + # Workers pool settings. link: https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml#L812 + # + # Optional, default: null (see default values) + pool: {} +``` + +- ✏ **App logger plugin**: Application logger plugin, [FR](https://github.com/roadrunner-server/roadrunner/issues/1227) (thanks @wolfy-j) +**Docs**: [PHP-lib](https://github.com/roadrunner-php/app-logger) + + +## 🩹 Fixes: + +- 🐛 **Headers middleware**: Header size is too small, [BUG](https://github.com/roadrunner-server/roadrunner/issues/1336) (thanks @masterjus) +- 🐛 **gRPC plugin**: Protobuf compiler plugin segfaults on import statements, [BUG](https://github.com/roadrunner-server/roadrunner/issues/1337) (thanks @phroggyy) +- 🐛 **Service plugin**: Get services list via RPC, [BUG](https://github.com/roadrunner-server/roadrunner/issues/1339) (thanks @butschster) +- 🐛 **gRPC plugin**: Remote `protoc-gen-php-grpc` plugin error, [BUG](https://github.com/roadrunner-server/roadrunner/issues/1341) (thanks @rapita) +- 🐛 **HTTP plugin**: Fail to upload files when RR's permissions are different from worker's, [BUG](https://github.com/roadrunner-server/roadrunner/issues/1314) (thanks @egonbraun) + + ## v2.11.4 (06.10.2022) ## 👀 New: diff --git a/schemas/config/2.0.schema.json b/schemas/config/2.0.schema.json index 354be309..05d1add0 100644 --- a/schemas/config/2.0.schema.json +++ b/schemas/config/2.0.schema.json @@ -14,6 +14,63 @@ "2.7" ] }, + "centrifuge": { + "description": "Centrifugo server plugin. Docs: https://centrifugal.dev/", + "type": "object", + "properties": { + "proxy_address": { + "description": "Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy)", + "type": "string", + "default": "tcp://127.0.0.1:30000" + }, + "grpc_api_address": { + "description": "gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api)", + "type": "string", + "default": "tcp://127.0.0.1:30000" + }, + "use_compressor": { + "description": "Use gRPC gzip compressor", + "type": "boolean", + "default": false + }, + "version": { + "description": "Your application version", + "type": "string", + "default": "v1.0.0" + }, + "name": { + "description": "Your application name", + "type": "string", + "default": "roadrunner" + }, + "pool": { + "description": "Workers pool settings", + "$ref": "#/definitions/WorkersPool" + }, + "tls": { + "description": "TLS settings", + "type": "object", + "properties": { + "cert": { + "description": "Path to the cert file", + "type": "string", + "minLength": 1, + "examples": [ + "/ssl/server.crt" + ] + }, + "key": { + "description": "Path to the cert key file", + "type": "string", + "minLength": 1, + "examples": [ + "/ssl/server.key" + ] + } + } + } + } + }, "rpc": { "type": "object", "properties": { @@ -336,7 +393,7 @@ "require_and_verify_client_cert" ] }, - "server_name" :{ + "server_name": { "description": "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.", "type": "string", "default": null @@ -689,22 +746,6 @@ } } }, - "new_relic": { - "description": "New Relic middleware", - "type": "object", - "properties": { - "app_name": { - "type": "string", - "description": "Application name. NEW_RELIC_APP_NAME env variable should be set if the app_name key is empty.", - "default": null - }, - "licence_key": { - "type": "string", - "description": "Licence key. NEW_RELIC_LICENSE_KEY env variable should be set if the license_key key is empty.", - "default": null - } - } - }, "uploads": { "type": "object", "properties": { |