diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 71a99192b7..42e0e22d7d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -13,6 +13,8 @@ builds: - linux - windows - darwin + ldflags: + - -s -w -X main.version={{.Version}} archives: - format: tar.gz diff --git a/cmd/root.go b/cmd/root.go index a359a88b01..6ac82edc38 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -15,6 +15,7 @@ var ( cfgFile string masterURL string kubeconfig string + version string ) // rootCmd represents the base command when called without any subcommands @@ -29,7 +30,8 @@ var rootCmd = &cobra.Command{ // Execute adds all child commands to the root command and sets flags appropriately. // This is called by main.main(). It only needs to happen once to the rootCmd. -func Execute() { +func Execute(v string) { + version = v err := rootCmd.Execute() if err != nil { os.Exit(1) diff --git a/cmd/version.go b/cmd/version.go index f15f1855ef..071ae83306 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -1,27 +1,16 @@ -/* -Copyright © 2023 NAME HERE - -*/ package cmd import ( - "fmt" - "github.com/spf13/cobra" ) // versionCmd represents the version command var versionCmd = &cobra.Command{ Use: "version", - Short: "A brief description of your command", - Long: `A longer description that spans multiple lines and likely contains examples -and usage of using your command. For example: - -Cobra is a CLI library for Go that empowers applications. -This application is a tool to generate the needed files -to quickly create a Cobra application.`, + Short: "Print the version number of k8sgpt", + Long: `All software has versions. This is k8sgpt's`, Run: func(cmd *cobra.Command, args []string) { - fmt.Println("version called") + cmd.Printf("k8sgpt version %s", version) }, } diff --git a/go.mod b/go.mod index 326ae62d68..1553fd7572 100644 --- a/go.mod +++ b/go.mod @@ -3,9 +3,9 @@ module github.com/k8sgpt-ai/k8sgpt go 1.20 require ( - github.com/briandowns/spinner v1.23.0 github.com/fatih/color v1.15.0 github.com/sashabaranov/go-openai v1.5.7 + github.com/schollz/progressbar/v3 v3.13.1 github.com/spf13/cobra v1.6.1 github.com/spf13/viper v1.15.0 golang.org/x/term v0.6.0 @@ -44,7 +44,6 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/rivo/uniseg v0.4.4 // indirect - github.com/schollz/progressbar/v3 v3.13.1 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect diff --git a/go.sum b/go.sum index 8ba179cfbf..11ab542d24 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,6 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= -github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= diff --git a/main.go b/main.go index 2f2a708233..84563a9007 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,8 @@ package main import "github.com/k8sgpt-ai/k8sgpt/cmd" +var version = "dev" + func main() { - cmd.Execute() + cmd.Execute(version) }