on-http
v2.60.7
Published
OnRack Http Server
Downloads
324
Readme
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
- http://127.0.0.1/ui -- RackHD Web UI
- http://127.0.0.1/docs -- RackHD Docs
- http://127.0.0.1/taskdoc -- RackHD Task Annotation
API References
- http://rackhd.readthedocs.io/en/latest/rackhd/index.html
- https://bintray.com/rackhd/docs/apidoc#files
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
- http://rackhd.readthedocs.io/en/latest/rackhd/rackhd_api.html?highlight=swagger#rackhd-client-libraries
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 inextra/
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/
.