@adikari/config-manager
Version:
Tool to deploy configs to different stores
55 lines (49 loc) • 1.2 kB
JavaScript
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
};