garm/cmd/garm-cli/cmd/version.go
Gabriel Adrian Samfira 42ae3c52d1 Add version to controller info response
This change adds the GARM server version to the controller info response.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2024-07-05 12:49:16 +00:00

49 lines
1.4 KiB
Go

// Copyright 2022 Cloudbase Solutions SRL
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
package cmd
import (
"fmt"
"github.com/spf13/cobra"
apiClientControllerInfo "github.com/cloudbase/garm/client/controller_info"
"github.com/cloudbase/garm/util/appdefaults"
)
// runnerCmd represents the runner command
var versionCmd = &cobra.Command{
Use: "version",
SilenceUsage: true,
Short: "Print version and exit",
Run: func(_ *cobra.Command, _ []string) {
serverVersion := "v0.0.0-unknown"
if !needsInit {
showInfo := apiClientControllerInfo.NewControllerInfoParams()
response, err := apiCli.ControllerInfo.ControllerInfo(showInfo, authToken)
if err == nil {
serverVersion = response.Payload.Version
}
}
fmt.Printf("garm-cli: %s\n", appdefaults.GetVersion())
fmt.Printf("garm server: %s\n", serverVersion)
},
}
func init() {
rootCmd.AddCommand(versionCmd)
}