schema-mapper-store

0.4.2 • Public • Published

schema-mapper-store

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

Build status Docs status Code Climate Dependencies License

Usage

CLI

Installation

npm install -g schema-mapper-store
# using build in help
schema-mapper-store --help

# using opts
schema-mapper-server \
 --project [ file --path /tmp/project ] \
 --expose [ websocket --port 7000 ] \
 --expose [ rest --port 7100 ] \
 --expose [ admin --port 7200 ] \
 --driver [ elasticsearch --host http://localhost:9200 ] \
 --driver [ postgresql --host localhost --user postgres --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_STRATEGIES=websocket,rest,admin
export STORE_EXPOSE_WEBSOCKET_PORT=7000
export STORE_EXPOSE_REST_PORT=7100
export STORE_EXPOSE_ADMIN_PORT=7200
export STORE_DRIVER_STRATEGIES=elasticsearch,postgresql,leveldb
export STORE_DRIVER_ELASTICSEARCH_HOST=http://localhost:9200
export STORE_DRIVER_POSTGRESQL_HOST=localhost
export STORE_DRIVER_POSTGRESQL_USER=postgres
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
      }
    },
    storage: {
      leveldb: {
        path: '/tmp/leveldb'
      },
      elasticsearch: {
        hosts: ['http://localhost:9200']
      },
      postgresql: {
        user: 'postgres',
        password: 'schemamapper',
        host: 'localhost'
      }
    }
  }
});

Docker compose

store:
  image: schemamapper/store
  ports:
   - "7000:7000"
   - "7100:7100"
   - "7200:7200"
  links:
    - postgresql
    - elasticsearch
  volumes:
   - /data-leveldb:/data-leveldb
   - /data-projects:/data-projects
  environment:
    - STORE_PROJECT_STRATEGY=file
    - STORE_PROJECT_FILE_PATH=/data-schemamapper
    - STORE_EXPOSE_STRATEGIES=websocket,rest,admin
    - STORE_EXPOSE_WEBSOCKET_PORT=7000
    - STORE_EXPOSE_REST_PORT=7100
    - STORE_EXPOSE_ADMIN_PORT=7200
    - STORE_DRIVER_STRATEGIES=elasticsearch,postgresql,leveldb
    - STORE_DRIVER_ELASTICSEARCH_HOST=http://elasticsearch:9200
    - STORE_DRIVER_POSTGRESQL_HOST=postgresql
    - STORE_DRIVER_POSTGRESQL_USER=postgres
    - STORE_DRIVER_POSTGRESQL_PASSWORD=schemamapper
    - STORE_DRIVER_LEVELDB_PATH=/data-leveldb
    - DEBUG=*
postgresql:
  image: schemamapper/postgresql-postgis-uuid
  environment:
    - POSTGRES_PASSWORD=schemamapper
  ports:
    - "5432:5432"
  volumes:
    - /data-postgresql:/var/lib/postgresql/data
elasticsearch:
  image: elasticsearch
  ports:
    - "9200:9200"
  volumes:
    - /data-elasticsearch:/usr/share/elasticsearch/data
authorizedkeys:
  image: tutum/authorizedkeys
  environment:
    - AUTHORIZED_KEYS=ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApzubzNrYNSYv66Hbv92ChEJLS+2d0+u4FvktO1iE6jFRx2UL9Xk8SmGoP6+MYPrzaZutZudqrcf8tBH028snPzMOKoXiNJeqS0wGeGegR4l1lHHfk5T+1F5aziEBpun7etV1M0iNWEP8oK8Rr7NDMqnYOGUTFa8k/fuwvOslDMxmESX5wh6J0k8dDVTrSIXCJnpL0AAwFfuGwl5mm8iCZwi4xTyINwwjkZMAthG/BhJV4FolTxyFKGC/ZN+a418SUgLP6FUJ7C6HCjwjNZON77IJHquQsYJc+Gqz69H6jodYeRXD9f3UMI/JL2k1ti3aDqmnF+W0NWhFO51RSKLQvQ== k.schmeets@gmail.com
  volumes:
    - /root:/user:rw

API docs

API Docs

Licence

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i schema-mapper-store

Weekly Downloads

0

Version

0.4.2

License

MIT

Last publish

Collaborators

  • vespakoen