gritz 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +7 -2
- data/lib/gritz/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '09e7e25aeb9a99fe305883a59f2b51a049177b5286517716e1eb01b3b4a0942b'
|
|
4
|
+
data.tar.gz: f04c67276a376ed48ac9e454989f1a38311e10b0a45726ef536bcf8d4df6e0f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e712517a7584ee97a6125927f113ba6d67f23ca835b713a31661cd439dea37d67db7759b28b74e7cca4f7e48b588648dc23729cf82439e21f9936b0a4e49e67
|
|
7
|
+
data.tar.gz: 726051002fb7e6695537346ca55d9c5701c7f77776aee638a38fffe7afa85f508c54935867ca4413758e99998a4b4ed7a9f76e611f594e89948148ed5f699cf4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
- Include gritz-core and gritz-native 0.6.0 with shared adapter contracts and transport selection.
|
|
6
|
+
|
|
7
|
+
## 0.5.0
|
|
8
|
+
|
|
9
|
+
- Include Gruf migration support and optional gRPC Reflection through gritz-core and gritz-native 0.5.0.
|
|
10
|
+
|
|
3
11
|
## 0.4.0
|
|
4
12
|
|
|
5
13
|
- Add fork-safe clients for all four RPC forms, with deadline and request-header propagation and client middleware.
|
data/README.md
CHANGED
|
@@ -11,9 +11,10 @@ Requires CRuby 3.3 or later and grpc 1.83 or later. Linux and macOS are tested.
|
|
|
11
11
|
| `gritz` | [gritzrpc/gritz](https://github.com/gritzrpc/gritz) | Default combination and executable |
|
|
12
12
|
| `gritz-core` | [gritzrpc/gritz-core](https://github.com/gritzrpc/gritz-core) | Transport-independent application framework |
|
|
13
13
|
| `gritz-native` | [gritzrpc/gritz-native](https://github.com/gritzrpc/gritz-native) | Official grpc gem adapter and thread pool |
|
|
14
|
+
| `gritz-rails` | [gritzrpc/gritz-rails](https://github.com/gritzrpc/gritz-rails) | Optional Rails execution, generators and development reloading |
|
|
14
15
|
| `gritz-otel` | [gritzrpc/gritz-otel](https://github.com/gritzrpc/gritz-otel) | Optional server/client tracing and worker OTLP metrics |
|
|
15
16
|
|
|
16
|
-
Applications can add `gem "gritz", "~> 0.
|
|
17
|
+
Applications can add `gem "gritz", "~> 0.6.0"` to their Gemfile. It installs both the core and native adapter. Add `gritz-otel` for OpenTelemetry. Add `gritz-rails` for Rails execution, generators and development reloading. The experimental Fiber adapter [gritz-async](https://github.com/gritzrpc/gritz-async) runs without the official `grpc` gem; use it with `gritz-core` instead of this meta gem.
|
|
17
18
|
|
|
18
19
|
## Quickstart from source
|
|
19
20
|
|
|
@@ -72,6 +73,10 @@ The default middleware adds request IDs, scopes context, writes JSON completion
|
|
|
72
73
|
|
|
73
74
|
For downstream calls, define a lazy client with `Gritz::Client.define(Helloworld::Greeter::Stub, target: "localhost:50051", deadline: 2.0)`. It shares a channel within each worker, inherits the parent deadline and selected request headers, and wraps complete streams in client middleware. See the [client guide](https://github.com/gritzrpc/gritz-core/blob/main/docs/guides/clients.md).
|
|
74
75
|
|
|
76
|
+
## Rails and Gruf migration
|
|
77
|
+
|
|
78
|
+
Add [gritz-rails](https://github.com/gritzrpc/gritz-rails), run `bin/rails generate gritz:install`, and use `bin/gritz` to start RPCs with Rails execution and development reloading. See its [Rails sample](https://github.com/gritzrpc/gritz-rails/tree/main/examples/rails_app). Existing Gruf controllers can use the optional compatibility module in core; follow the [migration guide](https://github.com/gritzrpc/gritz-core/blob/main/docs/guides/migrating-from-gruf.md).
|
|
79
|
+
|
|
75
80
|
## Testing
|
|
76
81
|
|
|
77
82
|
```ruby
|
|
@@ -98,7 +103,7 @@ Configuration precedence is CLI options, `GRITZ_*` environment variables, config
|
|
|
98
103
|
|
|
99
104
|
Use `TERM` or `INT` to finish in-flight calls within `shutdown_timeout`; `QUIT` closes immediately. Application code should check deadlines and cancellation during long work. The grpc 1.83 server view can report cancellation late; deadlines remain the practical limit for long handlers. The native thread pool rejects excess requests immediately with `RESOURCE_EXHAUSTED`; grpc 1.83 ignores its deprecated `max_waiting_requests` setting.
|
|
100
105
|
|
|
101
|
-
Configure `tls cert:, key:` for TLS and add `client_ca:` for required client certificates. Native gRPC Health Check/Watch follows named `health_check` callbacks and worker draining. Admin HTTP provides `/livez`, `/readyz`, `/status` and Prometheus `/metrics` at `127.0.0.1:9090` by default. Reflection is
|
|
106
|
+
Configure `tls cert:, key:` for TLS and add `client_ca:` for required client certificates. Native gRPC Health Check/Watch follows named `health_check` callbacks and worker draining. Admin HTTP provides `/livez`, `/readyz`, `/status` and Prometheus `/metrics` at `127.0.0.1:9090` by default. Set `reflection true` to enable standard gRPC Reflection v1/v1alpha; it is disabled by default.
|
|
102
107
|
|
|
103
108
|
For Linux operations, use `USR1` to replace workers one at a time and `USR2` to load fresh Ruby code/configuration in a new master. The CLI launcher retains probes and metric totals while old masters drain; a failed replacement leaves the active master serving. Configure `worker_recycle` to replace workers by requests, PSS/RSS or lifetime. See the [Kubernetes guide](https://github.com/gritzrpc/gritz-native/blob/main/docs/guides/kubernetes.md).
|
|
104
109
|
|
data/lib/gritz/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gritz
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yudai Takada
|
|
@@ -15,28 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.6.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.6.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: gritz-native
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - '='
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.
|
|
32
|
+
version: 0.6.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - '='
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.
|
|
39
|
+
version: 0.6.0
|
|
40
40
|
description: Gritz combines transport-independent controllers, middleware and testing
|
|
41
41
|
with a gRPC C-core server.
|
|
42
42
|
email:
|