From 90db7e28a66c6a720914f7db0dddec8e2f133569 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 5 Feb 2021 17:08:52 +0100 Subject: [PATCH] feat(config): delete after setting admin config (#8557) --- lib/config/admin.ts | 17 ++++++++++------- lib/config/definitions.ts | 4 ---- lib/workers/global/index.ts | 3 --- lib/workers/repository/index.ts | 2 ++ 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/config/admin.ts b/lib/config/admin.ts index 33d0e99f84..1bbb4b2ae8 100644 --- a/lib/config/admin.ts +++ b/lib/config/admin.ts @@ -2,17 +2,20 @@ import { RenovateConfig, RepoAdminConfig } from './common'; let adminConfig: RepoAdminConfig = {}; -const derivedAdminOptions = ['localDir']; +// TODO: once admin config work is complete, add a test to make sure this list includes all options with admin=true +export const repoAdminOptions = [ + 'allowPostUpgradeCommandTemplating', + 'allowedPostUpgradeCommands', + 'dockerImagePrefix', + 'dockerUser', + 'trustLevel', +]; -export function setAdminConfig( - config: RenovateConfig = {}, - adminOptions = Object.keys(config) -): void { +export function setAdminConfig(config: RenovateConfig = {}): void { adminConfig = {}; - const repoAdminOptions = adminOptions.concat(derivedAdminOptions); for (const option of repoAdminOptions) { adminConfig[option] = config[option]; - // TODO: delete from config + delete config[option]; // eslint-disable-line no-param-reassign } } diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts index cfe7c01d26..f30e2df692 100644 --- a/lib/config/definitions.ts +++ b/lib/config/definitions.ts @@ -1920,10 +1920,6 @@ export function getOptions(): RenovateOptions[] { return options; } -export function getAdminOptionNames(): string[] { - return options.filter((option) => option.admin).map((option) => option.name); -} - function loadManagerOptions(): void { for (const [name, config] of getManagers().entries()) { if (config.defaultConfig) { diff --git a/lib/workers/global/index.ts b/lib/workers/global/index.ts index e9075469fd..4e072cc51b 100644 --- a/lib/workers/global/index.ts +++ b/lib/workers/global/index.ts @@ -4,8 +4,6 @@ import fs from 'fs-extra'; import upath from 'upath'; import * as configParser from '../../config'; import { GlobalConfig } from '../../config'; -import { setAdminConfig } from '../../config/admin'; -import { getAdminOptionNames } from '../../config/definitions'; import { getProblems, logger, setMeta } from '../../logger'; import { setUtilConfig } from '../../util'; import * as hostRules from '../../util/host-rules'; @@ -61,7 +59,6 @@ export async function start(): Promise<number> { break; } const repoConfig = await getRepositoryConfig(config, repository); - setAdminConfig(repoConfig, getAdminOptionNames()); await setUtilConfig(repoConfig); if (repoConfig.hostRules) { hostRules.clear(); diff --git a/lib/workers/repository/index.ts b/lib/workers/repository/index.ts index 370e1d3d14..02c4ec312f 100644 --- a/lib/workers/repository/index.ts +++ b/lib/workers/repository/index.ts @@ -1,5 +1,6 @@ import fs from 'fs-extra'; import { RenovateConfig } from '../../config'; +import { setAdminConfig } from '../../config/admin'; import { logger, setMeta } from '../../logger'; import { deleteLocalFile, privateCacheDir } from '../../util/fs'; import * as queue from '../../util/http/queue'; @@ -28,6 +29,7 @@ export async function renovateRepository( ): Promise<ProcessResult> { splitInit(); let config = { ...repoConfig }; + setAdminConfig(config); setMeta({ repository: config.repository }); logger.info({ renovateVersion }, 'Repository started'); logger.trace({ config }); -- GitLab