From e7076ed6093aa9609d8c884b7a03e295057aaa8e Mon Sep 17 00:00:00 2001 From: Matthis Holleville Date: Fri, 14 Apr 2023 17:23:12 +0200 Subject: [PATCH] fix: use the aiProvider object when launching the server instead of the deprecated configuration keys Signed-off-by: Matthis Holleville --- cmd/serve/serve.go | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/cmd/serve/serve.go b/cmd/serve/serve.go index 7e182e349b..a57091b1b4 100644 --- a/cmd/serve/serve.go +++ b/cmd/serve/serve.go @@ -1,12 +1,13 @@ package serve import ( - "fmt" + "os" + "github.com/fatih/color" + "github.com/k8sgpt-ai/k8sgpt/pkg/ai" k8sgptserver "github.com/k8sgpt-ai/k8sgpt/pkg/server" "github.com/spf13/cobra" "github.com/spf13/viper" - "os" ) var ( @@ -21,30 +22,38 @@ var ServeCmd = &cobra.Command{ Long: `Runs k8sgpt as a server to allow for easy integration with other applications.`, Run: func(cmd *cobra.Command, args []string) { - backendType := viper.GetString("backend_type") - if backendType == "" { - color.Red("No backend set. Please run k8sgpt auth") + var configAI ai.AIConfiguration + err := viper.UnmarshalKey("ai", &configAI) + if err != nil { + color.Red("Error: %v", err) + os.Exit(1) + } + + if len(configAI.Providers) == 0 { + color.Red("Error: AI provider not specified in configuration. Please run k8sgpt auth") os.Exit(1) } - if backend != "" { - backendType = backend + var aiProvider ai.AIProvider + for _, provider := range configAI.Providers { + if backend == provider.Name { + aiProvider = provider + break + } } - token := viper.GetString(fmt.Sprintf("%s_key", backendType)) - // check if nil - if token == "" { - color.Red("No %s key set. Please run k8sgpt auth", backendType) + if aiProvider.Name == "" { + color.Red("Error: AI provider %s not specified in configuration. Please run k8sgpt auth", backend) os.Exit(1) } server := k8sgptserver.Config{ - Backend: backend, + Backend: aiProvider.Name, Port: port, - Token: token, + Token: aiProvider.Password, } - err := server.Serve() + err = server.Serve() if err != nil { color.Red("Error: %v", err) os.Exit(1)