From 18d14d655eba82c981698d0f4f94b96afd739312 Mon Sep 17 00:00:00 2001 From: Harry Hogg Date: Thu, 30 Sep 2021 13:32:03 +0100 Subject: [PATCH] fix(config): Subscribe to config changes instead of piggy backing off the loader watch. Signed-off-by: Harry Hogg --- packages/backend-common/src/config.ts | 8 +++++--- packages/backend-common/src/logging/rootLogger.ts | 1 + packages/backend/src/index.ts | 1 - 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/backend-common/src/config.ts b/packages/backend-common/src/config.ts index 39d0ef1096..0e6f993d8f 100644 --- a/packages/backend-common/src/config.ts +++ b/packages/backend-common/src/config.ts @@ -191,13 +191,12 @@ export async function loadBackendConfig(options: { configRoot: paths.targetRoot, configPaths: configPaths.map(opt => resolvePath(opt)), watch: { - async onChange(newConfigs) { + onChange(newConfigs) { options.logger.info( `Reloaded config from ${newConfigs.map(c => c.context).join(', ')}`, ); config.setConfig(ConfigReader.fromConfigs(newConfigs)); - await updateRedactionMap(configs, options.logger); }, stopSignal: new Promise(resolve => { if (currentCancelFunc) { @@ -218,7 +217,10 @@ export async function loadBackendConfig(options: { ); config.setConfig(ConfigReader.fromConfigs(configs)); - await updateRedactionMap(configs, options.logger); + + // Subscribe to config changes and update the redaction list for logging + updateRedactionMap(schema, configs, options.logger); + config.subscribe(() => updateRedactionMap(schema, configs, options.logger)); return config; } diff --git a/packages/backend-common/src/logging/rootLogger.ts b/packages/backend-common/src/logging/rootLogger.ts index 3691f5cd91..114f4b4f48 100644 --- a/packages/backend-common/src/logging/rootLogger.ts +++ b/packages/backend-common/src/logging/rootLogger.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { merge } from 'lodash'; import * as winston from 'winston'; import { LoggerOptions } from 'winston'; diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index cda618f4a8..b6c148dfba 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -86,7 +86,6 @@ async function main() { argv: process.argv, logger, }); - const createEnv = makeCreateEnv(config); const healthcheckEnv = useHotMemoize(module, () => createEnv('healthcheck'));