10666: Added version number to go sdk and go tools & services
[arvados.git] / services / health / main.go
index b6358deefcf8d333971435b2a9ede4021bc68f54..d04b55bc6c1a111b5ad5c1b8418dcddf131fe4e0 100644 (file)
@@ -2,21 +2,33 @@ package main
 
 import (
        "flag"
+       "fmt"
        "net/http"
+       "os"
 
        "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/health"
        "git.curoverse.com/arvados.git/sdk/go/httpserver"
+       arvadosVersion "git.curoverse.com/arvados.git/sdk/go/version"
        log "github.com/Sirupsen/logrus"
 )
 
 func main() {
        configFile := flag.String("config", arvados.DefaultConfigFile, "`path` to arvados configuration file")
+       getVersion := flag.Bool("version", false, "Print version information and exit.")
        flag.Parse()
 
+       // Print version information if requested
+       if *getVersion {
+               fmt.Printf("Version: %s\n", arvadosVersion.GetVersion())
+               os.Exit(0)
+       }
+
        log.SetFormatter(&log.JSONFormatter{
                TimestampFormat: "2006-01-02T15:04:05.000000000Z07:00",
        })
+       log.Printf("arvados health %q started", arvadosVersion.GetVersion())
+
        cfg, err := arvados.GetConfig(*configFile)
        if err != nil {
                log.Fatal(err)