From f05bdb33655f3066c1079fbf6bbeaebb51858b4d Mon Sep 17 00:00:00 2001 From: Overtorment Date: Sun, 2 Dec 2018 22:46:33 +0000 Subject: [PATCH] OPS: macaroon & tls.cert in env --- config.js | 32 ++++++++++++++++---------------- controllers/api.js | 26 +++++++++++++++++++------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/config.js b/config.js index 1af33df..22585cb 100644 --- a/config.js +++ b/config.js @@ -1,22 +1,22 @@ let config = { - bitcoind: { - rpc: 'http://login:password@1.1.1.1:8332', - }, - redis: { - port: 12914, - host: '1.1.1.1', - family: 4, - password: 'password', - db: 0, - }, - lnd: { - url: '1.1.1.1:10009', - }, + bitcoind: { + rpc: 'http://login:password@1.1.1.1:8332', + }, + redis: { + port: 12914, + host: '1.1.1.1', + family: 4, + password: 'password', + db: 0, + }, + lnd: { + url: '1.1.1.1:10009', + }, }; if (process.env.CONFIG) { - console.log('using config from env'); - config = JSON.parse(process.env.CONFIG) + console.log('using config from env'); + config = JSON.parse(process.env.CONFIG); } -module.exports = config; \ No newline at end of file +module.exports = config; diff --git a/controllers/api.js b/controllers/api.js index 81ff68d..e8101ad 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -26,16 +26,28 @@ var fs = require('fs'); var grpc = require('grpc'); var lnrpc = grpc.load('rpc.proto').lnrpc; process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA'; -var lndCert = fs.readFileSync('tls.cert'); -var sslCreds = grpc.credentials.createSsl(lndCert); -var macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) { - var macaroon = fs.readFileSync('admin.macaroon').toString('hex'); - var metadata = new grpc.Metadata(); +var lndCert; +if (process.env.TLSCERT) { + lndCert = Buffer.from(process.env.TLSCERT, 'hex'); +} else { + lndCert = fs.readFileSync('tls.cert'); +} +console.log('using tls.cert', lndCert.toString('hex')); +let sslCreds = grpc.credentials.createSsl(lndCert); +let macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) { + let macaroon; + if (process.env.MACAROON) { + macaroon = process.env.MACAROON; + } else { + macaroon = fs.readFileSync('admin.macaroon').toString('hex'); + } + console.log('using macaroon', macaroon); + let metadata = new grpc.Metadata(); metadata.add('macaroon', macaroon); callback(null, metadata); }); -var creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds); -var lightning = new lnrpc.Lightning(config.lnd.url, creds); +let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds); +let lightning = new lnrpc.Lightning(config.lnd.url, creds); // ###################### SMOKE TESTS ########################