From d563588d0bb28245eace0882c2f8834d2999ee26 Mon Sep 17 00:00:00 2001 From: Vladislav Sukhin Date: Mon, 18 Nov 2024 21:36:22 +0300 Subject: [PATCH] fix: cloud context callback port Signed-off-by: Vladislav Sukhin --- cmd/kubectl-testkube/commands/common/client.go | 12 ++++++++++-- cmd/kubectl-testkube/commands/common/helper.go | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cmd/kubectl-testkube/commands/common/client.go b/cmd/kubectl-testkube/commands/common/client.go index bcbcd426a62..35d73698355 100644 --- a/cmd/kubectl-testkube/commands/common/client.go +++ b/cmd/kubectl-testkube/commands/common/client.go @@ -13,7 +13,10 @@ import ( "github.com/kubeshop/testkube/pkg/cloudlogin" ) -const UserAgentCLI = "Testkube-CLI" +const ( + UserAgentCLI = "Testkube-CLI" + callbackPort = 38090 +) // GetClient returns api client func GetClient(cmd *cobra.Command) (client.Client, string, error) { @@ -76,7 +79,12 @@ func GetClient(cmd *cobra.Command) (client.Client, string, error) { token, refreshToken, err = cloudlogin.CheckAndRefreshToken(context.Background(), authURI, cfg.CloudContext.ApiKey, cfg.CloudContext.RefreshToken) if err != nil { // Error: failed refreshing, go thru login flow - token, refreshToken, err = LoginUser(authURI, cfg.CloudContext.CustomAuth, cfg.CloudContext.CallbackPort) + port := callbackPort + if cfg.CloudContext.CallbackPort != 0 { + port = cfg.CloudContext.CallbackPort + } + + token, refreshToken, err = LoginUser(authURI, cfg.CloudContext.CustomAuth, port) if err != nil { return nil, "", fmt.Errorf("error logging in: %w", err) } diff --git a/cmd/kubectl-testkube/commands/common/helper.go b/cmd/kubectl-testkube/commands/common/helper.go index f2bd190320c..a7f40da2fa9 100644 --- a/cmd/kubectl-testkube/commands/common/helper.go +++ b/cmd/kubectl-testkube/commands/common/helper.go @@ -364,6 +364,9 @@ func PopulateLoginDataToContext(orgID, envID, token, refreshToken, dockerContain cfg.CloudContext.RefreshToken = refreshToken } cfg.CloudContext.DockerContainerName = dockerContainerName + if options.Master.CallbackPort != 0 { + cfg.CloudContext.CallbackPort = options.Master.CallbackPort + } cfg, err := PopulateOrgAndEnvNames(cfg, orgID, envID, options.Master.URIs.Api) if err != nil { @@ -407,6 +410,10 @@ func PopulateAgentDataToContext(options HelmOptions, cfg config.Data) error { cfg.CloudContext.OrganizationId = options.Master.OrgId updated = true } + if options.Master.CallbackPort != 0 { + cfg.CloudContext.CallbackPort = options.Master.CallbackPort + updated = true + } if updated { return config.Save(cfg) @@ -488,6 +495,7 @@ func PopulateCloudConfig(cfg config.Data, apiKey string, dockerContainerName *st if dockerContainerName != nil { cfg.CloudContext.DockerContainerName = *dockerContainerName } + cfg.CloudContext.CallbackPort = opts.Master.CallbackPort return cfg }