Skip to content
/ toki Public
forked from xogroup/toki

Microservice orchestration engine utilizing a rules engine

License

Notifications You must be signed in to change notification settings

pedramha/toki

 
 

Repository files navigation

Toki

A configuration based orchestration rules engine that's protocol agnostic.

npm version Build Status Known Vulnerabilities NSP Status

Lead Maintainer: Cesar Hernandez

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:

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, 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.

We also have guides on how to build your very own:

Toki configuration

Toki action handler

Examples

Check out the Examples.

Contributing

We love community and contributions! Please check out our guidelines 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

About

Microservice orchestration engine utilizing a rules engine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%