Skip to content
Bahamut is a Go library that provides everything needed to build an API server
Go Other
  1. Go 99.6%
  2. Other 0.4%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
authorizer
fixtures new: use test model from elemental Jan 10, 2018
mocks
.gitignore
Gopkg.toml new: unit tests for PubSubClient NATS implementation Subscribe method ( May 22, 2019
LICENSE
Makefile
README.md
bahamut.go
bahamut_test.go new: licensing May 1, 2019
concourse.yml
config.go
context.go
context_test.go
dispatchers.go
dispatchers_test.go
doc.go
go.mod
go.sum
handlers.go
handlers_test.go
health_server.go
health_server_test.go new: licensing May 1, 2019
interfaces.go
job.go
job_test.go
meta.go
meta_test.go
metrics.go
metrics_prometheus.go
metrics_prometheus_test.go new: licensing May 1, 2019
opentracing.go
opentracing_test.go
options.go
options_test.go
pinger.go
pinger_test.go
processor_helpers.go
processor_helpers_test.go
profiling_server.go
publication.go
publication_test.go fix: fixes bug where replying to a publication after a timeout has be… Jun 18, 2019
pubsub.go
pubsub_local.go
pubsub_local_test.go
pubsub_nats.go
pubsub_nats_client.go
pubsub_nats_options.go
pubsub_nats_options_test.go
pubsub_nats_test.go
pubsub_test.go
rest_server.go
rest_server_helpers.go
rest_server_helpers_test.go
rest_server_test.go
test_mocks_test.go
utils.go
utils_test.go
websocket_push_session.go
websocket_push_session_test.go
websocket_server.go
websocket_server_test.go

README.md

Bahamut

codecov

README IS A WORK IN PROGRESS AS WE ARE WRITTING MORE DOCUMENTATION ABOUT THIS PACKAGE.

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, Cassandra or MemDB (with more to come). Later on, switching from Cassandra to MongoDB will be a no brainer.

You can’t perform that action at this time.