From a8f7dd12a55254781e3e91be8b14e635412251e8 Mon Sep 17 00:00:00 2001 From: Jon Edvald Date: Tue, 3 Sep 2019 21:54:08 +0200 Subject: [PATCH] fix: allow dots in env variable names This is to accommodate Java services that expect this format (e.g. "some.var"). It's not expressly permitted in POSIX but is apparently commonly used, so I see no reason to disallow it. --- garden-service/src/config/common.ts | 2 +- garden-service/test/unit/src/config/common.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/garden-service/src/config/common.ts b/garden-service/src/config/common.ts index 47ae66fbaf..14a8e755ab 100644 --- a/garden-service/src/config/common.ts +++ b/garden-service/src/config/common.ts @@ -168,7 +168,7 @@ export const absolutePathRegex = /^\/.*/ // Note: Only checks for the leading sl // from https://stackoverflow.com/a/12311250/3290965 export const identifierRegex = /^(?![0-9]+$)(?!.*-$)(?!-)[a-z0-9-]{1,63}$/ export const userIdentifierRegex = /^(?!garden)(?=.{1,63}$)[a-z][a-z0-9]*(-[a-z0-9]+)*$/ -export const envVarRegex = /^(?!garden)[a-z_][a-z0-9_]*$/i +export const envVarRegex = /^(?!garden)[a-z_][a-z0-9_\.]*$/i export const joiIdentifierDescription = "valid RFC1035/RFC1123 (DNS) label (may contain lowercase letters, numbers and dashes, must start with a letter, " + diff --git a/garden-service/test/unit/src/config/common.ts b/garden-service/test/unit/src/config/common.ts index 72da596db2..aa3b75dff9 100644 --- a/garden-service/test/unit/src/config/common.ts +++ b/garden-service/test/unit/src/config/common.ts @@ -36,6 +36,7 @@ describe("envVarRegex", () => { "_2134", "a_b_c", "A_B_C_", + "some.var", // This is not strictly valid POSIX, but a bunch of Java services use this style ] for (const tc of testCases) { const result = envVarRegex.test(tc)