LabKit-Ruby 🔬🔬🔬🔬🔬
LabKit-Ruby is minimalist library to provide functionality for Ruby services at GitLab.
LabKit-Ruby is the Ruby companion for LabKit, a minimalist library to provide functionality for Go services at GitLab.
LabKit-Ruby and LabKit are intended to provide similar functionality, but use the semantics of their respective languages, so are not intended to provide identical APIS.
Documentation
API Documentation is available at the Rubydoc site.
Functionality
LabKit-Ruby provides functionality in three areas:
Labkit::Correlationfor handling and propagating Correlation-IDs.Labkit::Loggingfor sanitizing log messages.Labkit::Tracingfor handling and propagating distributed traces.
Developing
Anyone can contribute!
$ git clone [email protected]:gitlab-org/labkit-ruby.git
$ cd labkit-ruby
$ bundle install
$ # Autoformat code and auto-correct linters
$ bundle exec rake fix
$ # Run tests, linters
$ bundle exec rake verify
Note that LabKit-Ruby uses the rufo for auto-formatting. Please run bundle exec rake fix to auto-format your code before pushing.
Please also review the development section of the LabKit (go) README for details of the LabKit architectural philosophy.