diff --git a/build/build.go b/build/build.go new file mode 100644 index 0000000..63192b8 --- /dev/null +++ b/build/build.go @@ -0,0 +1,36 @@ +package build + +import "runtime/debug" + +var ( + tag string + revision string +) + +func GetRevision() string { + if revision != "" { + return revision + } + + buildInfo, ok := debug.ReadBuildInfo() + if !ok { + return "unknown" + } + + for _, setting := range buildInfo.Settings { + if setting.Key == "vcs.revision" { + revision = setting.Value + return revision + } + } + + return "unknown" +} + +func GetTag() string { + if tag != "" { + return tag + } + + return "none" +} diff --git a/cln_plugin/cln_plugin.go b/cln_plugin/cln_plugin.go index 75002ca..7234565 100644 --- a/cln_plugin/cln_plugin.go +++ b/cln_plugin/cln_plugin.go @@ -14,6 +14,8 @@ import ( "strings" "sync" "time" + + "github.com/breez/lspd/build" ) const ( @@ -68,6 +70,7 @@ func NewClnPlugin(in, out *os.File) *ClnPlugin { // NOTE: The grpc server is started in the handleInit function. func (c *ClnPlugin) Start() { c.setupLogging() + log.Printf(`Starting lspd cln_plugin, tag='%s', revision='%s'`, build.GetTag(), build.GetRevision()) go c.listenRequests() <-c.done s := c.server diff --git a/main.go b/main.go index aa9a4a3..47effaf 100644 --- a/main.go +++ b/main.go @@ -13,6 +13,7 @@ import ( "syscall" "time" + "github.com/breez/lspd/build" "github.com/breez/lspd/chain" "github.com/breez/lspd/cln" "github.com/breez/lspd/common" @@ -38,6 +39,7 @@ func main() { return } + log.Printf(`Starting lspd, tag='%s', revision='%s'`, build.GetTag(), build.GetRevision()) n := os.Getenv("NODES") var nodeConfigs []*config.NodeConfig err := json.Unmarshal([]byte(n), &nodeConfigs)