https://github.com/xogroup/toki
Microservice orchestration engine utilizing a rules engine
https://github.com/xogroup/toki
microservices orchestration orchestration-framework
Last synced: 5 months ago
JSON representation
Microservice orchestration engine utilizing a rules engine
- Host: GitHub
- URL: https://github.com/xogroup/toki
- Owner: xogroup
- License: other
- Created: 2017-02-10T15:43:55.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-02-16T15:36:11.000Z (over 8 years ago)
- Last Synced: 2025-03-17T04:36:46.176Z (over 1 year ago)
- Topics: microservices, orchestration, orchestration-framework
- Language: JavaScript
- Homepage:
- Size: 137 KB
- Stars: 13
- Watchers: 6
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Toki
> A configuration based orchestration rules engine that's protocol agnostic.
[](https://badge.fury.io/js/toki)
[](https://travis-ci.org/xogroup/toki)
[](https://snyk.io/test/github/xogroup/toki)
[](https://nodesecurity.io/orgs/xo-group/projects/033de8be-f1dc-447b-98fd-09fbab416886)
Lead Maintainer: [Cesar Hernandez](https://github.com/cesarhq)
## Introduction
Toki is an orchestration layer for microservice based architectures. It is both HTTP server agnostic, and downstream protocol agnostic. It's configuration based and allows you to bring your own logger.
### Key Features
+ *Configuration based* using version-able JSON files. Easy to write, easy to deploy.
+ *Bring your own HTTP framework* so you can use Express, Koa, Hapi or whatever else floats your boat.
+ *Protocol Agnostic* so you can speak whatever your microservices are speaking. HTTP, RabbitMQ, etc.
+ *Supports any standard logger* so you can plug it into your existing log setup.
## Getting Started
To allow Toki to be used by any http framework, Toki uses small modules we call 'bridges'. The bridge appropriate for your webserver framework is where you should start:
+ [Hapi](https://github.com/xogroup/toki-hapi-bridge)
_Don't see a bridge you need? Please feel free to contribute one. Bridges are easy to write, we promise!_
You can also peek at our [reference implementation](https://github.com/xogroup/toki-reference), which provides a fully setup and ready to roll Toki implementation out of the box that's heavily commented and explained.
## API
See the [API Reference](http://github.com/xogroup/toki/blob/master/API.md).
We also have guides on how to build your very own:
[Toki configuration](./RULESENGINE.md#configuration)
[Toki action handler](./RULESENGINE.md#how-to-implement-my-very-own-action-handler)
### Examples
Check out the [Examples](http://github.com/xogroup/toki/blob/master/Examples.md).
## Contributing
We love community and contributions! Please check out our [guidelines](http://github.com/xogroup/toki/blob/master/.github/CONTRIBUTING.md) before making any PRs.
### Setting up for development
Getting yourself setup and bootstrapped is easy. Use the following commands after you clone down.
```
npm install
npm test
```