@@ -2,6 +2,8 @@ package main
22
33import (
44 "flag"
5+ "fmt"
6+ "os"
57 "strings"
68
79 log "github.com/sirupsen/logrus"
@@ -14,6 +16,15 @@ import (
1416 "github.com/criteo/haproxy-consul-connect/consul"
1517)
1618
19+ // Version is set by Travis build
20+ var Version string = "v0.1.9-Dev"
21+
22+ // BuildTime is set by Travis
23+ var BuildTime string = "2020-01-01T00:00:00Z"
24+
25+ // GitHash The last reference Hash from Git
26+ var GitHash string = "unknown"
27+
1728type consulLogger struct {}
1829
1930// Debugf Display debug message
@@ -37,6 +48,7 @@ func (consulLogger) Errorf(format string, args ...interface{}) {
3748}
3849
3950func main () {
51+ versionFlag := flag .Bool ("version" , false , "Show version and exit" )
4052 logLevel := flag .String ("log-level" , "INFO" , "Log level" )
4153 consulAddr := flag .String ("http-addr" , "127.0.0.1:8500" , "Consul agent address" )
4254 service := flag .String ("sidecar-for" , "" , "The consul service id to proxy" )
@@ -50,6 +62,11 @@ func main() {
5062 token := flag .String ("token" , "" , "Consul ACL token" )
5163 flag .Parse ()
5264
65+ if versionFlag != nil && * versionFlag {
66+ fmt .Printf ("Version: %s ; BuildTime: %s ; GitHash: %s\n " , Version , BuildTime , GitHash )
67+ os .Exit (0 )
68+ }
69+
5370 ll , err := log .ParseLevel (* logLevel )
5471 if err != nil {
5572 log .Fatal (err )
0 commit comments