Home Reference Source Repository

schema-mapper-store

A node API, CLI and REST API to manage schemas and store data.

build status Docs status

Usage

CLI

Installation

npm install -g schema-mapper-store
# using opts
schema-mapper-server \
 --project [ file --path /tmp/project ] \
 --expose [ websocket --port 9000 --uri /stream ] \
 --expose [ rest --port 9100 ] \
 --driver [ elasticsearch --host http://localhost:9200 ] \
 --driver [ postgresql --host localhost --user schemamapper --password schemamapper ] \
 --driver [ leveldb --path /tmp/level ]

# using environment variables
export STORE_PROJECT_STRATEGY=file
export STORE_PROJECT_FILE_PATH=/tmp/project
export STORE_EXPOSE_STRATEGY=websocket,rest
export STORE_EXPOSE_WEBSOCKET_PORT=9000
export STORE_EXPOSE_REST_PORT=9100
export STORE_DRIVER_STRATEGY=elasticsearch,postgresql,leveldb
export STORE_DRIVER_ELASTICSEARCH_HOST=http://localhost:9200
export STORE_DRIVER_POSTGRESQL_HOST=localhost
export STORE_DRIVER_POSTGRESQL_USER=schemamapper
export STORE_DRIVER_POSTGRESQL_PASSWORD=schemamapper
export STORE_DRIVER_LEVELDB_PATH=/tmp/level
schema-mapper-server

Node API

Installation

npm install --save schema-mapper-store
var store = require('schema-mapper-store');

store.createServer({
  project: 'file',
  expose: ['websocket'],
  storage: ['leveldb', 'elasticsearch', 'postgresql'],
  config: {
    project: {
      path: '/tmp/project'
    },
    expose: {
      websocket: {
        port: 9000,
        uri: '/stream'
      }
    },
    storage: {
      leveldb: {
        path: '/tmp/leveldb'
      },
      elasticsearch: {
        hosts: ['http://localhost:9200']
      },
      postgresql: {
        user: 'schemamapper',
        password: 'schemamapper',
        host: 'localhost'
      }
    }
  }
});

Docker

See docker-compose.yml

API docs

API Docs

Licence

MIT