Nirvana
Nirvana is a golang API framework designed for productivity and usability. It aims to be the building block for all golang services at Caicloud. The high-level goals and features include:
- consistent API behavior, structure and layout across all golang projects
- improve engineering productivity with openAPI and client generation, etc
- validation can be added by declaring validation method as part of API definition
- out-of-box instrumentation support, e.g. metrics, profiling, tracing, etc
- easy and standard configuration management, as well as standard cli interface
Nirvana is also extensible and performant, with the goal to support fast developmenet velocity.
Features
- API Framework based on Descriptors
- Request Filter
- Middleware
- Validator
- Plugins
- API Doc Generation
- Client Generation