abra/cli/cli.go

52 lines
1.2 KiB
Go

package cli
import (
"fmt"
"os"
"coopcloud.tech/abra/cli/app"
"coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/cli/recipe"
"coopcloud.tech/abra/cli/server"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
)
func RunApp(version, commit string) {
app := &cli.App{
Name: "abra",
Usage: `The Co-op Cloud command-line utility belt 🎩🐇
____ ____ _ _
/ ___|___ ___ _ __ / ___| | ___ _ _ __| |
| | / _ \ _____ / _ \| '_ \ | | | |/ _ \| | | |/ _' |
| |__| (_) |_____| (_) | |_) | | |___| | (_) | |_| | (_| |
\____\___/ \___/| .__/ \____|_|\___/ \__,_|\__,_|
|_|
`,
Version: fmt.Sprintf("%s-%s", version, commit[:7]),
Commands: []*cli.Command{
app.AppCommand,
server.ServerCommand,
recipe.RecipeCommand,
VersionCommand,
},
Flags: []cli.Flag{
internal.EnvFlag,
internal.StackFlag,
internal.SkipCheckFlag,
internal.SkipUpdateFlag,
internal.VerboseFlag,
internal.BranchFlag,
internal.NoPromptFlag,
internal.DebugFlag,
internal.ContextFlag,
},
}
err := app.Run(os.Args)
if err != nil {
logrus.Fatal(err)
}
}