package cmd import ( "fmt" "github.com/spf13/cobra" "os" ) var ( port = 12001 config = "/var/environment/pink_fox/config.yml" rootCmd = &cobra.Command{ Use: "pink_fox", Short: "Розовый лис\nСквозь ссылок паутину —\nСвет в ночи горит.", } serverCmd = &cobra.Command{ Use: "server", Short: "Запуск сервера", Run: func(cmd *cobra.Command, args []string) { err := NewServer().Execute(config, port) if err != nil { exit(err) } }, } ) func init() { serverCmd.Flags().IntVarP(&port, "port", "p", port, "Порт доступ к приложению") serverCmd.Flags().StringVarP(&config, "config", "c", config, "Путь к файлу конфигурации") rootCmd.AddCommand(serverCmd) } func Execute() error { if err := rootCmd.Execute(); err != nil { return fmt.Errorf("cmd: %s", err) } return nil } func exit(err error) { _, _ = fmt.Fprintln(os.Stderr, err) os.Exit(1) }