package cmd import ( "context" "fmt" "os" "git.badhouseplants.net/allanger/shoebill/internal/build" "github.com/spf13/cobra" ) var fullVersion = fmt.Sprintf("%s - %s", build.Version, build.CommitHash) var longDescription = `--- shoebill is just GitOps with a glottal T It's a tool that is supposed to help engineers follow the GitOps practies without fighting with GitOps being inapplicable to the real world. Yeah, I quite hate this GitOps obsession, but since it's already there, I think it makes sense to make it work. --- Information about the build: Version: %s (build on %s) --- ` var ( rootCmd = &cobra.Command{ Use: "shoebill", Short: "shoebill – GitOps without pain, kinda", Long: fmt.Sprintf(longDescription, fullVersion, build.BuildTime), SilenceErrors: true, SilenceUsage: true, Version: build.Version, } ) func Execute(ctx context.Context) error { rootCmd.PersistentFlags().Bool("server", false, "Set to true, if you want to start it in the deamon mode") if err := rootCmd.ExecuteContext(ctx); err != nil { fmt.Fprintf(os.Stderr, "Whoops. There was an error while executing your CLI '%s'", err) os.Exit(1) } return nil }