Plugins: add env variables needed for the secure socks proxy in the plugins sdk (#65878)

This commit is contained in:
Stephanie Hingtgen
2023-04-07 09:20:25 -05:00
committed by GitHub
parent fcdbb7a86f
commit 536fad5b61
6 changed files with 27 additions and 9 deletions

View File

@ -4,10 +4,12 @@ import (
"context"
"fmt"
"os"
"strconv"
"strings"
"github.com/grafana/grafana-aws-sdk/pkg/awsds"
"github.com/grafana/grafana-azure-sdk-go/azsettings"
"github.com/grafana/grafana-plugin-sdk-go/backend/proxy"
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/config"
@ -63,6 +65,7 @@ func (i *Initializer) envVars(plugin *plugins.Plugin) []string {
}
hostEnv = append(hostEnv, i.awsEnvVars()...)
hostEnv = append(hostEnv, i.secureSocksProxyEnvVars()...)
hostEnv = append(hostEnv, azsettings.WriteToEnvStr(i.cfg.Azure)...)
// Tracing
@ -97,6 +100,20 @@ func (i *Initializer) awsEnvVars() []string {
return variables
}
func (i *Initializer) secureSocksProxyEnvVars() []string {
var variables []string
if i.cfg.ProxySettings.Enabled {
variables = append(variables, proxy.PluginSecureSocksProxyClientCert+"="+i.cfg.ProxySettings.ClientCert)
variables = append(variables, proxy.PluginSecureSocksProxyClientKey+"="+i.cfg.ProxySettings.ClientKey)
variables = append(variables, proxy.PluginSecureSocksProxyRootCACert+"="+i.cfg.ProxySettings.RootCA)
variables = append(variables, proxy.PluginSecureSocksProxyProxyAddress+"="+i.cfg.ProxySettings.ProxyAddress)
variables = append(variables, proxy.PluginSecureSocksProxyServerName+"="+i.cfg.ProxySettings.ServerName)
variables = append(variables, proxy.PluginSecureSocksProxyEnabled+"="+strconv.FormatBool(i.cfg.ProxySettings.Enabled))
}
return variables
}
type pluginSettings map[string]string
func (ps pluginSettings) asEnvVar(prefix string, hostEnv []string) []string {