refactor db connection string
This commit is contained in:
parent
944de6fab0
commit
91e0fed95d
9 changed files with 47 additions and 82 deletions
|
|
@ -1,14 +1,8 @@
|
||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
var fs = require('fs')
|
|
||||||
var pgp = require('pg-promise')()
|
var pgp = require('pg-promise')()
|
||||||
|
var psqlUrl = require('../lib/options').postgres
|
||||||
|
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
var db = pgp(psqlUrl)
|
var db = pgp(psqlUrl)
|
||||||
|
|
||||||
db.manyOrNone(`select * from transactions where incoming=false
|
db.manyOrNone(`select * from transactions where incoming=false
|
||||||
|
|
|
||||||
|
|
@ -3,35 +3,24 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
var fs = require('fs')
|
var fs = require('fs')
|
||||||
const os = require('os')
|
|
||||||
var path = require('path')
|
|
||||||
var createServer = require('../lib/app.js')
|
var createServer = require('../lib/app.js')
|
||||||
var argv = require('minimist')(process.argv.slice(2))
|
var argv = require('minimist')(process.argv.slice(2))
|
||||||
|
var options = require('../lib/options')
|
||||||
var options
|
|
||||||
|
|
||||||
try {
|
|
||||||
options = JSON.parse(fs.readFileSync('/etc/lamassu.json'))
|
|
||||||
} catch (err) {
|
|
||||||
try {
|
|
||||||
const homePath = path.resolve(os.homedir(), '.lamassu', 'lamassu.json')
|
|
||||||
options = JSON.parse(fs.readFileSync(homePath))
|
|
||||||
} catch (err2) {
|
|
||||||
console.log('Missing configuration file -- exiting.')
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
process.env.DATABASE_URL = options.postgresql
|
|
||||||
|
|
||||||
var port = process.env.PORT || 3000
|
var port = process.env.PORT || 3000
|
||||||
var httpOnly = options.httpOnly || argv.http
|
var httpOnly = options.httpOnly || argv.http
|
||||||
|
|
||||||
if (!httpOnly) {
|
if (!httpOnly) {
|
||||||
|
try {
|
||||||
options.https = {
|
options.https = {
|
||||||
key: fs.readFileSync(options.certKeyPath),
|
key: fs.readFileSync(options.certKeyPath),
|
||||||
cert: fs.readFileSync(options.certPath)
|
cert: fs.readFileSync(options.certPath)
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log('Please configure your certificate.')
|
||||||
|
console.log(err)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
options.mock = argv.mock
|
options.mock = argv.mock
|
||||||
|
|
|
||||||
20
bin/ssu
20
bin/ssu
|
|
@ -8,7 +8,7 @@ var argv = process.argv.slice(2)
|
||||||
var pgp = require('pg-promise')()
|
var pgp = require('pg-promise')()
|
||||||
var inquirer = require('inquirer')
|
var inquirer = require('inquirer')
|
||||||
var R = require('ramda')
|
var R = require('ramda')
|
||||||
var fs = require('fs')
|
var psqlUrl = require('../lib/options').postgres
|
||||||
|
|
||||||
var cmd = argv[0]
|
var cmd = argv[0]
|
||||||
|
|
||||||
|
|
@ -130,12 +130,6 @@ function reboot () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function cryptoActivate (code, on) {
|
function cryptoActivate (code, on) {
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
var db = pgp(psqlUrl)
|
var db = pgp(psqlUrl)
|
||||||
|
|
||||||
return db.one('select data from user_config where type=$1', 'exchanges')
|
return db.one('select data from user_config where type=$1', 'exchanges')
|
||||||
|
|
@ -180,12 +174,6 @@ function crypto () {
|
||||||
|
|
||||||
code = code.toUpperCase()
|
code = code.toUpperCase()
|
||||||
|
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
var db = pgp(psqlUrl)
|
var db = pgp(psqlUrl)
|
||||||
|
|
||||||
return db.one('select data from user_config where type=$1', 'exchanges')
|
return db.one('select data from user_config where type=$1', 'exchanges')
|
||||||
|
|
@ -211,12 +199,6 @@ function crypto () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function connect () {
|
function connect () {
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
return pgp(psqlUrl)
|
return pgp(psqlUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ var _ = require('lodash');
|
||||||
var pg = require('pg');
|
var pg = require('pg');
|
||||||
var uuid = require('node-uuid');
|
var uuid = require('node-uuid');
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
|
var psqlUrl = require('../lib/options').postgres
|
||||||
|
|
||||||
var raqiaPath = path.join(__dirname, '..', 'raqia.json');
|
var raqiaPath = path.join(__dirname, '..', 'raqia.json');
|
||||||
|
|
||||||
|
|
@ -33,13 +34,6 @@ try {
|
||||||
process.exit(2);
|
process.exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
var psqlUrl;
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql;
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu';
|
|
||||||
}
|
|
||||||
|
|
||||||
var client = new pg.Client(psqlUrl);
|
var client = new pg.Client(psqlUrl);
|
||||||
client.connect(function(err) {
|
client.connect(function(err) {
|
||||||
if (err) return console.log(err);
|
if (err) return console.log(err);
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
require('es6-promise').polyfill()
|
require('es6-promise').polyfill()
|
||||||
|
|
||||||
var fs = require('fs')
|
|
||||||
var notifier = require('../lib/notifier')
|
var notifier = require('../lib/notifier')
|
||||||
var db = require('../lib/postgresql_interface')
|
var db = require('../lib/postgresql_interface')
|
||||||
|
var psqlUrl = require('../lib/options').postgres
|
||||||
|
|
||||||
function getBalances () {
|
function getBalances () {
|
||||||
return [
|
return [
|
||||||
|
|
@ -11,13 +11,6 @@ function getBalances () {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
|
|
||||||
db.init(psqlUrl)
|
db.init(psqlUrl)
|
||||||
notifier.init(db, getBalances, {lowBalanceThreshold: 10})
|
notifier.init(db, getBalances, {lowBalanceThreshold: 10})
|
||||||
console.log('DEBUG0')
|
console.log('DEBUG0')
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,7 @@
|
||||||
var fs = require('fs')
|
|
||||||
var pgp = require('pg-promise')()
|
var pgp = require('pg-promise')()
|
||||||
|
var psqlUrl = require('../lib/options').postgres
|
||||||
|
|
||||||
function connect () {
|
function connect () {
|
||||||
var psqlUrl
|
|
||||||
try {
|
|
||||||
psqlUrl = process.env.DATABASE_URL || JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql
|
|
||||||
} catch (ex) {
|
|
||||||
psqlUrl = 'psql://lamassu:lamassu@localhost/lamassu'
|
|
||||||
}
|
|
||||||
return pgp(psqlUrl)
|
return pgp(psqlUrl)
|
||||||
}
|
}
|
||||||
exports.connect = connect
|
exports.connect = connect
|
||||||
|
|
|
||||||
29
lib/options.js
Normal file
29
lib/options.js
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
var fs = require('fs')
|
||||||
|
var path = require('path')
|
||||||
|
var os = require('os')
|
||||||
|
|
||||||
|
var options
|
||||||
|
var configPath
|
||||||
|
|
||||||
|
try {
|
||||||
|
configPath = '/etc/lamassu.json'
|
||||||
|
options = JSON.parse(fs.readFileSync(configPath))
|
||||||
|
} catch (err) {
|
||||||
|
try {
|
||||||
|
configPath = path.resolve(os.homedir(), '.lamassu', 'lamassu.json')
|
||||||
|
options = JSON.parse(fs.readFileSync(configPath))
|
||||||
|
} catch (err2) {
|
||||||
|
console.log('Missing configuration file -- exiting.')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var psqlUrl = options.postgres
|
||||||
|
if (!psqlUrl) {
|
||||||
|
console.log('Missing postgres entry in configuration file: %s', configPath)
|
||||||
|
process.exit(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = options
|
||||||
|
|
@ -1,24 +1,15 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var fs = require('fs');
|
|
||||||
var pg = require('pg');
|
var pg = require('pg');
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
|
var psqlUrl = require('../lib/options').postgres
|
||||||
var conString;
|
|
||||||
try {
|
|
||||||
conString = process.env.DATABASE_URL ||
|
|
||||||
JSON.parse(fs.readFileSync('/etc/lamassu.json')).postgresql;
|
|
||||||
}
|
|
||||||
catch (ex) {
|
|
||||||
conString = 'psql://lamassu:lamassu@localhost/lamassu';
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.query = function query(sql, cb) {
|
exports.query = function query(sql, cb) {
|
||||||
exports.multi([sql], cb);
|
exports.multi([sql], cb);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.silentQuery = function query(sql, cb) {
|
exports.silentQuery = function query(sql, cb) {
|
||||||
pg.connect(conString, function(err, client, done) {
|
pg.connect(psqlUrl, function(err, client, done) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err.message);
|
console.log(err.message);
|
||||||
return cb(err);
|
return cb(err);
|
||||||
|
|
@ -32,7 +23,7 @@ exports.silentQuery = function query(sql, cb) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.multi = function multi(sqls, cb) {
|
exports.multi = function multi(sqls, cb) {
|
||||||
pg.connect(conString, function(err, client, done) {
|
pg.connect(psqlUrl, function(err, client, done) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err.message);
|
console.log(err.message);
|
||||||
return cb(err);
|
return cb(err);
|
||||||
|
|
|
||||||
1
todo.txt
1
todo.txt
|
|
@ -6,5 +6,4 @@
|
||||||
- throttle status check for 3rd services like bitgo
|
- throttle status check for 3rd services like bitgo
|
||||||
|
|
||||||
- load stuff from master config file
|
- load stuff from master config file
|
||||||
- set up DATABASE_URL environment variable in lamassu-server
|
|
||||||
- add default configuration
|
- add default configuration
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue