feat: pass gcom sso_api_token to repo created from install command (#98973)

* feat: pass gcom sso_api_token to repo created from install command

* fix

* fix: extract gcom section to a func

* Update pkg/cmd/grafana-cli/utils/command_line.go

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* fix: only set gcom token when the request is to GCOM

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
This commit is contained in:
Syerikjan Kh
2025-01-15 08:15:18 -05:00
committed by GitHub
co-authored by Giuseppe Guerra
parent 79fc26ea87
commit dfe0712955
8 changed files with 88 additions and 22 deletions
@@ -90,6 +90,7 @@ type pluginInstallOpts struct {
repoURL string
pluginURL string
pluginDir string
gcomToken string
}
func newInstallPluginOpts(c utils.CommandLine) pluginInstallOpts {
@@ -98,6 +99,7 @@ func newInstallPluginOpts(c utils.CommandLine) pluginInstallOpts {
repoURL: c.PluginRepoURL(),
pluginURL: c.PluginURL(),
pluginDir: c.PluginDirectory(),
gcomToken: c.GcomToken(),
}
}
@@ -132,9 +134,10 @@ func doInstallPlugin(ctx context.Context, pluginID, version string, o pluginInst
}
repository := repo.NewManager(repo.ManagerCfg{
SkipTLSVerify: o.insecure,
BaseURL: o.repoURL,
Logger: services.Logger,
SkipTLSVerify: o.insecure,
BaseURL: o.repoURL,
Logger: services.Logger,
GrafanaComAPIToken: o.gcomToken,
})
// FIXME: Re-enable grafanaVersion. This check was broken in 10.2 so disabling it for the moment.
@@ -106,7 +106,8 @@ func TestValidatePluginRepoConfig(t *testing.T) {
t.Skip("skipping integration test")
}
grafDir, cfgPath := testinfra.CreateGrafDir(t, testinfra.GrafanaOpts{
GrafanaComAPIURL: "https://grafana-dev.com",
GrafanaComAPIURL: "https://grafana-dev.com",
GrafanaComSSOAPIToken: "token3",
})
c, err := commandstest.NewCliContext(map[string]string{
@@ -116,6 +117,9 @@ func TestValidatePluginRepoConfig(t *testing.T) {
require.NoError(t, err)
repoURL := c.PluginRepoURL()
require.Equal(t, "https://grafana-dev.com/plugins", repoURL)
token := c.GcomToken()
require.Equal(t, "token3", token)
})
t.Run("Should use config overrides parameter if it is set alongside config parameter", func(t *testing.T) {