Public | Automated Build

Last pushed: 5 hours ago
Short Description
Provides HTTP server for RackHD.
Full Description

on-http

on-http is the HTTP server for RackHD

Copyright 2015-2016, EMC, Inc.

Installation

rm -rf node_modules
npm install
npm run apidoc
npm run taskdoc

Running

Note: requires MongoDB and RabbitMQ to be running to start correctly.

sudo node index.js

API References

The readthedocs shows API usage for 2.0 by default. Using api/current/ will
use the 2.0 API by default. Functional differences between the 1.1 API and the 2.0
API are listed in readthedocs, however, the 1.1 API is officially deprecated.

Config

The fileService requires a "fileService" key which holds keys mapping backend
strings to their individual config values; it requires at least "defaultBackend"
to be among the backend keys. More strings may be added and mapped to
injector strings in the fileSevice.injectorMap attribute.

Debugging/Profiling

To run in debug mode to debug routes and middleware:

sudo DEBUG=express:* node --debug index.js

If you're using Node v4 or greater you can use node-inspector to debug and profile from a GUI.

npm install node-inspector -g
node-inspector --preload=false &
sudo DEBUG=express:* node --debug-brk index.js

Note: do not use the node-debug command it doesn't work as well.

CI/Testing

To run tests from a developer console:

npm test

To run tests and get coverage for CI:

# verify hint/style
./node_modules/.bin/jshint -c .jshintrc --reporter=checkstyle lib index.js > checkstyle-result.xml || true
./node_modules/.bin/istanbul cover -x "**/spec/**" _mocha -- $(find spec -name '*-spec.js') -R xunit-file --require spec/helper.js
./node_modules/.bin/istanbul report cobertura
# if you want HTML reports locally
./node_modules/.bin/istanbul report html

Client Libraries

Instructions for how to generate client libraries (python, java, go) can be seen on the readthedocs

Building

Unversioned packages are built automatically from travis-ci and uploaded to bintray.com. Using
this repository is detailed in the docs.

Build scripts are placed in the extra/ directory.

  • .travis.yml will call the appropriate scripts in extra/ to build an unversioned package.
  • extra/make-sysdeps.sh can be used to install system level packages in a Ubuntu system.
  • extra/make-cicd.sh will perform all the necessary build steps to generate a version package.

If you want to build your own versioned packages, you can use the Vagrantfile provided in extra/. Simply perform vagrant up and it will run all the necessary steps.

The resulting .deb packages will end up in deb/.

Docker Pull Command
Owner
rackhd
Source Repository