UNPKG

@adikari/config-manager

Version:

Tool to deploy configs to different stores

55 lines (49 loc) 1.2 kB
const chalk = require('chalk'); const { makePopulateConfig } = require('./make-populate-config'); const { makePopulateSecret } = require('./make-populate-secret'); const { makePromptRequiredConfigs } = require('./make-prompt-required-configs'); const { log } = require('../../../lib/utils/logger'); const makeConfigure = ({ stage, interactive, missingOnly, settingsService, parameterStore }) => () => { log( chalk.cyan( `Running Config Manager in ${ interactive ? 'interactive' : 'non-interactive' } mode..` ) ); const promptRequiredConfigs = makePromptRequiredConfigs({ parameterStore }); const populateConfig = makePopulateConfig({ parameterStore, promptRequiredConfigs }); const populateSecret = makePopulateSecret({ parameterStore, promptRequiredConfigs }); return settingsService .getSettings() .tap(settings => { return populateConfig({ settings, stage, interactive, missingOnly }); }) .then(settings => { return populateSecret({ settings, interactive, missingOnly }); }); }; module.exports = { makeConfigure };