mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-16 15:26:40 +00:00
40 lines
1.6 KiB
Go
40 lines
1.6 KiB
Go
package network_map
|
|
|
|
//go:generate go run go.uber.org/mock/mockgen -package network_map -destination=interface_mock.go -source=./interface.go -build_flags=-mod=mod
|
|
|
|
import (
|
|
"context"
|
|
|
|
nbdns "github.com/netbirdio/netbird/dns"
|
|
nbpeer "github.com/netbirdio/netbird/management/server/peer"
|
|
"github.com/netbirdio/netbird/management/server/posture"
|
|
"github.com/netbirdio/netbird/management/server/types"
|
|
)
|
|
|
|
const (
|
|
EnvNewNetworkMapBuilder = "NB_EXPERIMENT_NETWORK_MAP"
|
|
EnvNewNetworkMapAccounts = "NB_EXPERIMENT_NETWORK_MAP_ACCOUNTS"
|
|
|
|
DnsForwarderPort = nbdns.ForwarderServerPort
|
|
OldForwarderPort = nbdns.ForwarderClientPort
|
|
DnsForwarderPortMinVersion = "v0.59.0"
|
|
)
|
|
|
|
type Controller interface {
|
|
UpdateAccountPeers(ctx context.Context, accountID string) error
|
|
UpdateAccountPeer(ctx context.Context, accountId string, peerId string) error
|
|
BufferUpdateAccountPeers(ctx context.Context, accountID string) error
|
|
GetValidatedPeerWithMap(ctx context.Context, isRequiresApproval bool, accountID string, p *nbpeer.Peer) (*nbpeer.Peer, *types.NetworkMap, []*posture.Checks, int64, error)
|
|
GetDNSDomain(settings *types.Settings) string
|
|
StartWarmup(context.Context)
|
|
GetNetworkMap(ctx context.Context, peerID string) (*types.NetworkMap, error)
|
|
|
|
DeletePeer(ctx context.Context, accountId string, peerId string) error
|
|
|
|
OnPeerUpdated(accountId string, peer *nbpeer.Peer)
|
|
OnPeerAdded(ctx context.Context, accountID string, peerID string) error
|
|
OnPeerDeleted(ctx context.Context, accountID string, peerID string) error
|
|
DisconnectPeers(ctx context.Context, peerIDs []string)
|
|
IsConnected(peerID string) bool
|
|
}
|