|
@@ -125,6 +125,13 @@ func constructPierInfo(piers []string) (map[string]structs.Urbit, error) {
|
|
|
for pier, status := range pierStatus {
|
|
for pier, status := range pierStatus {
|
|
|
// pull docker info from json
|
|
// pull docker info from json
|
|
|
var dockerConfig structs.UrbitDocker
|
|
var dockerConfig structs.UrbitDocker
|
|
|
|
|
+ var dockerStats structs.ContainerStats
|
|
|
|
|
+ dockerStats, err := docker.GetContainerStats(pier)
|
|
|
|
|
+ if err != null {
|
|
|
|
|
+ errmsg := fmt.Sprintf("Unable to load %s stats: %v", pier, err)
|
|
|
|
|
+ logger.Error(errmsg)
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
confPath := filepath.Join(config.BasePath, "settings", "pier", pier+".json")
|
|
confPath := filepath.Join(config.BasePath, "settings", "pier", pier+".json")
|
|
|
file, err := ioutil.ReadFile(confPath)
|
|
file, err := ioutil.ReadFile(confPath)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -143,10 +150,25 @@ func constructPierInfo(piers []string) (map[string]structs.Urbit, error) {
|
|
|
urbit = existingUrbit
|
|
urbit = existingUrbit
|
|
|
}
|
|
}
|
|
|
isRunning := (status == "Up" || strings.HasPrefix(status, "Up "))
|
|
isRunning := (status == "Up" || strings.HasPrefix(status, "Up "))
|
|
|
|
|
+ bootStatus := true
|
|
|
|
|
+ if dockerConfig.BootStatus == "ignore" {
|
|
|
|
|
+ bootStatus = false
|
|
|
|
|
+ }
|
|
|
|
|
+ setRemote := false
|
|
|
|
|
+ if dockerConfig.Network == "wireguard" {
|
|
|
|
|
+ setRemote = true
|
|
|
|
|
+ }
|
|
|
urbit.Info.Running = isRunning
|
|
urbit.Info.Running = isRunning
|
|
|
urbit.Info.Network = shipNetworks[pier]
|
|
urbit.Info.Network = shipNetworks[pier]
|
|
|
urbit.Info.URL = "http://" + hostName + ":" + string(dockerConfig.HTTPPort)
|
|
urbit.Info.URL = "http://" + hostName + ":" + string(dockerConfig.HTTPPort)
|
|
|
urbit.Info.LoomSize = int(math.Pow(2, float64(dockerConfig.LoomSize)) / math.Pow(1024, 2))
|
|
urbit.Info.LoomSize = int(math.Pow(2, float64(dockerConfig.LoomSize)) / math.Pow(1024, 2))
|
|
|
|
|
+ urbit.Info.DiskUsage = dockerStats.DiskUsage
|
|
|
|
|
+ urbit.Info.MemUsage = dockerStats.MemoryUsage
|
|
|
|
|
+ urbit.Info.DevMode = dockerConfig.DevMode
|
|
|
|
|
+ urbit.Info.Vere = dockerConfig.UrbitVersion
|
|
|
|
|
+ urbit.Info.DetectBootStatus = bootStatus
|
|
|
|
|
+ urbit.Info.Remote = setRemote
|
|
|
|
|
+ urbit.Info.Vere = dockerconfig.UrbitVersion
|
|
|
updates[pier] = urbit
|
|
updates[pier] = urbit
|
|
|
}
|
|
}
|
|
|
return updates, nil
|
|
return updates, nil
|