schema-mapper-store
A node API, CLI and REST API to manage schemas and store data.
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
Licence
MIT