From 8b096c98ea98bd0bf154fa416837e45d5416694d Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Sat, 14 Jan 2017 15:18:19 +0100 Subject: [PATCH] Expand env support --- app/config/env.js | 33 +++++++++++++++++++++++++++++++++ app/config/index.js | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/app/config/env.js b/app/config/env.js index 0fff85fda3..dd5c554af0 100644 --- a/app/config/env.js +++ b/app/config/env.js @@ -1,10 +1,39 @@ const logger = require('winston'); +const program = require('commander'); const config = {}; +if (process.env.RENOVATE_REPOSITORIES) { + config.repositories = list(process.env.RENOVATE_REPOSITORIES); +} +if (process.env.RENOVATE_DEP_TYPES) { + config.depTypes = list(process.env.RENOVATE_DEP_TYPES); +} +if (process.env.RENOVATE_FORCE) { + config.force = process.env.RENOVATE_FORCE; +} +if (process.env.RENOVATE_IGNORE_DEPS) { + config.ignoreDeps = list(process.env.RENOVATE_IGNORE_DEPS); +} +if (process.env.RENOVATE_LABELS) { + config.labels = list(process.env.RENOVATE_LABELS); +} if (process.env.LOG_LEVEL) { config.logLevel = process.env.LOG_LEVEL; } +if (process.env.RENOVATE_PACKAGE_FILES) { + if (config.repositories) { + // We can't use package files if we don't have repositories + config.repositories = config.repositories.map(repository => ({ + repository, + packageFiles: list(process.env.RENOVATE_PACKAGE_FILES), + })); + } else { + logger.error('Defining package files via env requires at least one repository too'); + program.outputHelp(); + process.exit(1); + } +} if (process.env.RENOVATE_TOKEN) { config.token = process.env.RENOVATE_TOKEN; } @@ -12,3 +41,7 @@ if (process.env.RENOVATE_TOKEN) { logger.debug(`Env config: ${JSON.stringify(config)}`); module.exports = config; + +function list(val) { + return val.split(','); +} diff --git a/app/config/index.js b/app/config/index.js index 0b6dc0b532..e5c6c33610 100644 --- a/app/config/index.js +++ b/app/config/index.js @@ -6,8 +6,8 @@ logger.debug('Generating config'); // Get configs const defaultConfig = require('./default'); const fileConfig = require('./file'); -const envConfig = require('./env'); const cliConfig = require('./cli'); +const envConfig = require('./env'); // Get global config const config = Object.assign({}, defaultConfig, fileConfig, envConfig, cliConfig); -- GitLab