feat: accept ND_-prefixed env var names in config files (#5258)

* feat: add toPascalCase helper for config key display

Adds a toPascalCase helper that converts dotted lowercase Viper config keys
(e.g. 'scanner.schedule') to PascalCase (e.g. 'Scanner.Schedule') for use
in user-facing warning messages. Includes export_test.go binding and a
full Ginkgo DescribeTable test suite covering simple, dotted, multi-segment,
already-capitalized, and empty-string cases.

* feat: remap ND_-prefixed env var names found in config files

Detect when users mistakenly use environment variable names (like
ND_ADDRESS) in config files, remap them to canonical keys, and warn.
Fatal error if both ND_ and canonical versions of the same key exist.

Closes #5242
This commit is contained in:
Deluan Quintão
2026-03-28 13:17:31 -04:00
committed by GitHub
parent 2588558946
commit 2b041c02ad
5 changed files with 121 additions and 0 deletions
+8
View File
@@ -11,3 +11,11 @@ var ParseLanguages = parseLanguages
var ValidateURL = validateURL
var NormalizeSearchBackend = normalizeSearchBackend
var ToPascalCase = toPascalCase
func SetFatalFunc(f func(string)) func() {
old := fatalFunc
fatalFunc = f
return func() { fatalFunc = old }
}