{"repo":"go-masonry/mortar","free":true,"listed":false,"github":"https://github.com/go-masonry/mortar","clone":"git clone https://github.com/go-masonry/mortar.git","description":"Mortar is a GO framework/library for building gRPC (and REST) web services.","language":"Go","stars":677,"topics":["grpc","middleware","microservice","golang","metrics","trace","dependency-injection","monitoring","di","fx"],"license":"MIT","category":"analytics","readme_excerpt":"Mortar Mortar is a GO framework/library for building gRPC (and REST) web services. Mortar has out-of-the-box support for configuration, application metrics, logging, tracing, profiling, dependency injection and more. While it comes with predefined defaults, Mortar gives you total control to fully customize it. Demo Clone this demo repository to better understand some of Mortar capabilities. When you done, read the documentation. Service Template To help you bootstrap your services with Mortar here you can find a template. Read its README first. Features - Bundled Grpc-Gateway (REST Reverse-Proxy). - Dependency Injection using Uber-FX. - Pimped http.Client with interceptors support. - Abstract support for Logging, Configuration, Tracing and Monitoring libraries. Use provided wrappers or your own. - Jaeger wrapper client for tracing. - Prometheus wrapper client for monitoring/metrics. - Zerolog wrapper for logging. - Viper wrapper for configuration. - Internal HTTP Handlers - Profiling http://.../debug/pprof - Debug http://.../debug/ - Configuration http://.../self/config - Build Information http://.../self/build - Health http://.../health - Server/Client Interceptors both for gRPC and HTTP, you can choose which to use and/or add your own. Some examples - HTTP Headers can be forwarded to next hop, defined by list. - HTTP Headers can be included in logs, defined by list. - Made available in ctx.Context via gRPC incoming Metadata. - Automatic monitoring and tracing (if enabled) f","default_branch":null,"files":null,"tree":[],"storefront":"/r/go-masonry","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/go-masonry/mortar/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}