diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab63451..9a1b3ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: node:4 +image: node:4-stretch stages: - build @@ -14,7 +14,9 @@ build: - autoreconf -fvi - ./configure --with-srcuri="$SRCURI" - npm install - - make all check info pdf html + - make all + - make info pdf html + - make check artifacts: paths: - doc/ diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 43f92c8..4c1cc70 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -8,14 +8,14 @@ "resolved": "https://registry.npmjs.org/easejs/-/easejs-0.2.9.tgz" }, "mongodb": { - "version": "1.2.8", - "from": "mongodb@1.2.8", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-1.2.8.tgz", + "version": "1.2.14", + "from": "mongodb@1.2.14", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz", "dependencies": { "bson": { - "version": "0.1.5", - "from": "bson@0.1.5", - "resolved": "https://registry.npmjs.org/bson/-/bson-0.1.5.tgz" + "version": "0.1.8", + "from": "bson@0.1.8", + "resolved": "https://registry.npmjs.org/bson/-/bson-0.1.8.tgz" } } } diff --git a/package.json.in b/package.json.in index 24964d0..e2a6b6e 100644 --- a/package.json.in +++ b/package.json.in @@ -25,7 +25,7 @@ "dependencies": { "easejs": "0.2.x", - "mongodb": "1.2.8", + "mongodb": "1.2.14", "amqplib": "0.5.3" }, "devDependencies": { diff --git a/src/server/daemon/controller.js b/src/server/daemon/controller.js index 5bc9ce4..2206d5e 100644 --- a/src/server/daemon/controller.js +++ b/src/server/daemon/controller.js @@ -25,6 +25,7 @@ const { Db: MongoDb, Server: MongoServer, Connection: MongoConnection, + ReplSetServers: ReplSetServers, } = require( 'mongodb/lib/mongodb' ); const regex_base = /^\/quote\/([a-z0-9-]+)\/?(?:\/(\d+)\/?(?:\/(.*))?|\/(program.js))?$/; @@ -118,16 +119,7 @@ exports.post_rate_publish = {}; exports.init = function( logger, enc_service, conf ) { - var db = new MongoDb( - 'program', - new MongoServer( - process.env.MONGODB_HOST || '127.0.0.1', - +process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT, - { auto_reconnect: true } - ), - { native_parser: false, safe: false } - ); - + var db = _createDB( logger ); const dao = MongoServerDao( db ); _createDocumentServer( dao, logger, enc_service, conf ).then( srv => @@ -176,6 +168,35 @@ exports.init = function( logger, enc_service, conf ) } ); } +function _createDB( logger ) +{ + if(process.env.LIZA_MONGODB_HA==1) + { + var mongodbPort = process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT; + var mongodbReplSet = process.env.LIZA_MONGODB_REPLSET || 'rs0'; + var dbServers = new ReplSetServers( + [ + new MongoServer( process.env.LIZA_MONGODB_HOST_A, +process.env.LIZA_MONGODB_PORT_A || mongodbPort), + new MongoServer( process.env.LIZA_MONGODB_HOST_B, +process.env.LIZA_MONGODB_PORT_B || mongodbPort) + ], + {rs_name: mongodbReplSet, auto_reconnect: true} + ); + } + else + { + var dbServers = new MongoServer( + process.env.MONGODB_HOST || '127.0.0.1', + +process.env.MONGODB_PORT || MongoConnection.DEFAULT_PORT, + {auto_reconnect: true} + ); + } + var db = new MongoDb( + 'program', + dbServers, + {native_parser: false, safe: false, logger: logger} + ); + return db; +} function _createDocumentServer( dao, logger, enc_service, conf ) {