Add ability to override config variables with env variables (#32554)

* Add ability to override config variables with env variables

* Inline checkForOverrides

* Update pkg/plugins/backendplugin/manager/plugin_settings.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Dimitris Sotirakis
2021-03-31 18:51:16 +02:00
committed by GitHub
co-authored by Arve Knudsen
parent 6a3faad0b0
commit d42bfedd9e
2 changed files with 59 additions and 2 deletions
@@ -2,6 +2,7 @@ package manager
import (
"fmt"
"os"
"strings"
"github.com/grafana/grafana/pkg/setting"
@@ -10,9 +11,14 @@ import (
type pluginSettings map[string]string
func (ps pluginSettings) ToEnv(prefix string, hostEnv []string) []string {
env := []string{}
var env []string
for k, v := range ps {
env = append(env, fmt.Sprintf("%s_%s=%s", prefix, strings.ToUpper(k), v))
key := fmt.Sprintf("%s_%s", prefix, strings.ToUpper(k))
if value := os.Getenv(key); value != "" {
v = value
}
env = append(env, fmt.Sprintf("%s=%s", key, v))
}
env = append(env, hostEnv...)