Bahamut
Note: this is a work in progress.
Bahamut is a Go library that provides everything you need to set up a full blown
API server based on an Elemental model
generated from a Regolithe Specification.
The main concept of Bahamut is to only write core business logic, and letting it
handle all the boring bookkeeping. You can implement various Processors
interfaces, and register them when you start a Bahamut Server.
A Bahamut Server is not directly responsible for storing an retrieving data from
a database. To do so, you can use any backend library you like in your
processors, but we recommend using
Manipulate, which provides a common
interface for manipulating an Elemental model and multiple implementations for
MongoDB (manipmongo), MemDB (manipmemory) or can be used to issue ReST calls using
maniphttp.
It is usually used by clients to interact with the API of a Bahamut service, but
also used for Bahamut Services to talk together.