smegmesh/pkg/ctrlserver/ctrltypes.go

37 lines
894 B
Go
Raw Normal View History

package ctrlserver
2023-09-19 14:45:49 +02:00
import (
2023-10-10 21:14:40 +02:00
"github.com/tim-beatham/wgmesh/pkg/conf"
2023-10-01 20:01:35 +02:00
"github.com/tim-beatham/wgmesh/pkg/conn"
"github.com/tim-beatham/wgmesh/pkg/mesh"
"github.com/tim-beatham/wgmesh/pkg/query"
2023-09-19 14:45:49 +02:00
"golang.zx2c4.com/wireguard/wgctrl"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
// Represents a WireGuard MeshNode
type MeshNode struct {
2023-09-20 00:50:44 +02:00
HostEndpoint string
WgEndpoint string
PublicKey string
WgHost string
Timestamp int64
Routes []string
2023-09-19 14:45:49 +02:00
}
// Represents a WireGuard Mesh
2023-09-19 14:45:49 +02:00
type Mesh struct {
SharedKey *wgtypes.Key
Nodes map[string]MeshNode
}
// Represents a ctrlserver to be used in WireGuard
type MeshCtrlServer struct {
Client *wgctrl.Client
MeshManager *mesh.MeshManager
2023-10-05 18:48:54 +02:00
ConnectionManager conn.ConnectionManager
ConnectionServer *conn.ConnectionServer
2023-10-10 21:14:40 +02:00
Conf *conf.WgMeshConfiguration
Querier query.Querier
}