mirror of
https://github.com/kairos-io/provider-kairos.git
synced 2025-08-12 20:55:30 +00:00
51 lines
828 B
Go
51 lines
828 B
Go
|
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)
|
||
|
}
|