stillbox/cmd/gordio/main.go

44 lines
892 B
Go
Raw Normal View History

2024-07-14 13:47:48 -04:00
package main
import (
2024-10-17 11:28:43 -04:00
"fmt"
2024-07-14 13:47:48 -04:00
"os"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"dynatron.me/x/stillbox/pkg/gordio"
2024-07-14 17:39:03 -04:00
"dynatron.me/x/stillbox/pkg/gordio/admin"
2024-07-14 13:47:48 -04:00
"dynatron.me/x/stillbox/pkg/gordio/config"
2024-10-18 09:34:20 -04:00
"dynatron.me/x/stillbox/pkg/gordio/version"
2024-07-14 13:47:48 -04:00
"github.com/spf13/cobra"
)
2024-10-17 11:28:43 -04:00
2024-07-14 13:47:48 -04:00
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
2024-07-23 20:27:19 -04:00
rootCmd := &cobra.Command{
2024-07-14 13:47:48 -04:00
Use: gordio.AppName,
}
2024-10-17 11:28:43 -04:00
rootCmd.PersistentFlags().BoolP("version", "V", false, "show version")
2024-07-23 20:27:19 -04:00
cfg := config.New(rootCmd)
2024-10-17 11:28:43 -04:00
rootCmd.Run = func(cmd *cobra.Command, args []string) {
v, _ := rootCmd.PersistentFlags().GetBool("version")
if v {
2024-10-18 09:34:20 -04:00
fmt.Print(version.String())
2024-10-17 11:28:43 -04:00
os.Exit(0)
}
2024-07-14 13:47:48 -04:00
}
2024-07-14 21:26:53 -04:00
cmds := append([]*cobra.Command{gordio.Command(cfg)}, admin.Command(cfg)...)
rootCmd.AddCommand(cmds...)
2024-07-14 13:47:48 -04:00
2024-07-23 20:27:19 -04:00
err := rootCmd.Execute()
2024-07-14 13:47:48 -04:00
if err != nil {
log.Fatal().Err(err).Msg("Dying")
}
}