provider-kairos/cli/kairosctl/main.go

51 lines
828 B
Go
Raw Normal View History

package main
import (
"fmt"
"os"
"github.com/kairos-io/kairos-sdk/bus"
iCli "github.com/kairos-io/provider-kairos/internal/cli"
"github.com/kairos-io/provider-kairos/internal/provider"
"github.com/urfave/cli/v2"
)
func checkErr(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
os.Exit(0)
}
func main() {
if len(os.Args) >= 2 && bus.IsEventDefined(os.Args[1]) {
checkErr(provider.Start())
}
checkErr(Start())
}
func Start() error {
toolName := "kairosctl"
name := toolName
app := &cli.App{
Name: name,
Version: iCli.VERSION,
Authors: []*cli.Author{
{
Name: iCli.Author,
},
},
Copyright: iCli.Author,
Commands: []*cli.Command{
iCli.RegisterCMD(toolName),
iCli.BridgeCMD(toolName),
&iCli.GetKubeConfigCMD,
&iCli.RoleCMD,
},
}
return app.Run(os.Args)
}