rootCmd.go 864 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "code.osinet.fr/fgm/kurz/translations"
  6. "code.osinet.fr/fgm/kurz/web/i18n"
  7. "github.com/spf13/cobra"
  8. "github.com/spf13/viper"
  9. )
  10. var cmd = &cobra.Command{
  11. Use: "kurzd",
  12. Short: "kurzd is the Kurz daemon and back-office command",
  13. Long: `kurzd is the actual engine for Kurz. Use it as the server for your Kurz clients.
  14. Configure it by copying dist.config.yml to ~/.kurz/config.yml and editing the copy.`,
  15. }
  16. var verbose bool
  17. func initConfig() {
  18. viper.SetConfigName("config")
  19. viper.AddConfigPath(".")
  20. viper.AddConfigPath("$HOME/.kurz")
  21. err := viper.ReadInConfig()
  22. if err != nil {
  23. fmt.Fprintln(os.Stderr, err)
  24. os.Exit(2)
  25. }
  26. }
  27. func init() {
  28. cobra.OnInitialize(initConfig)
  29. verbose = *cmd.PersistentFlags().BoolP("verbose", "v", false, "Add -v for verbose operation")
  30. translations.MustLoadMessages(i18n.Bundle)
  31. }