Plugins: Remove unnecessary error result from env vars interface (#73224)
* remove error from interface * fix test
This commit is contained in:
@@ -16,7 +16,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Provider interface {
|
type Provider interface {
|
||||||
Get(ctx context.Context, p *plugins.Plugin) ([]string, error)
|
Get(ctx context.Context, p *plugins.Plugin) []string
|
||||||
}
|
}
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
@@ -31,7 +31,7 @@ func NewProvider(cfg *config.Cfg, license plugins.Licensing) *Service {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Service) Get(ctx context.Context, p *plugins.Plugin) ([]string, error) {
|
func (s *Service) Get(_ context.Context, p *plugins.Plugin) []string {
|
||||||
hostEnv := []string{
|
hostEnv := []string{
|
||||||
fmt.Sprintf("GF_VERSION=%s", s.cfg.BuildVersion),
|
fmt.Sprintf("GF_VERSION=%s", s.cfg.BuildVersion),
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ func (s *Service) Get(ctx context.Context, p *plugins.Plugin) ([]string, error)
|
|||||||
hostEnv = append(hostEnv, s.tracingEnvVars(p)...)
|
hostEnv = append(hostEnv, s.tracingEnvVars(p)...)
|
||||||
|
|
||||||
ev := getPluginSettings(p.ID, s.cfg).asEnvVar("GF_PLUGIN", hostEnv)
|
ev := getPluginSettings(p.ID, s.cfg).asEnvVar("GF_PLUGIN", hostEnv)
|
||||||
return ev, nil
|
return ev
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Service) tracingEnvVars(plugin *plugins.Plugin) []string {
|
func (s *Service) tracingEnvVars(plugin *plugins.Plugin) []string {
|
||||||
|
|||||||
@@ -40,8 +40,7 @@ func TestInitializer_envVars(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}, licensing)
|
}, licensing)
|
||||||
|
|
||||||
envVars, err := envVarsProvider.Get(context.Background(), p)
|
envVars := envVarsProvider.Get(context.Background(), p)
|
||||||
require.NoError(t, err)
|
|
||||||
assert.Len(t, envVars, 6)
|
assert.Len(t, envVars, 6)
|
||||||
assert.Equal(t, "GF_PLUGIN_CUSTOM_ENV_VAR=customVal", envVars[0])
|
assert.Equal(t, "GF_PLUGIN_CUSTOM_ENV_VAR=customVal", envVars[0])
|
||||||
assert.Equal(t, "GF_VERSION=", envVars[1])
|
assert.Equal(t, "GF_VERSION=", envVars[1])
|
||||||
@@ -301,8 +300,7 @@ func TestInitializer_tracingEnvironmentVariables(t *testing.T) {
|
|||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
envVarsProvider := NewProvider(tc.cfg, nil)
|
envVarsProvider := NewProvider(tc.cfg, nil)
|
||||||
envVars, err := envVarsProvider.Get(context.Background(), tc.plugin)
|
envVars := envVarsProvider.Get(context.Background(), tc.plugin)
|
||||||
require.NoError(t, err)
|
|
||||||
tc.exp(t, envVars)
|
tc.exp(t, envVars)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -326,10 +324,7 @@ func TestInitializer_oauthEnvVars(t *testing.T) {
|
|||||||
GrafanaAppURL: "https://myorg.com/",
|
GrafanaAppURL: "https://myorg.com/",
|
||||||
Features: featuremgmt.WithFeatures(featuremgmt.FlagExternalServiceAuth),
|
Features: featuremgmt.WithFeatures(featuremgmt.FlagExternalServiceAuth),
|
||||||
}, nil)
|
}, nil)
|
||||||
envVars, err := envVarsProvider.Get(context.Background(), p)
|
envVars := envVarsProvider.Get(context.Background(), p)
|
||||||
|
|
||||||
require.NoError(t, err)
|
|
||||||
assert.Len(t, envVars, 5)
|
|
||||||
assert.Equal(t, "GF_VERSION=", envVars[0])
|
assert.Equal(t, "GF_VERSION=", envVars[0])
|
||||||
assert.Equal(t, "GF_APP_URL=https://myorg.com/", envVars[1])
|
assert.Equal(t, "GF_APP_URL=https://myorg.com/", envVars[1])
|
||||||
assert.Equal(t, "GF_PLUGIN_APP_CLIENT_ID=clientID", envVars[2])
|
assert.Equal(t, "GF_PLUGIN_APP_CLIENT_ID=clientID", envVars[2])
|
||||||
@@ -346,8 +341,7 @@ func TestInitalizer_awsEnvVars(t *testing.T) {
|
|||||||
AWSAllowedAuthProviders: []string{"grafana_assume_role", "keys"},
|
AWSAllowedAuthProviders: []string{"grafana_assume_role", "keys"},
|
||||||
AWSExternalId: "mock_external_id",
|
AWSExternalId: "mock_external_id",
|
||||||
}, nil)
|
}, nil)
|
||||||
envVars, err := envVarsProvider.Get(context.Background(), p)
|
envVars := envVarsProvider.Get(context.Background(), p)
|
||||||
require.NoError(t, err)
|
|
||||||
assert.ElementsMatch(t, []string{"GF_VERSION=", "AWS_AUTH_AssumeRoleEnabled=true", "AWS_AUTH_AllowedAuthProviders=grafana_assume_role,keys", "AWS_AUTH_EXTERNAL_ID=mock_external_id"}, envVars)
|
assert.ElementsMatch(t, []string{"GF_VERSION=", "AWS_AUTH_AssumeRoleEnabled=true", "AWS_AUTH_AllowedAuthProviders=grafana_assume_role,keys", "AWS_AUTH_EXTERNAL_ID=mock_external_id"}, envVars)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,11 +46,7 @@ func (b *BackendClientInit) Initialize(ctx context.Context, p *plugins.Plugin) (
|
|||||||
return nil, errors.New("could not find backend factory for plugin")
|
return nil, errors.New("could not find backend factory for plugin")
|
||||||
}
|
}
|
||||||
|
|
||||||
env, err := b.envVarProvider.Get(ctx, p)
|
if backendClient, err := backendFactory(p.ID, p.Logger(), b.envVarProvider.Get(ctx, p)); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if backendClient, err := backendFactory(p.ID, p.Logger(), env); err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
p.RegisterClient(backendClient)
|
p.RegisterClient(backendClient)
|
||||||
|
|||||||
@@ -124,9 +124,9 @@ type fakeEnvVarsProvider struct {
|
|||||||
GetFunc func(ctx context.Context, p *plugins.Plugin) []string
|
GetFunc func(ctx context.Context, p *plugins.Plugin) []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *fakeEnvVarsProvider) Get(ctx context.Context, p *plugins.Plugin) ([]string, error) {
|
func (f *fakeEnvVarsProvider) Get(ctx context.Context, p *plugins.Plugin) []string {
|
||||||
if f.GetFunc != nil {
|
if f.GetFunc != nil {
|
||||||
return f.GetFunc(ctx, p), nil
|
return f.GetFunc(ctx, p)
|
||||||
}
|
}
|
||||||
return nil, nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user