main.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package main
  2. import (
  3. "os"
  4. "os/signal"
  5. "runtime"
  6. "strconv"
  7. "github.com/grafana/grafana/pkg/cmd"
  8. "github.com/grafana/grafana/pkg/log"
  9. "github.com/grafana/grafana/pkg/setting"
  10. "github.com/codegangsta/cli"
  11. )
  12. var version = "master"
  13. var commit = "NA"
  14. var buildstamp string
  15. func init() {
  16. runtime.GOMAXPROCS(runtime.NumCPU())
  17. }
  18. func main() {
  19. buildstampInt64, _ := strconv.ParseInt(buildstamp, 10, 64)
  20. setting.BuildVersion = version
  21. setting.BuildCommit = commit
  22. setting.BuildStamp = buildstampInt64
  23. go func() {
  24. c := make(chan os.Signal, 1)
  25. signal.Notify(c, os.Interrupt)
  26. <-c
  27. os.Exit(0)
  28. }()
  29. app := cli.NewApp()
  30. app.Name = "Grafana Backend"
  31. app.Usage = "grafana web"
  32. app.Version = version
  33. app.Commands = []cli.Command{
  34. cmd.ListOrgs,
  35. cmd.CreateOrg,
  36. cmd.DeleteOrg,
  37. cmd.ImportDashboard,
  38. cmd.ListDataSources,
  39. cmd.CreateDataSource,
  40. cmd.DescribeDataSource,
  41. cmd.DeleteDataSource,
  42. cmd.Web}
  43. app.Flags = append(app.Flags, []cli.Flag{
  44. cli.StringFlag{
  45. Name: "config",
  46. Usage: "path to grafana.ini config file",
  47. },
  48. cli.StringFlag{
  49. Name: "pidfile",
  50. Usage: "path to pidfile",
  51. },
  52. }...)
  53. app.Run(os.Args)
  54. log.Close()
  55. }