statusz: fix executable sha256
diff --git a/go/Gopkg.lock b/go/Gopkg.lock
index 583f199..01cdbba 100644
--- a/go/Gopkg.lock
+++ b/go/Gopkg.lock
@@ -253,14 +253,6 @@
[[projects]]
branch = "master"
- digest = "1:a7cc4447e0c2432f217fd2bed937c100ec475272a7a9306477170c2934297357"
- name = "github.com/q3k/statusz"
- packages = ["."]
- pruneopts = "UT"
- revision = "924f04ea71149b75f5b10f426cc4c39d6d90f6f2"
-
-[[projects]]
- branch = "master"
digest = "1:8f042d4b4c48d38d7a1201096299bd26d044c97c032ab20ee171fe5b0d201d2e"
name = "github.com/shirou/gopsutil"
packages = [
@@ -436,7 +428,7 @@
"github.com/golang/glog",
"github.com/golang/protobuf/proto",
"github.com/golang/protobuf/protoc-gen-go",
- "github.com/q3k/statusz",
+ "github.com/shirou/gopsutil/load",
"github.com/ybbus/jsonrpc",
"github.com/ziutek/telnet",
"golang.org/x/net/context",
diff --git a/go/Gopkg.toml b/go/Gopkg.toml
index 7f8e8c3..d6195ad 100644
--- a/go/Gopkg.toml
+++ b/go/Gopkg.toml
@@ -47,10 +47,6 @@
version = "1.2.0"
[[constraint]]
- branch = "master"
- name = "github.com/q3k/statusz"
-
-[[constraint]]
name = "github.com/ybbus/jsonrpc"
version = "2.1.2"
diff --git a/go/mirko/README b/go/mirko/README
index ba8be71..556c147 100644
--- a/go/mirko/README
+++ b/go/mirko/README
@@ -49,6 +49,6 @@
The following debug HTTP handlers are installed:
- - `/debug/status`: show the [statusz](https://github.com/q3k/statusz) page
+ - `/debug/status`: show the statusz page
- `/debug/requests`: show the [net/trace](https://godoc.org/golang.org/x/net/trace) page (including gRPC traces)
diff --git a/go/mirko/mirko.go b/go/mirko/mirko.go
index 46c2987..2e62c3d 100644
--- a/go/mirko/mirko.go
+++ b/go/mirko/mirko.go
@@ -11,8 +11,8 @@
"time"
"code.hackerspace.pl/hscloud/go/pki"
+ "code.hackerspace.pl/hscloud/go/statusz"
"github.com/golang/glog"
- "github.com/q3k/statusz"
"golang.org/x/net/trace"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
diff --git a/go/statusz/README.md b/go/statusz/README.md
index 4743c55..ea77db9 100644
--- a/go/statusz/README.md
+++ b/go/statusz/README.md
@@ -10,7 +10,7 @@
```go
import (
- _ "github.com/q3k/statusz"
+ _ "code.hackerspace.pl/hscloud/go/statusz"
)
func main() {
@@ -25,7 +25,7 @@
```go
import (
- statusz "github.com/q3k/statusz"
+ "code.hackerspace.pl/hscloud/go/statusz"
)
diff --git a/go/statusz/statusz.go b/go/statusz/statusz.go
index 606d244..6c0fe17 100644
--- a/go/statusz/statusz.go
+++ b/go/statusz/statusz.go
@@ -178,15 +178,23 @@
}
username = fmt.Sprintf("%s (%s)", user.Username, user.Uid)
- f, err := os.Open(os.Args[0])
- if err != nil {
- glog.Fatalf("os.Open(%q): %v", os.Args[0], err)
+ exec, err := os.Executable()
+ if err == nil {
+ f, err := os.Open(exec)
+ if err == nil {
+ h := sha256.New()
+ if _, err := io.Copy(h, f); err != nil {
+ glog.Fatalf("io.Copy: %v", err)
+ }
+ binaryHash = fmt.Sprintf("%x", h.Sum(nil))
+ } else {
+ glog.Errorf("Could not get SHA256 of binary: os.Open(%q): %v", exec, err)
+ binaryHash = "could not read executable"
+ }
+ } else {
+ glog.Errorf("Could not get SHA256 of binary: os.Executable(): %v", err)
+ binaryHash = "could not get executable"
}
- h := sha256.New()
- if _, err := io.Copy(h, f); err != nil {
- glog.Fatalf("io.Copy: %v", err)
- }
- binaryHash = fmt.Sprintf("%x", h.Sum(nil))
if DefaultMux {
http.HandleFunc("/debug/status", StatusHandler)
diff --git a/go/svc/topo/service.go b/go/svc/topo/service.go
index 15e71fe..571eb97 100644
--- a/go/svc/topo/service.go
+++ b/go/svc/topo/service.go
@@ -8,14 +8,12 @@
"strings"
"code.hackerspace.pl/hscloud/go/mirko"
- "github.com/gobuffalo/packr"
- "github.com/q3k/statusz"
- "vbom.ml/util/sortorder"
-
+ ipb "code.hackerspace.pl/hscloud/go/proto/infra"
+ "code.hackerspace.pl/hscloud/go/statusz"
"code.hackerspace.pl/hscloud/go/svc/topo/graph"
"code.hackerspace.pl/hscloud/go/svc/topo/state"
-
- ipb "code.hackerspace.pl/hscloud/go/proto/infra"
+ "github.com/gobuffalo/packr"
+ "vbom.ml/util/sortorder"
)
type Service struct {