Commit Graph

46 Commits

Author SHA1 Message Date
Chris Bono
9dbe763932 Fix config props defaults and descriptions
This commit simplifies the client properties by setting the default values
directly on the properties and removes markdown from the property javadocs.
This improves end user experience by adding default values and descriptions
to the generated config props docs.

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-12-05 06:51:19 +00:00
Dave Syer
acbe334b7e Refine config properties for default channel
Because of https://github.com/spring-projects/spring-boot/issues/43352
there's no point having a "default" entry in the channels map.
2024-12-04 09:56:39 +00:00
Chris Bono
5c0ca7056c Add client interceptors to channel factory
This commit adds support for global and channel-specific client
interceptors.

Resolves #52

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-12-01 21:01:08 +00:00
Chris Bono
62499c8be2 Rename client configurer to customizer
This commit renames the GrpcChannelConfigurer to GrpcChannelBuilderCustomizer
to more accurately represent its purpose and for consistency with the
server-side terminology.

Additionally, a new `What's new?` doc is added to list breaking changes between
versions.

See #52

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-12-01 17:57:41 +00:00
Dave Syer
7f4cac0381 Back to snapshots 2024-11-28 15:37:42 +00:00
Dave Syer
b273d8e83a Bump to 0.2.0 2024-11-28 14:30:09 +00:00
Chris Bono
e0199dd130 Add client side health feature
This commit adds health auto-configuration to the client.

See #66

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-28 10:53:03 +00:00
Chris Bono
9374bdf93f Add docs for health feature
This commit adds docs for the server-side portion of the health feature.

See #56

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-26 17:28:41 +00:00
Chris Bono
6e154d53eb Add actuator health check adapter
This commit adds the implementation to the previously added skeleton
ActuatorHealthAdapter. On a configurable schedule, the adapter takes
a configured list of Actuator health indicators and gets their current
status and maps it into the gRPC HealthStatusManager.

See #56

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-25 07:47:57 +00:00
Chris Bono
b7b43cb6a3 Add property guard on Actuator health adapter
This commit adds a ConditionalOnProperty on the Actuator health
adapter autoconfiguration to allow users to disable only that
part of the health system.

Also, unrelated, the generated configprops with their default values.

See #56

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-25 07:47:57 +00:00
Dave Syer
e33863992b Add some docs 2024-11-21 16:12:23 +00:00
Dave Syer
3feca42834 Move exception handling into autoconfiguration 2024-11-21 16:03:52 +00:00
Dave Syer
c239cfe970 Add sample and integration test 2024-11-21 15:24:44 +00:00
Chris Bono
ab55182304 Add autoconfiguration for server-side health
This commit autoconfigures the gRPC health service by providing
the following beans:

- gRPC HealthStatusManager
- gRPC HealthService
- Actuator health check adapter (skeleton impl)

See #56

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-21 08:19:22 +00:00
Dave Syer
796bcf560f Add inprocess factories and a test 2024-11-19 09:45:13 +00:00
Chris Bono
8eb623e82d Add server interceptor blending
This commit implements the `@GprcService(blendWithGlobalInterceptors)`
feature. This allows global and per-service server interceptors to be
combined into a single list and then finally sorted (i.e. blended).

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-18 06:55:49 +00:00
Chris Bono
3178518433 Use specific bean types in autoconfiguration
This commit uses the most specific bean type in the autoconfiguration to
improve AOT compatibility.

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-15 07:48:53 +00:00
Chris Bono
cd28b69756 Add support for service specific server interceptors
This commit introduces the `@GrpcService` annotation which can be used to
associate one or more `ServerInterceptor` beans with a `BindableService`.

