polkadot-secure-validator
Advanced tools
Comparing version 0.5.0 to 0.6.0
{ | ||
"name": "polkadot-secure-validator", | ||
"version": "0.5.0", | ||
"version": "0.6.0", | ||
"main": "src/index.js", | ||
@@ -34,3 +34,3 @@ "repository": "https://github.com/w3f/polkadot-secure-validator", | ||
"chai": "^4.2.0", | ||
"eslint": "^6.4.0", | ||
"eslint": "5.16.0", | ||
"mocha": "^6.2.0", | ||
@@ -37,0 +37,0 @@ "tmp": "^0.1.0" |
@@ -33,7 +33,17 @@ const fs = require('fs-extra'); | ||
const syncPromises = [ | ||
this._create('validator', sshKeys.validatorPublicKey, this.config.validators.nodes), | ||
this._create('publicNode', sshKeys.publicNodePublicKey, this.config.publicNodes.nodes) | ||
]; | ||
let validatorSyncPromises = []; | ||
try { | ||
validatorSyncPromises = await this._create('validator', sshKeys.validatorPublicKey, this.config.validators.nodes); | ||
} catch(e) { | ||
console.log(`Could not get validator sync promises: ${e.message}`); | ||
} | ||
let publicNodeSyncPromises = []; | ||
try { | ||
publicNodeSyncPromises = await this._create('publicNode', sshKeys.publicNodePublicKey, this.config.publicNodes.nodes); | ||
} catch(e) { | ||
console.log(`Could not get publicNodes sync promises: ${e.message}`); | ||
} | ||
const syncPromises = validatorSyncPromises.concat(publicNodeSyncPromises) | ||
return Promise.all(syncPromises); | ||
@@ -43,7 +53,18 @@ } | ||
async clean() { | ||
const cleanPromises = [ | ||
this._destroy('validator', this.config.validators.nodes), | ||
this._destroy('publicNode', this.config.publicNodes.nodes) | ||
]; | ||
let validatorCleanPromises = []; | ||
try { | ||
validatorCleanPromises = await this._destroy('validator',this.config.validators.nodes); | ||
} catch(e) { | ||
console.log(`Could not get validator clean promises: ${e.message}`); | ||
} | ||
let publicNodesCleanPromises = [] | ||
try { | ||
publicNodesCleanPromises = await this._destroy('publicNode', this.config.publicNodes.nodes); | ||
} catch(e) { | ||
console.log(`Could not get publicNodes clean promises: ${e.message}`); | ||
} | ||
const cleanPromises = validatorCleanPromises.concat(publicNodesCleanPromises); | ||
return Promise.all(cleanPromises); | ||
@@ -63,17 +84,17 @@ } | ||
for (let counter = 0; counter < nodes.length; counter++) { | ||
const tfPath = this._terraformNodeDirPath(type, counter); | ||
const cwd = this._terraformNodeDirPath(type, counter); | ||
const backendConfig = this._backendConfig(type, counter); | ||
const nodeName = this._nodeName(type, counter); | ||
createPromises.push(this._createPromise(tfPath, sshKey, nodes[counter], backendConfig, nodeName)); | ||
} | ||
return Promise.all(createPromises); | ||
} | ||
createPromises.push(new Promise(async (resolve) => { | ||
const options = { cwd }; | ||
await this._cmd(`init -var state_project=${this.config.state.project} -backend-config=bucket=${backendConfig.bucket} -backend-config=prefix=${backendConfig.prefix}`, options); | ||
async _createPromise(cwd, sshKey, node, backendConfig, nodeName) { | ||
const options = { cwd }; | ||
await this._cmd(`init -var state_project=${this.config.state.project} -backend-config=bucket=${backendConfig.bucket} -backend-config=prefix=${backendConfig.prefix}`, options); | ||
this._createVarsFile(cwd, nodes[counter], sshKey, nodeName); | ||
this._createVarsFile(cwd, node, sshKey, nodeName); | ||
await this._cmd(`apply -auto-approve`, options); | ||
return this._cmd(`apply -auto-approve`, options); | ||
resolve(true); | ||
})); | ||
} | ||
return createPromises; | ||
} | ||
@@ -85,14 +106,14 @@ | ||
for (let counter = 0; counter < nodes.length; counter++) { | ||
const tfPath = this._terraformNodeDirPath(type, counter) | ||
const cwd = this._terraformNodeDirPath(type, counter) | ||
const backendConfig = this._backendConfig(type, counter); | ||
destroyPromises.push(this._destroyPromise(tfPath, backendConfig)); | ||
} | ||
return Promise.all(destroyPromises); | ||
} | ||
destroyPromises.push(new Promise(async (resolve) => { | ||
const options = { cwd }; | ||
await this._cmd(`init -var state_project=${this.config.state.project} -backend-config=bucket=${backendConfig.bucket} -backend-config=prefix=${backendConfig.prefix}`, options); | ||
async _destroyPromise(cwd, backendConfig) { | ||
const options = { cwd }; | ||
await this._cmd(`init -var state_project=${this.config.state.project} -backend-config=bucket=${backendConfig.bucket} -backend-config=prefix=${backendConfig.prefix}`, options); | ||
await this._cmd('destroy -lock=false -auto-approve', options); | ||
return this._cmd('destroy -lock=false -auto-approve', options); | ||
resolve(true); | ||
})); | ||
} | ||
return destroyPromises; | ||
} | ||
@@ -99,0 +120,0 @@ |
122864
603