main.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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.ExportDashboard,
  38. cmd.ImportDashboard,
  39. cmd.ListDataSources,
  40. cmd.CreateDataSource,
  41. cmd.DescribeDataSource,
  42. cmd.DeleteDataSource,
  43. cmd.Web}
  44. app.Flags = append(app.Flags, []cli.Flag{
  45. cli.StringFlag{
  46. Name: "config",
  47. Usage: "path to grafana.ini config file",
  48. },
  49. cli.StringFlag{
  50. Name: "pidfile",
  51. Usage: "path to pidfile",
  52. },
  53. }...)
  54. app.Run(os.Args)
  55. log.Close()
  56. }