Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/megamsys/verticegateway
REST API server with built in auth, interface to ScyllaDB/Cassandra
https://github.com/megamsys/verticegateway
api cassandra megam nsq scala vertice
Last synced: about 2 months ago
JSON representation
REST API server with built in auth, interface to ScyllaDB/Cassandra
- Host: GitHub
- URL: https://github.com/megamsys/verticegateway
- Owner: megamsys
- License: mit
- Created: 2013-03-28T10:55:24.000Z (almost 12 years ago)
- Default Branch: 1.5.2
- Last Pushed: 2017-08-18T11:58:12.000Z (over 7 years ago)
- Last Synced: 2024-04-11T00:06:30.853Z (10 months ago)
- Topics: api, cassandra, megam, nsq, scala, vertice
- Language: Scala
- Homepage: https://www.megam.io
- Size: 4.91 MB
- Stars: 24
- Watchers: 14
- Forks: 34
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Vertice Gateway
================This is our API server for [MegamVertice](https://www.megam.io) `1.5.x or < 2.0 release`.
# Roadmap for 2.0
API server for 2.0 is based on [rust](https://www.rust-lang.org/en-US/) connecting to [cockroachdb](https://www.cockroachlabs.com/docs/secure-a-cluster.html).
## 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 >](https://scala-sbt.org)
2. [NSQ 0.3.x ](http://nsq.io)
3. [OpenJDK 8.0](http://openjdk.java.net/install/index.html)
4. [Cassandra 3 +](http://apache.cassandra.org)The API server protects the RESTful resources using
- [HMAC](http://www.ietf.org/rfc/rfc2104.txt) 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//vertice_gateway.git
* cd vertice_gateway
* sbt
* clean
* compile
```
## Running
[Install Cassandra](http://cassandra.apache.org/download/)
[Install NSQ.io](http://nsq.io/deployment/installing.html)
## 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](https://github.com/megamsys/vertice_gateway/blob/1.5/public/images/vertice_gateway.png)
## Type the url `http://localhost:9000`
You'll see this in your browser.
```json
{
"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 ()