verticegateway
verticegateway copied to clipboard
REST API server with built in auth, interface to ScyllaDB/Cassandra
Vertice Gateway
This is our API server for MegamVertice 1.5.x or < 2.0 release
.
Roadmap for 2.0
API server for 2.0 is based on rust connecting to cockroachdb.
Where is the code for 2.0
We have moved the development to private gitlab as it will have enterprise features.
When can i get it in my anxious hands
2.0
will be released on Sep 30 2017
or less.
Requirements to compile from source
The API server protects the RESTful resources using
- HMAC based authorization.
- PASSWORD based on PBKDF2
- Master key
Compile from source
You'll need sbt
build tool. and OpenJDK8.0
Fork
After you have forked a copy of https://github.com/megamsys/vertice_gateway.git
Steps
* git clone https://github.com/<your_github_id>/vertice_gateway.git
* cd vertice_gateway
* sbt
* clean
* compile
Running
Setup cassandra keyspace
* cd vertice_gateway/db
* cqlsh -f base.cql
* cqlsh -f 1.5.cql
* cqlsh -f 1.5.1.cql
* cqlsh -f 1.5.2.cql
* cqlsh -f ee.cql
* cqlsh -f me.cql
MEGAM_HOME
Create a home directory to store configuration files for MegamVertice
$ cd ~
$ mkdir -p megam/home/verticegateway
Edit your .bashrc
In your .bashrc file add the following line
export MEGAM_HOME=$HOME/megam/home
After this enter save the .bashrc file.Use the following command
source ~/.bashrc
Configuration
Copy configuration files to $MEGAM_HOME/verticegateway
$ cd vertice_gateway (your cloned location)
$ cp conf/gateway.conf $MEGAM_HOME/verticegateway
$ cp conf/logger.xml $MEGAM_HOME/verticegateway
Start Vertice Gateway
* cd vertice_gateway
* sbt
* clean
* compile
* run
Type the url http://localhost:9000
You'll see this in your browser.
{
"status" : {
"casssandra" : "up",
"nsq" : "down"
},
"runtime" : {
"total_mem" : "975 MB",
"freemem" : "649 MB",
"cores" : "4",
"freespace" : "399 of 450 GB"
}
}
Now you are all set.
API Documentation
Refer [docs](https://docs.megam.io] and we'll publish vertice.raml shortly.
To generate the html docs.
npm install -g raml2html
raml2html vertice.raml
Contribution
As this is heavy on memory, we have a work in progress 2.0 code which is based on rust.
Documentation
For [documentation] (http://docs.megam.io) [devkit] (https://github.com/megamsys/vertice_dev_kit)
License
MIT
Authors
Megam - Humans ([email protected])