diff --git a/packages/cluster/src/commands/down.js b/packages/cluster/src/commands/down.js index e9053e21..79acde0d 100644 --- a/packages/cluster/src/commands/down.js +++ b/packages/cluster/src/commands/down.js @@ -1,16 +1,19 @@ const chalk = require('chalk') const path = require('path') const { exec, reporter } = require('@dhis2/cli-helpers-engine') -const { initDockerComposeCache, makeComposeProject } = require('../common') +const { + initDockerComposeCache, + makeComposeProject, + resolveConfiguration, +} = require('../common') const defaults = require('../defaults') -const run = async function({ name, clean, getCache, ...argv }) { +const run = async function({ name, clean, getCache, cluster, ...argv }) { + const { dockerComposeRepository } = resolveConfiguration(argv, {}, cluster) const cacheLocation = await initDockerComposeCache({ cache: getCache(), - dockerComposeRepository: - argv.cluster.dockerComposeRepository || - defaults.dockerComposeRepository, + dockerComposeRepository, force: false, }) diff --git a/packages/cluster/src/commands/logs.js b/packages/cluster/src/commands/logs.js index 4b9b691b..29fa307e 100644 --- a/packages/cluster/src/commands/logs.js +++ b/packages/cluster/src/commands/logs.js @@ -1,15 +1,18 @@ const chalk = require('chalk') const path = require('path') const { reporter, exec, tryCatchAsync } = require('@dhis2/cli-helpers-engine') -const { initDockerComposeCache, makeComposeProject } = require('../common') +const { + initDockerComposeCache, + makeComposeProject, + resolveConfiguration, +} = require('../common') const defaults = require('../defaults') -const run = async function({ service, name, ...argv }) { +const run = async function({ service, name, cluster, ...argv }) { + const { dockerComposeRepository } = resolveConfiguration(argv, {}, cluster) const cacheLocation = await initDockerComposeCache({ cache: argv.getCache(), - dockerComposeRepository: - argv.cluster.dockerComposeRepository || - defaults.dockerComposeRepository, + dockerComposeRepository, force: false, }) if (!cacheLocation) { diff --git a/packages/cluster/src/commands/restart.js b/packages/cluster/src/commands/restart.js index 008f29cc..ba401b60 100644 --- a/packages/cluster/src/commands/restart.js +++ b/packages/cluster/src/commands/restart.js @@ -1,16 +1,19 @@ const chalk = require('chalk') const path = require('path') const { reporter, exec, tryCatchAsync } = require('@dhis2/cli-helpers-engine') -const { initDockerComposeCache, makeComposeProject } = require('../common') +const { + initDockerComposeCache, + makeComposeProject, + resolveConfiguration, +} = require('../common') const defaults = require('../defaults') -const run = async function({ service, name, port, ...argv }) { +const run = async function({ service, name, port, cluster, ...argv }) { + const { dockerComposeRepository } = resolveConfiguration(argv, {}, cluster) const cacheLocation = await initDockerComposeCache({ cache: argv.getCache(), - dockerComposeRepository: - argv.cluster.dockerComposeRepository || - defaults.dockerComposeRepository, + dockerComposeRepository, force: false, }) if (!cacheLocation) { diff --git a/packages/cluster/src/commands/seed.js b/packages/cluster/src/commands/seed.js index a0fb3317..924f89b0 100644 --- a/packages/cluster/src/commands/seed.js +++ b/packages/cluster/src/commands/seed.js @@ -1,16 +1,20 @@ const { reporter } = require('@dhis2/cli-helpers-engine') -const { initDockerComposeCache } = require('../common') +const { initDockerComposeCache, resolveConfiguration } = require('../common') const { seed } = require('../db') const defaults = require('../defaults') const run = async function({ dhis2Version, ...argv }) { const { cluster } = argv + const { dockerComposeRepository, dbVersion } = resolveConfiguration( + argv, + {}, + cluster + ) const cacheLocation = await initDockerComposeCache({ cache: argv.getCache(), - dockerComposeRepository: - cluster.dockerComposeRepository || defaults.dockerComposeRepository, + dockerComposeRepository, force: false, }) @@ -19,11 +23,9 @@ const run = async function({ dhis2Version, ...argv }) { process.exit(1) } - const resolvedVersion = dhis2Version || name - return await seed({ cacheLocation, - dbVersion: resolvedVersion, + dbVersion, ...argv, }) } diff --git a/packages/cluster/src/commands/up.js b/packages/cluster/src/commands/up.js index 6a0c4c7c..778b06b5 100644 --- a/packages/cluster/src/commands/up.js +++ b/packages/cluster/src/commands/up.js @@ -5,6 +5,7 @@ const { initDockerComposeCache, makeComposeProject, makeEnvironment, + resolveConfiguration, } = require('../common') const defaults = require('../defaults') @@ -12,13 +13,11 @@ const { seed: doSeed } = require('../db') const run = async function(argv) { const { cluster, name, seed, seedFile, update } = argv - - const runtime = makeEnvironment(argv, {}, cluster) + const cfg = resolveConfiguration(argv, {}, cluster) const cacheLocation = await initDockerComposeCache({ cache: argv.getCache(), - dockerComposeRepository: - cluster.dockerComposeRepository || defaults.dockerComposeRepository, + dockerComposeRepository: cfg.dockerComposeRepository, force: update, }) @@ -30,7 +29,7 @@ const run = async function(argv) { if (seed || seedFile) { await doSeed({ cacheLocation, - dbVersion: runtime.DHIS2_CORE_DB_VERSION, + dbVersion: cfg.dbVersion, name, path: seedFile, update, @@ -43,7 +42,7 @@ const run = async function(argv) { const res = await tryCatchAsync( 'exec(docker-compose)', exec({ - env: runtime, + env: makeEnvironment(cfg), cmd: 'docker-compose', args: [ '-p', diff --git a/packages/cluster/src/common.js b/packages/cluster/src/common.js index 6b237e72..fc1d1089 100644 --- a/packages/cluster/src/common.js +++ b/packages/cluster/src/common.js @@ -91,9 +91,7 @@ function resolveConfiguration(argv = {}, cache = {}, config = {}) { return resolved } -module.exports.makeEnvironment = (argv = {}, cache = {}, config = {}) => { - const cfg = resolveConfiguration(argv, cache, config) - +module.exports.makeEnvironment = cfg => { const env = { DHIS2_CORE_NAME: cfg.name, DHIS2_CORE_IMAGE: cfg.dockerImage, diff --git a/packages/cluster/tests/setup-environment.js b/packages/cluster/tests/setup-environment.js index 58c7c5bd..5b75eacc 100644 --- a/packages/cluster/tests/setup-environment.js +++ b/packages/cluster/tests/setup-environment.js @@ -1,6 +1,6 @@ const test = require('tape') -const { makeEnvironment } = require('../src/common.js') +const { makeEnvironment, resolveConfiguration } = require('../src/common.js') const defaults = require('../src/defaults.js') @@ -13,7 +13,7 @@ test('build runtime environment based on defaults', function(t) { const cache = {} const config = {} - const actual = makeEnvironment(argv, cache, config) + const actual = makeEnvironment(resolveConfiguration(argv, cache, config)) const expected = { DHIS2_CORE_NAME: 'dev', @@ -42,7 +42,7 @@ test('build runtime environment based on args', function(t) { const cache = {} const config = {} - const actual = makeEnvironment(argv, cache, config) + const actual = makeEnvironment(resolveConfiguration(argv, cache, config)) const expected = { DHIS2_CORE_NAME: 'dev', @@ -73,7 +73,7 @@ test('build runtime environment based on mixed args and config', function(t) { dbVersion: 'dev', } - const actual = makeEnvironment(argv, cache, config) + const actual = makeEnvironment(resolveConfiguration(argv, cache, config)) const expected = { DHIS2_CORE_NAME: 'mydev', @@ -104,7 +104,7 @@ test('build runtime environment based on mixed args, cache, config and defaults' dhis2Version: 'dev', } - const actual = makeEnvironment(argv, cache, config) + const actual = makeEnvironment(resolveConfiguration(argv, cache, config)) const expected = { DHIS2_CORE_NAME: 'mydev',