mirror of
https://github.com/linka-cloud/grpc.git
synced 2025-01-10 18:17:20 +00:00
Adphi
abe69f1c80
remove client pool and add tls client auth support
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
gRPC-toolkit
A utility module, largely taken from the go-micro patterns (and a good amount of code too...) with pure gRPC ecosystem modules.
Principles:
- Pluggable
- No singleton
Features:
- simple configuration with options
- simple TLS configuration
- TLS auth
- client connection pool
- registry / resolver resolution
- mdns
- kubernetes
- default interceptors implementation:
- context request id
- defaulter
- validation
- health
- context logger
- sentry
- rate-limiting
- ban
- auth claim in context
- recovery (server side only)
- tracing (open-tracing)
- metrics (prometheus)
- retries
- context DB / transaction
- ...
- grpc web / api gateway with middleware:
- auth
- cors
- logging
- tracing
- metrics
- broker, based on nats-streaming
Used modules:
- https://github.com/grpc-ecosystem/go-grpc-middleware
- https://github.com/grpc-ecosystem/grpc-opentracing
- https://github.com/grpc-ecosystem/go-grpc-prometheus
- https://github.com/grpc-ecosystem/grpc-gateway
- https://github.com/jaredfolkins/badactor
- https://github.com/johnbellone/grpc-middleware-sentry
- https://github.com/improbable-eng/grpc-web
Description
Languages
Go
99.1%
Makefile
0.9%