fh-target-openshift3
v0.17.9
Published
Targeting OpenShift v3 for supercore
Downloads
15
Keywords
Readme
fh-target-openshift3
A module to provide pluggable express middleware to FeedHenry APIs for targeting OpeShift V3.
Note: Current existing targets are part of the fh-supercore module. This one has been designed as a standalone module instead.
Using https://github.com/fheng/grunt-fh-build for building.
Usage
var openshift3Target = require('fh-target-openshift3')({logger : logger.getLogger() }); // logger from supercore passed in
// suggested way to build params
var params = _.extend(req.body, req.params);
params.appProps = req.appProps; // app props from millicore call
params.title = 'someuniqueapplicationname'; // all lower case, no spaces
params.mbaasConf = req.mbaasConf; // the mBaaS target config object right from Mongo
params.millicore = { url : '', ...}; // millicore config object as per supercore
// then, interact with target
openshift3Target.host(params, function(err, hostRes){
console.log(hostRes.url);
});
openshift3Target.deploy(params, function(err, cacheKeyPollingResult){
});
Templates
Templates are STI-based build definitions which provide a series of objects to OpenShift for creating an application. At present, only one build template will exist, providing support for
- A Node.js app
- A MongoDB Database
- A Redis instance
This template can be expanded in future to provide more production-suitable templates which include Mongo replicas, clusters Redis.
MBaaS Template
If using the MBaaS Template, the images to use for each service can be configured by setting the templateImages param:
params.templateImages = {
mongodb: 'myregistry.example.com/mongodb_image:latest',
redis: 'myregistry.example.com/redis_image:latest',
fhstatsd: 'myregistry.example.com/fh-statsd_image:latest',
fhmetrics: 'myregistry.example.com/fh-metrics_image:latest',
fhmessaging: 'myregistry.example.com/fh-messaging_image:latest',
fhmbaas: 'myregistry.example.com/fh-mbaas_image:latest'
};
Usage
This module is not published yet so 'npm link' is used.
Pull down the module and npm install
. Then npm link
.
After that, move to the super core folder and npm link fh-target-openshift3
, and all should be good to go.
Integration Tests
Integration tests are written in Mocha and rely on environment variables. To run:
export OS_HOST="someOpenShiftHost.com:8443"
export OS_NAMESPACE="someProjectName"
export OS_TOKEN="1a2bYourBearerTokenHere"
export OS_GIT_URL="some git url e.g. git://github.com/cianclarke/helloworld-cloud.git"
export OS_ROUTE_HOSTNAME="some hostname e.g.inttest.openshift-devops.feedhenry.net"
# then run te tests
grunt fh:integrate
more...
coming soon...
TODO: Add copyright, license, and so forth.