From 39b7070ffe41f8fee9b439227c34601e2f57e9ed Mon Sep 17 00:00:00 2001 From: Fabio Cigliano Date: Thu, 27 Sep 2018 02:32:30 +1200 Subject: [PATCH 1/7] lamassu-update minor fix (#174) * lamassu-update minor fix reset the terminal when linking/unlinking new exes * moved hash -r --- bin/lamassu-update | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/lamassu-update b/bin/lamassu-update index aade1b50..340c01cd 100755 --- a/bin/lamassu-update +++ b/bin/lamassu-update @@ -65,4 +65,7 @@ BACKUP_CRON="@daily $BACKUP_CMD > /dev/null" ( (crontab -l 2>/dev/null || echo -n "") | grep -v '@daily.*lamassu-backup-pg'; echo $BACKUP_CRON ) | crontab - >> $LOG_FILE 2>&1 $BACKUP_CMD >> $LOG_FILE 2>&1 +# reset terminal to link new executables +hash -r + decho "Update complete!" From ef84e2a2edf2415f8e95b3997efca3d9d064d05c Mon Sep 17 00:00:00 2001 From: Fabio Cigliano Date: Sun, 23 Sep 2018 11:05:31 +0200 Subject: [PATCH 2/7] fix outdated symlinks after update from v5 (#171) --- bin/lamassu-update | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bin/lamassu-update b/bin/lamassu-update index 340c01cd..c4f760d1 100755 --- a/bin/lamassu-update +++ b/bin/lamassu-update @@ -2,6 +2,7 @@ set -e export LOG_FILE=/tmp/update.$(date +"%Y%m%d").log +export NPM_BIN=$(npm -g bin) rm -f ${LOG_FILE} @@ -29,15 +30,19 @@ decho "stopping lamassu-server" supervisorctl stop lamassu-server >> ${LOG_FILE} 2>&1 supervisorctl stop lamassu-admin-server >> ${LOG_FILE} 2>&1 +decho "unlinking ${NPM_BIN}/lamassu* old executables" +find ${NPM_BIN} -type l \( -name "lamassu-*" -or -name "hkdf" \) -exec rm -fv {} \; >> ${LOG_FILE} 2>&1 + +if [ -d "/usr/lib/node_modules/lamassu-server" ]; then + decho "renaming old lamassu-server instance to lamassu-server-old" + mv -v "/usr/lib/node_modules/lamassu-server" "/usr/lib/node_modules/lamassu-server-old" >> ${LOG_FILE} 2>&1 +fi + decho "updating node" npm install n -g >> ${LOG_FILE} 2>&1 n lts >> ${LOG_FILE} 2>&1 decho "version installed $(node -v)" - -if [ -d "/usr/lib/node_modules/lamassu-server" ]; then - decho "renaming old lamassu-server instance to lamassu-server-old" - mv "/usr/lib/node_modules/lamassu-server" "/usr/lib/node_modules/lamassu-server-old" -fi +export NPM_BIN=$(npm -g bin) decho "updating lamassu-server" npm -g install lamassu/lamassu-server#stable --unsafe-perm >> ${LOG_FILE} 2>&1 @@ -51,7 +56,6 @@ lamassu-migrate >> ${LOG_FILE} 2>&1 lamassu-migrate-config >> ${LOG_FILE} 2>&1 decho "updating supervisor conf" -export NPM_BIN=$(npm -g bin) perl -i -pe 's/command=.*/command=$ENV{NPM_BIN}\/lamassu-server/g' /etc/supervisor/conf.d/lamassu-server.conf >> ${LOG_FILE} 2>&1 perl -i -pe 's/command=.*/command=$ENV{NPM_BIN}\/lamassu-admin-server/g' /etc/supervisor/conf.d/lamassu-admin-server.conf >> ${LOG_FILE} 2>&1 From 256538a0e2757b5dd48869f76298015651daac14 Mon Sep 17 00:00:00 2001 From: Neal Conner Date: Mon, 1 Oct 2018 11:35:32 -0400 Subject: [PATCH 3/7] Disable motd scripts (#177) * Disable motd scripts * Fix typo --- bin/lamassu-update | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bin/lamassu-update b/bin/lamassu-update index c4f760d1..4e590311 100755 --- a/bin/lamassu-update +++ b/bin/lamassu-update @@ -69,6 +69,15 @@ BACKUP_CRON="@daily $BACKUP_CMD > /dev/null" ( (crontab -l 2>/dev/null || echo -n "") | grep -v '@daily.*lamassu-backup-pg'; echo $BACKUP_CRON ) | crontab - >> $LOG_FILE 2>&1 $BACKUP_CMD >> $LOG_FILE 2>&1 +decho "updating motd scripts" +set +e +chmod -x /etc/update-motd.d/*-release-upgrade +chmod -x /etc/update-motd.d/*-updates-available +chmod -x /etc/update-motd.d/*-reboot-required +chmod -x /etc/update-motd.d/*-help-text +chmod -x /etc/update-motd.d/*-cloudguest +set -e + # reset terminal to link new executables hash -r From 87a4e87a0b66fc0e66f50a084a26fbde83c1c001 Mon Sep 17 00:00:00 2001 From: Fabio Cigliano Date: Thu, 27 Sep 2018 22:49:11 +1200 Subject: [PATCH 4/7] reworking l-s startup (#175) * reworking l-s startup it was failing to retry when starting with an invalid configuration * changed startup routine * start supervisor after update --- bin/lamassu-update | 2 ++ lib/app.js | 32 ++++++++++++++++++-------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/bin/lamassu-update b/bin/lamassu-update index 4e590311..1f8dd652 100755 --- a/bin/lamassu-update +++ b/bin/lamassu-update @@ -62,6 +62,8 @@ perl -i -pe 's/command=.*/command=$ENV{NPM_BIN}\/lamassu-admin-server/g' /etc/su decho "updating lamassu-server" supervisorctl update lamassu-server >> ${LOG_FILE} 2>&1 supervisorctl update lamassu-admin-server >> ${LOG_FILE} 2>&1 +supervisorctl start lamassu-server >> ${LOG_FILE} 2>&1 +supervisorctl start lamassu-admin-server >> ${LOG_FILE} 2>&1 decho "updating backups conf" BACKUP_CMD=${NPM_BIN}/lamassu-backup-pg diff --git a/lib/app.js b/lib/app.js index ba4ea3a5..a5661ebf 100644 --- a/lib/app.js +++ b/lib/app.js @@ -27,18 +27,22 @@ function run () { logger.error('[%d] Retrying in 10s...', count) } - const runner = () => runOnce() - .then(() => clearInterval(handler)) - .catch(errorHandler) + const runner = () => + settingsLoader.loadLatest() + .then(settings => { + clearInterval(handler) + return loadSanctions(settings) + .then(() => startServer(settings)) + }) + .catch(errorHandler) - return loadSanctions() - .then(() => { handler = setInterval(runner, 10000) }) - .then(runner) + handler = setInterval(runner, 10000) + return runner() } -function loadSanctions () { - return settingsLoader.loadLatest() - .then(settings => { +function loadSanctions (settings) { + return Promise.resolve() + .then(() => { const config = configManager.unscoped(settings.config) if (!config.sanctionsVerificationActive) return @@ -51,9 +55,9 @@ function loadSanctions () { }) } -function runOnce () { - return settingsLoader.loadLatest() - .then(settings => { +function startServer (settings) { + return Promise.resolve() + .then(() => { poller.start(settings) const httpsServerOptions = { @@ -74,12 +78,12 @@ function runOnce () { if (options.devMode) logger.info('In dev mode') server.listen(port, () => { - console.log('lamassu-server listening on port ' + + logger.info('lamassu-server listening on port ' + port + ' ' + (devMode ? '(http)' : '(https)')) }) localServer.listen(localPort, 'localhost', () => { - console.log('lamassu-server listening on local port ' + localPort) + logger.info('lamassu-server listening on local port ' + localPort) }) }) } From 489d5ffc6a9e59b5095224e9b3b70164b34e8113 Mon Sep 17 00:00:00 2001 From: pedromiguelmiranda <32689555+pedromiguelmiranda@users.noreply.github.com> Date: Wed, 3 Oct 2018 15:11:19 +0100 Subject: [PATCH 5/7] 7.3 crafty chhnemu | https://trello.com/c/3fMfHclE (#179) * Added default ETH(infura) * Code changes regarding review on PR 179 (https://github.com/lamassu/lamassu-server/pull/179) * Code changes regarding review on PR 179 (#179) --- lib/blockchain/install.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/blockchain/install.js b/lib/blockchain/install.js index 79d86f64..c2094540 100644 --- a/lib/blockchain/install.js +++ b/lib/blockchain/install.js @@ -97,13 +97,16 @@ function plugin (crypto) { } function run () { + const ETHEREUM_CRYPTO_CODE ='ETH' const choices = _.map(c => { const checked = isInstalledSoftware(c) && isInstalledVolume(c) return { name: c.display, value: c.code, checked, - disabled: checked && 'Installed' + disabled: c.cryptoCode === ETHEREUM_CRYPTO_CODE + ? 'Installed, use Infura option' + : checked && 'Installed' } }, cryptos) @@ -117,5 +120,8 @@ function run () { }) inquirer.prompt(questions) - .then(answers => processCryptos(answers.crypto)) + .then(answers => { + answers.crypto.push(coinUtils.getCryptoCurrency(ETHEREUM_CRYPTO_CODE).code) + processCryptos(answers.crypto) + }) } From fa028356a7af6430858d853ce476c53619a49236 Mon Sep 17 00:00:00 2001 From: pedromiguelmiranda <32689555+pedromiguelmiranda@users.noreply.github.com> Date: Thu, 4 Oct 2018 19:37:08 +0100 Subject: [PATCH 6/7] Drop Geth installation upon coins installation (#181) * drop geth installation * code refactoring --- lib/blockchain/install.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/blockchain/install.js b/lib/blockchain/install.js index c2094540..c4083f60 100644 --- a/lib/blockchain/install.js +++ b/lib/blockchain/install.js @@ -96,15 +96,14 @@ function plugin (crypto) { return plugin } -function run () { - const ETHEREUM_CRYPTO_CODE ='ETH' +function run () { const choices = _.map(c => { const checked = isInstalledSoftware(c) && isInstalledVolume(c) return { name: c.display, value: c.code, checked, - disabled: c.cryptoCode === ETHEREUM_CRYPTO_CODE + disabled: c.cryptoCode === 'ETH' ? 'Installed, use Infura option' : checked && 'Installed' } @@ -120,8 +119,5 @@ function run () { }) inquirer.prompt(questions) - .then(answers => { - answers.crypto.push(coinUtils.getCryptoCurrency(ETHEREUM_CRYPTO_CODE).code) - processCryptos(answers.crypto) - }) + .then(answers => processCryptos(answers.crypto)) } From cdcdc4c2d25455911f319af491190ce64542dda1 Mon Sep 17 00:00:00 2001 From: Josh Harvey Date: Sat, 6 Oct 2018 11:49:43 +0200 Subject: [PATCH 7/7] 7.1.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3f56a314..e95f2c29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lamassu-server", - "version": "7.1.0", + "version": "7.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 416d9158..75589af0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lamassu-server", "description": "bitcoin atm client server protocol module", "keywords": [], - "version": "7.1.0", + "version": "7.1.1", "license": "Unlicense", "author": "Lamassu (https://lamassu.is)", "dependencies": {