Skip to content
REST API server with built in auth, interface to ScyllaDB/Cassandra
Scala Other
  1. Scala 98.5%
  2. Other 1.5%
Branch: 1.5.2
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.
app
conf
db
project
public
src
test
.gitignore
LICENSE
README.md
build.gradle
build.sbt
scalastyle-config.xml
vertice.raml

README.md

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

  1. SBT 0.13.11 >
  2. NSQ 0.3.x
  3. OpenJDK 8.0
  4. Cassandra 3 +

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

Install Cassandra

Install NSQ.io

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

Gateway

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 (humans@megam.io)

You can’t perform that action at this time.