[MM-57194] Allow plugins to mark setting fields as secret (#27986)

Co-authored-by: Claudio Costa <cstcld91@gmail.com>
Этот коммит содержится в:
Ben Schumacher
2024-09-12 19:23:57 +02:00
коммит произвёл GitHub
родитель 84a0c09d56
Коммит 70fe2abea6
13 изменённых файлов: 311 добавлений и 45 удалений

Просмотреть файл

@@ -60,21 +60,24 @@ var configSensitivePaths = map[string]bool{
// Sanitize replaces sensitive config values in the diff with asterisks filled strings.
func (cd ConfigDiffs) Sanitize() ConfigDiffs {
if len(cd) == 1 {
// PluginSettings.Plugins gets sanitized anyway, so there is no need to use the plugin manifests here.
var pluginManifests []*model.Manifest
cfgPtr, ok := cd[0].BaseVal.(*model.Config)
if ok {
cfgPtr.Sanitize()
cfgPtr.Sanitize(pluginManifests)
}
cfgPtr, ok = cd[0].ActualVal.(*model.Config)
if ok {
cfgPtr.Sanitize()
cfgPtr.Sanitize(pluginManifests)
}
cfgVal, ok := cd[0].BaseVal.(model.Config)
if ok {
cfgVal.Sanitize()
cfgVal.Sanitize(pluginManifests)
}
cfgVal, ok = cd[0].ActualVal.(model.Config)
if ok {
cfgVal.Sanitize()
cfgVal.Sanitize(pluginManifests)
}
}

Просмотреть файл

@@ -113,7 +113,7 @@ func TestDiffSanitized(t *testing.T) {
Path: "",
BaseVal: func() model.Config {
cfg := defaultConfigGen()
cfg.Sanitize()
cfg.Sanitize(nil)
return *cfg
}(),
ActualVal: model.Config{},
@@ -131,7 +131,7 @@ func TestDiffSanitized(t *testing.T) {
BaseVal: model.Config{},
ActualVal: func() model.Config {
cfg := defaultConfigGen()
cfg.Sanitize()
cfg.Sanitize(nil)
return *cfg
}(),
},