10666: Added version number to go sdk and go tools & services
[arvados.git] / services / ws / main.go
index db33cbfd004173ff787f9767eddd06a448744d63..30d569c98890264aa4a1028085d94764e01a7da4 100644 (file)
@@ -7,9 +7,11 @@ package main
 import (
        "flag"
        "fmt"
+       "os"
 
        "git.curoverse.com/arvados.git/sdk/go/config"
        "git.curoverse.com/arvados.git/sdk/go/ctxlog"
+       arvadosVersion "git.curoverse.com/arvados.git/sdk/go/version"
 )
 
 var logger = ctxlog.FromContext
@@ -19,9 +21,16 @@ func main() {
 
        configPath := flag.String("config", "/etc/arvados/ws/ws.yml", "`path` to config file")
        dumpConfig := flag.Bool("dump-config", false, "show current configuration and exit")
+       getVersion := flag.Bool("version", false, "Print version information and exit.")
        cfg := defaultConfig()
        flag.Parse()
 
+       // Print version information if requested
+       if *getVersion {
+               fmt.Printf("Version: %s\n", arvadosVersion.GetVersion())
+               os.Exit(0)
+       }
+
        err := config.LoadFile(&cfg, *configPath)
        if err != nil {
                log.Fatal(err)
@@ -39,6 +48,8 @@ func main() {
                return
        }
 
+       log.Printf("arvados-ws %q started", arvadosVersion.GetVersion())
+
        log.Info("started")
        srv := &server{wsConfig: &cfg}
        log.Fatal(srv.Run())