v1alpha1

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

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.

type WireGuardStatusInfo

type WireGuardStatusInfo struct {
	Interface  string `json:"interface"`
	PublicKey  string `json:"publicKey"`
	ListenPort int    `json:"listenPort"`
	PeerCount  int    `json:"peerCount"`
}

WireGuardStatusInfo contains WireGuard interface information.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL