https://github.com/linka-cloud/grpc-toolkit
https://github.com/linka-cloud/grpc-toolkit
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/linka-cloud/grpc-toolkit
- Owner: linka-cloud
- License: apache-2.0
- Created: 2021-07-17T20:41:06.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-21T13:45:01.000Z (5 months ago)
- Last Synced: 2024-12-30T07:20:25.414Z (5 months ago)
- Language: Go
- Size: 736 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gRPC-toolkit
A utility module, largely taken from the [go-micro](https://github.com/micro/go-micro) patterns (and a good amount of code too...)
with pure gRPC ecosystem modules.Principles:
- Pluggable
- No singletonFeatures:
- [x] simple configuration with options
- [x] simple TLS configuration
- [ ] TLS auth
- [ ] client connection pool
- [ ] registry / resolver resolution
- [ ] mdns
- [ ] kubernetes
- [ ] default interceptors implementation:
- [ ] context request id
- [x] defaulter
- [x] validation
- [ ] health
- [ ] context logger
- [x] sentry
- [ ] rate-limiting
- [x] ban
- [ ] auth claim in context
- [x] recovery (server side only)
- [x] tracing (open-tracing)
- [x] 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