Skip to content
Bahamut is a Go library that provides everything needed to build an API server
Branch: master
Clone or download
aaslamin and primalmotion new: add test coverage for scenario: should receive an error in error…
…s channel if subscribing fails for any reason (#55)

Signed-off-by: Amir Aslaminejad <amir.a@aporeto.com>
Latest commit 59d7918 May 24, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
authorizer new: licensing May 1, 2019
fixtures new: use test model from elemental Jan 10, 2018
mocks unit test coverage for PubSubClient NATS implementation Publish method ( May 21, 2019
.gitignore unit test coverage for PubSubClient NATS implementation Publish method ( May 21, 2019
Gopkg.toml new: unit tests for PubSubClient NATS implementation Subscribe method ( May 22, 2019
LICENSE new: licensing May 1, 2019
Makefile lint: use staticcheck + fixes Apr 5, 2019
README.md fixed: update readme May 1, 2019
bahamut.go new: licensing May 1, 2019
bahamut_test.go
concourse.yml
config.go
context.go new: licensing May 1, 2019
context_test.go
dispatchers.go
dispatchers_test.go new: licensing May 1, 2019
doc.go new: licensing May 1, 2019
go.mod disable go mod Dec 12, 2018
handlers.go new: licensing May 1, 2019
handlers_test.go new: licensing May 1, 2019
health_server.go new: licensing May 1, 2019
health_server_test.go new: licensing May 1, 2019
interfaces.go new: licensing May 1, 2019
job.go new: licensing May 1, 2019
job_test.go new: licensing May 1, 2019
meta.go new: licensing May 1, 2019
meta_test.go
metrics.go new: licensing May 1, 2019
metrics_prometheus.go new: licensing May 1, 2019
metrics_prometheus_test.go
opentracing.go fixed: better display of claims May 20, 2019
opentracing_test.go fixed: better display of claims May 20, 2019
options.go
options_test.go new: licensing May 1, 2019
pinger.go
pinger_test.go new: licensing May 1, 2019
processor_helpers.go
processor_helpers_test.go new: licensing May 1, 2019
profiling_server.go new: licensing May 1, 2019
publication.go
publication_test.go
pubsub.go new: licensing May 1, 2019
pubsub_local.go new: licensing May 1, 2019
pubsub_local_test.go new: licensing May 1, 2019
pubsub_nats.go unit test coverage for PubSubClient NATS implementation Publish method ( May 21, 2019
pubsub_nats_client.go
pubsub_nats_options.go unit test coverage for PubSubClient NATS implementation Publish method ( May 21, 2019
pubsub_nats_options_test.go
pubsub_nats_test.go new: add test coverage for scenario: should receive an error in error… May 24, 2019
pubsub_test.go
rest_server.go new: licensing May 1, 2019
rest_server_helpers.go new: licensing May 1, 2019
rest_server_helpers_test.go new: licensing May 1, 2019
rest_server_test.go
test_mocks_test.go new: licensing May 1, 2019
utils.go new: licensing May 1, 2019
utils_test.go new: licensing May 1, 2019
websocket_push_session.go
websocket_push_session_test.go
websocket_server.go new: licensing May 1, 2019
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.