statusz: fix executable sha256

master
q3k 2018-10-25 23:37:37 +02:00
parent f311e26c93
commit 8fab2beab9
7 changed files with 25 additions and 31 deletions

10
go/Gopkg.lock generated
View File

@ -251,14 +251,6 @@
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
version = "v0.8.0"
[[projects]]
branch = "master"
digest = "1:a7cc4447e0c2432f217fd2bed937c100ec475272a7a9306477170c2934297357"
name = "github.com/q3k/statusz"
packages = ["."]
pruneopts = "UT"
revision = "924f04ea71149b75f5b10f426cc4c39d6d90f6f2"
[[projects]]
branch = "master"
digest = "1:8f042d4b4c48d38d7a1201096299bd26d044c97c032ab20ee171fe5b0d201d2e"
@ -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",

View File

@ -46,10 +46,6 @@ required = ["github.com/golang/protobuf/protoc-gen-go", "github.com/gobuffalo/pa
name = "github.com/golang/protobuf"
version = "1.2.0"
[[constraint]]
branch = "master"
name = "github.com/q3k/statusz"
[[constraint]]
name = "github.com/ybbus/jsonrpc"
version = "2.1.2"

View File

@ -49,6 +49,6 @@ The following flags are automatically registered:
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)

View File

@ -11,8 +11,8 @@ import (
"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"

View File

@ -10,7 +10,7 @@ For the basic status page, just include the module.
```go
import (
_ "github.com/q3k/statusz"
_ "code.hackerspace.pl/hscloud/go/statusz"
)
func main() {
@ -25,7 +25,7 @@ To add a section to the status page, call `AddStatusSection` like so:
```go
import (
statusz "github.com/q3k/statusz"
"code.hackerspace.pl/hscloud/go/statusz"
)

View File

@ -178,15 +178,23 @@ func init() {
}
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)

View File

@ -8,14 +8,12 @@ import (
"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 {