Add Static Gateway Configuration
This commit is contained in:
parent
452a550801
commit
20b368f6f7
5
main.go
5
main.go
@ -95,6 +95,11 @@ func processAPIs() error {
|
|||||||
nodes = append(nodes, mvNodes...)
|
nodes = append(nodes, mvNodes...)
|
||||||
links = append(links, mvLinks...)
|
links = append(links, mvLinks...)
|
||||||
}
|
}
|
||||||
|
if conf.Gateways.Enabled {
|
||||||
|
log.Println("Processing Gateways")
|
||||||
|
gwNodes := processGateways()
|
||||||
|
nodes = append(nodes, gwNodes...)
|
||||||
|
}
|
||||||
// assemble final struct
|
// assemble final struct
|
||||||
o := output{
|
o := output{
|
||||||
Timestamp: time.Now().Format(iso8601),
|
Timestamp: time.Now().Format(iso8601),
|
||||||
|
47
staticDevices.go
Normal file
47
staticDevices.go
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func processGateways() []node {
|
||||||
|
d := getDevices(conf.Gateways.GatewaysURL)
|
||||||
|
var nodes []node
|
||||||
|
for i := range d.Devices {
|
||||||
|
log.Println("Processing Static Device: ", d.Devices[i].Name)
|
||||||
|
nodes = append(nodes, node{
|
||||||
|
Firstseen: time.Now().Format(iso8601),
|
||||||
|
Lastseen: time.Now().Format(iso8601),
|
||||||
|
IsOnline: true,
|
||||||
|
IsGateway: true,
|
||||||
|
Clients: 0,
|
||||||
|
ClientsWifi24: 0,
|
||||||
|
ClientsWifi5: 0,
|
||||||
|
ClientsOther: 0,
|
||||||
|
RootFSUsage: 0,
|
||||||
|
LoadAVG: 0,
|
||||||
|
MemoryUsage: 0,
|
||||||
|
Uptime: time.Now().Format(iso8601),
|
||||||
|
GatewayNexthop: "00:00:00:00:00",
|
||||||
|
Gateway: "00:00:00:00:00",
|
||||||
|
NodeID: strings.ReplaceAll(d.Devices[i].MAC, ":", ""),
|
||||||
|
MAC: d.Devices[i].MAC,
|
||||||
|
Domain: d.Devices[i].Domain,
|
||||||
|
Hostname: "[Gateway] " + d.Devices[i].Name,
|
||||||
|
Owner: "Freifunk Troisdorf",
|
||||||
|
Firmware: firmware{
|
||||||
|
Base: "KVM",
|
||||||
|
Release: "Ubuntu 22.04",
|
||||||
|
},
|
||||||
|
Autoupdater: autoupdater{
|
||||||
|
Enabled: false,
|
||||||
|
Branch: "stable",
|
||||||
|
},
|
||||||
|
NProc: 1,
|
||||||
|
Model: "KVM",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return nodes
|
||||||
|
}
|
4
types.go
4
types.go
@ -32,6 +32,10 @@ type config struct {
|
|||||||
URL string `json:"URL"`
|
URL string `json:"URL"`
|
||||||
} `json:"files"`
|
} `json:"files"`
|
||||||
} `json:"meshviewer"`
|
} `json:"meshviewer"`
|
||||||
|
Gateways struct {
|
||||||
|
Enabled bool `json:"enabled"`
|
||||||
|
GatewaysURL string `json:"gatewaysurl"`
|
||||||
|
} `json:"gateways"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type device struct {
|
type device struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user