alinex-rest
v0.1.1
Published
IT Operator Console
Downloads
5
Readme
Alinex REST Server
Current State: Basic REST server working - code structure not final.
The REST Server is part of the IT Operator application and serves as the data source for the front-end applications.
Installation
For production use the best way is to install through IT Operator.
Usage
The Operator contains both, the Control and REST server, so you may start one or the other and maybe also both on one server.
Development
For easy and fast handling use yarn:
# Install yarn package manager
$ sudo npm install -g yarn
# Clone from github
$ git clone https://github.com/alinex/node-rest
# Install the modules
$ yarn
# Mongo DB
$ sudo apt install mongodb
Now you may run the development version with hot reloading or in the production version:
# Use rest development server
$ yarn test # run the test suite
$ yarn dev # run with hot reload
# create and start production server
$ yarn build
$ yarn start
Configuration
The server may be configured using the environment setting. First step is to use
NODE_ENV=production
(which is done on yarn start
) changes the whole setting:
- protocol will be HTTPS
- logging will be set to Apache combined format
But you may also set the following entries separately through environment settings:
PROTOCOL
- should behttp
orhttps
HOST
- hostname on which to listen to, use '0.0.0.0' for all IPsPORT
- port to listen on (defaults to 1974)
Module Use
This server may also be used as module in another project. Therefore you should import and initialize it using:
import restInit from 'alinex-rest/dist/init'
import RestServer from 'alinex-rest/dist/server'
RestServer.init({ ... }) // configure server
RestServer.start()
.then(doSomething)
License
(C) Copyright 2017 Alexander Schilling
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.