See #5

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-14 15:04:19 +00:00
Chris Bono
3904948d3e Add description to additional metadata fields
This commit adds a description for the observations
and reflection enabled properties.

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-14 14:57:41 +00:00
Dave Syer
178bcf4774 Add brief docs on server o11y 2024-11-11 11:40:55 +00:00
CyberZujo
d61af1a1a2 Add autoconfig for reflection service and friends #26
Signed-off-by: CyberZujo <hara_zujo@hotmail.com>
2024-11-09 11:36:52 +00:00
Dave Syer
d630a41988 Tweak server docs on servlet customizations 2024-11-07 08:49:15 +00:00
Chris Bono
4daf41392a Add GlobalServerInterceptor to service discovery
This commit builds upon the previously added service discoverer
by adding support for finding all server interceptor beans that
are marked w/ the newly added `@GlobalServerInterceptor`
annotation.

Resolves #4

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-07 08:10:05 +00:00
Chris Bono
daf8e046c3 Adds checkstyles to project
This commit configures in the Puppycrawl checkstyle with the Spring JavaFormat.

To avoid the intrusive nature of such a change, the spring-grpc-core module is
the only one to have the checkstyles applied. I will handle the other modules as
time permits.

Signed-off-by: Chris Bono <chris.bono@gmail.com>
2024-11-07 08:07:48 +00:00
Dave Syer
33483bb500 Revert ServerServiceDefinition bean provider
In retrospect I think users should not have to create
ServerServiceDefinitions. It doesn't help anybody and
it seems like quite a deep internal detail.
2024-11-06 17:14:59 +00:00
Dave Syer
80e703448c FIx link in docs 2024-11-06 15:29:27 +00:00
Dave Syer
f0ec4b1bac Add support for registering service definition bean 2024-11-06 11:51:29 +00:00
Dave Syer
05e6240672 Support for mTLS in client
Fixes #10
2024-11-05 12:28:22 +00:00
Logan Kulinski
5ab408b626 chris.bono@gmail.com
Signed-off-by: Logan Kulinski <rashes_lineage02@icloud.com>
2024-10-27 12:10:51 -05:00
Dave Syer
8bab3cd081 Revert to snapshots 2024-10-25 12:35:52 +01:00
Dave Syer
2d2e0d8b8e Ready for 0.1.0 2024-10-25 12:20:47 +01:00
Dave Syer
42b54708aa Add sample with Shaded Netty 2024-10-25 12:10:57 +01:00
Dave Syer
6be591d544 Add some basic docs 2024-10-25 11:01:54 +01:00
Dave Syer
b5a623231a Add a test for autoconfig of servlet
Signed-off-by: Dave Syer <dsyer@vmware.com>
2024-10-24 08:38:12 +01:00
Dave Syer
4712ca5458 Add CONTRIBUTING.md 2024-10-22 09:50:08 +01:00
Dave Syer
3025853b31 Autogenerate README 2024-10-21 16:37:47 +01:00
Dave Syer
fe2f266d87 Add PR notes to contributing docs 2024-10-21 16:32:58 +01:00
varunu28
434e26dcec Rename bom to dependencies 2024-10-21 09:41:42 +01:00
Chris Bono
c07d4defe2 Add additional config props metadata file (#33)
This commit adds the additional-spring-configuration-metadata.json
file to the autoconfigure module so that we can add default values
for properties whose defaults can not be determined.
2024-10-19 22:23:07 -05:00
Dave Syer
3cb6ce3912 Move code around so factory gets address not port 2024-10-19 07:52:50 +01:00
Dave Syer
a969d09fc0 Generated configprops 2024-10-14 10:50:39 +01:00
Dave Syer
b92fd43664 Add support for client connection negotiation
The serverside SSL was working, but the clients were not able to
connect because they all had insecure call credentials. This change
adds a NegotiationType enum for configuring the client, and an
integration test that uses it (implicitly).

Also move some logic around. The netty-specific channel factories
weren't doing any work. This makes them do something, so more
classpath-dependent logic can go into them.
2024-10-14 10:46:53 +01:00
Chris Bono
beba50bb4a Add config props document generation 2024-10-08 12:32:37 +01:00
Dave Syer
acfa3f641a Also replace in poms and docs metadata 2024-10-01 08:49:16 +01:00
Dave Syer
51bf868164 Also update docs with official name 2024-10-01 08:47:18 +01:00
Dave Syer
4995b57f1b Starting point 2024-09-04 14:16:35 +01:00