Documentation
¶
Index ¶
- type BpfEntry
- type BuildInfo
- type HealthCheckPeerStatus
- type HealthCheckStatus
- type NextHop
- type NextHopInfo
- type NodeError
- type NodeInfo
- type NodePodInfo
- type NodeStatusResponse
- type PeerStatus
- type PeerTunnelStatus
- type RouteEntry
- type RouteType
- type RoutingTableInfo
- type WireGuardPeerLinkStatus
- type WireGuardPeerStatus
- type WireGuardStatusInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BpfEntry ¶
type BpfEntry struct {
CIDR string `json:"cidr"`
Remote string `json:"remote"`
Node string `json:"node,omitempty"`
Interface string `json:"interface"`
Protocol string `json:"protocol"`
Healthy bool `json:"healthy"`
VNI uint32 `json:"vni"`
MTU int `json:"mtu"`
IfIndex uint32 `json:"ifindex"`
}
BpfEntry represents a single entry from the eBPF LPM trie tunnel maps.
type BuildInfo ¶
type BuildInfo struct {
Version string `json:"version"`
Commit string `json:"commit"`
BuildTime string `json:"buildTime"`
}
BuildInfo contains build-time information for a binary.
type HealthCheckPeerStatus ¶
type HealthCheckPeerStatus struct {
Enabled bool `json:"enabled"`
Status string `json:"status"`
Uptime string `json:"uptime,omitempty"`
RTT string `json:"rtt,omitempty"`
}
HealthCheckPeerStatus contains health check session status for a peer.
type HealthCheckStatus ¶
type HealthCheckStatus struct {
Healthy bool `json:"healthy"`
Summary string `json:"summary,omitempty"`
PeerCount int `json:"peerCount,omitempty"`
CheckedAt time.Time `json:"checkedAt"`
}
HealthCheckStatus contains aggregate health check service information.
type NextHop ¶
type NextHop struct {
Gateway string `json:"gateway,omitempty"`
Device string `json:"device"`
Distance int `json:"distance,omitempty"`
Weight int `json:"weight,omitempty"`
MTU int `json:"mtu,omitempty"`
RouteTypes []RouteType `json:"routeTypes"`
Expected *bool `json:"expected,omitempty"`
Present *bool `json:"present,omitempty"`
PeerDestinations []string `json:"peerDestinations,omitempty"`
Info *NextHopInfo `json:"info,omitempty"`
}
NextHop represents a single next-hop in a route.
type NextHopInfo ¶
type NextHopInfo struct {
ObjectName string `json:"objectName,omitempty"`
ObjectType string `json:"objectType,omitempty"`
RouteType string `json:"routeType,omitempty"`
}
NextHopInfo contains metadata describing how a next-hop was derived.
type NodeError ¶
type NodeError struct {
Type string `json:"type"`
Message string `json:"message"`
Timestamp time.Time `json:"timestamp,omitempty"`
}
NodeError describes a node-level error surfaced in status payloads.
type NodeInfo ¶
type NodeInfo struct {
Name string `json:"name"`
SiteName string `json:"siteName"`
IsGateway bool `json:"isGateway"`
PodCIDRs []string `json:"podCIDRs"`
InternalIPs []string `json:"internalIPs,omitempty"`
ExternalIPs []string `json:"externalIPs,omitempty"`
BuildInfo *BuildInfo `json:"buildInfo,omitempty"`
WireGuard *WireGuardStatusInfo `json:"wireGuard,omitempty"`
K8sReady string `json:"k8sReady,omitempty"`
ProviderID string `json:"providerId,omitempty"`
OSImage string `json:"osImage,omitempty"`
Kernel string `json:"kernel,omitempty"`
Kubelet string `json:"kubelet,omitempty"`
Arch string `json:"arch,omitempty"`
NodeOS string `json:"nodeOs,omitempty"`
K8sLabels map[string]string `json:"k8sLabels,omitempty"`
K8sUpdatedAt *time.Time `json:"k8sUpdatedAt,omitempty"`
}
NodeInfo contains basic node information.
type NodePodInfo ¶
type NodePodInfo struct {
PodName string `json:"podName"`
StartTime time.Time `json:"startTime"`
Restarts int32 `json:"restarts"`
}
NodePodInfo contains information about the unbounded-net-node pod running on a node.
type NodeStatusResponse ¶
type NodeStatusResponse struct {
Timestamp time.Time `json:"timestamp"`
NodeInfo NodeInfo `json:"nodeInfo"`
Peers []PeerStatus `json:"peers"`
RoutingTable RoutingTableInfo `json:"routingTable"`
HealthCheck *HealthCheckStatus `json:"healthCheck,omitempty"`
NodeErrors []NodeError `json:"nodeErrors,omitempty"`
FetchError string `json:"fetchError,omitempty"`
LastPushTime *time.Time `json:"lastPushTime,omitempty"`
StatusSource string `json:"statusSource,omitempty"`
NodePodInfo *NodePodInfo `json:"nodePodInfo,omitempty"`
BpfEntries []BpfEntry `json:"bpfEntries,omitempty"`
}
NodeStatusResponse is the top-level status response for a node.
type PeerStatus ¶
type PeerStatus struct {
Name string `json:"name"`
PeerType string `json:"peerType"`
SiteName string `json:"siteName,omitempty"`
PodCIDRGateways []string `json:"podCidrGateways,omitempty"`
SkipPodCIDRRoutes bool `json:"skipPodCidrRoutes,omitempty"`
RouteDistances map[string]int `json:"routeDistances,omitempty"`
Tunnel PeerTunnelStatus `json:"tunnel"`
RouteDestinations []string `json:"routeDestinations,omitempty"`
HealthCheck *HealthCheckPeerStatus `json:"healthCheck,omitempty"`
}
PeerStatus contains information about a tunnel peer.
type PeerTunnelStatus ¶
type PeerTunnelStatus struct {
Protocol string `json:"protocol,omitempty"`
Interface string `json:"interface"`
PublicKey string `json:"publicKey,omitempty"`
Endpoint string `json:"endpoint,omitempty"`
AllowedIPs []string `json:"allowedIPs,omitempty"`
RxBytes int64 `json:"rxBytes,omitempty"`
TxBytes int64 `json:"txBytes,omitempty"`
LastHandshake time.Time `json:"lastHandshake,omitempty"`
}
PeerTunnelStatus contains per-link tunnel transport metrics.
type RouteEntry ¶
type RouteEntry struct {
Destination string `json:"destination"`
Family string `json:"family"` // "IPv4" or "IPv6"
Table int `json:"table,omitempty"`
NextHops []NextHop `json:"nextHops"`
}
RouteEntry represents a deduplicated route.
type RouteType ¶
type RouteType struct {
Type string `json:"type"`
Attributes []string `json:"attributes,omitempty"`
}
RouteType contains the protocol type and attributes for one contributor to a nexthop.
type RoutingTableInfo ¶
type RoutingTableInfo struct {
Routes []RouteEntry `json:"routes"`
ManagedRouteCount int `json:"managedRouteCount,omitempty"`
PendingRouteCount int `json:"pendingRouteCount,omitempty"`
}
RoutingTableInfo contains routing table entries.
type WireGuardPeerLinkStatus ¶
type WireGuardPeerLinkStatus = PeerTunnelStatus
WireGuardPeerLinkStatus is a deprecated alias for PeerTunnelStatus.
type WireGuardPeerStatus ¶
type WireGuardPeerStatus = PeerStatus
WireGuardPeerStatus is a deprecated alias for PeerStatus.