Go to file
Adphi 939c060513
service: fix alpn certificate usage
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2024-12-21 14:44:56 +01:00
certs certs: reload on both key and cert changes 2023-11-24 20:07:15 +01:00
cli cli: fix usage format when multiple env vars are set 2024-07-11 14:10:07 +02:00
client remove client pool and add tls client auth support 2024-10-17 18:09:58 +02:00
codec codec: register on init 2023-04-19 14:24:28 +02:00
config rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
errors errors: add BadRequestDetails 2023-03-08 11:44:25 +01:00
example migrate grpc-web to traefik fork 2024-10-17 18:30:48 +02:00
google/api remove transport draft, add grpc web and gateway support 2021-09-18 01:44:08 +02:00
interceptors interceptors: migrate to otel and add logging interceptor 2024-10-17 17:15:05 +02:00
internal/injectlogger interceptors: migrate to otel and add logging interceptor 2024-10-17 17:15:05 +02:00
logger interceptors: migrate to otel and add logging interceptor 2024-10-17 17:15:05 +02:00
proxy interceptors: migrate to otel and add logging interceptor 2024-10-17 17:15:05 +02:00
react react: use fs.FS instead of embed.FS 2023-01-20 14:33:52 +01:00
registry rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
resolver rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
service service: fix alpn certificate usage 2024-12-21 14:44:56 +01:00
signals add metrics, tracing, validation interceptors, add options: WithInterceptors, With{Client,Server}Interceptors 2021-11-21 14:58:49 +01:00
transport rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
utils add registry base interface, mdns, noop implementations, add resolver, client 2020-11-15 15:54:46 +01:00
.gitignore interceptors: add ban 2022-09-27 17:06:18 +02:00
go.mod migrate grpc-web to traefik fork 2024-10-17 18:30:48 +02:00
go.sum migrate grpc-web to traefik fork 2024-10-17 18:30:48 +02:00
LICENSE Add LICENSE 2020-11-06 17:32:45 +00:00
Makefile rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
README.md rename module grpc-toolkit 2023-07-08 01:33:10 +02:00
tools.go remove transport draft, add grpc web and gateway support 2021-09-18 01:44:08 +02:00

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: