status

package
v0.67.3 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2026 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToProtoFullStatus added in v0.64.0

func ToProtoFullStatus(fullStatus peer.FullStatus) *proto.FullStatus

Types

type ConvertOptions added in v0.67.0

type ConvertOptions struct {
	Anonymize            bool
	DaemonVersion        string
	DaemonStatus         DaemonStatus
	StatusFilter         string
	PrefixNamesFilter    []string
	PrefixNamesFilterMap map[string]struct{}
	IPsFilter            map[string]struct{}
	ConnectionTypeFilter string
	ProfileName          string
}

ConvertOptions holds parameters for ConvertToStatusOutputOverview.

type DaemonStatus added in v0.67.0

type DaemonStatus string

DaemonStatus represents the current state of the NetBird daemon. These values mirror internal.StatusType but are defined here to avoid an import cycle.

const (
	DaemonStatusIdle           DaemonStatus = "Idle"
	DaemonStatusConnecting     DaemonStatus = "Connecting"
	DaemonStatusConnected      DaemonStatus = "Connected"
	DaemonStatusNeedsLogin     DaemonStatus = "NeedsLogin"
	DaemonStatusLoginFailed    DaemonStatus = "LoginFailed"
	DaemonStatusSessionExpired DaemonStatus = "SessionExpired"
)

func ParseDaemonStatus added in v0.67.0

func ParseDaemonStatus(s string) DaemonStatus

ParseDaemonStatus converts a raw status string to DaemonStatus. Unrecognized values are preserved as-is to remain visible during version skew.

type IceCandidateType added in v0.37.0

type IceCandidateType struct {
	Local  string `json:"local" yaml:"local"`
	Remote string `json:"remote" yaml:"remote"`
}

type ManagementStateOutput added in v0.37.0

type ManagementStateOutput struct {
	URL       string `json:"url" yaml:"url"`
	Connected bool   `json:"connected" yaml:"connected"`
	Error     string `json:"error" yaml:"error"`
}

type NsServerGroupStateOutput added in v0.37.0

type NsServerGroupStateOutput struct {
	Servers []string `json:"servers" yaml:"servers"`
	Domains []string `json:"domains" yaml:"domains"`
	Enabled bool     `json:"enabled" yaml:"enabled"`
	Error   string   `json:"error" yaml:"error"`
}

type OutputOverview added in v0.37.0

type OutputOverview struct {
	Peers                   PeersStateOutput           `json:"peers" yaml:"peers"`
	CliVersion              string                     `json:"cliVersion" yaml:"cliVersion"`
	DaemonVersion           string                     `json:"daemonVersion" yaml:"daemonVersion"`
	DaemonStatus            DaemonStatus               `json:"daemonStatus" yaml:"daemonStatus"`
	ManagementState         ManagementStateOutput      `json:"management" yaml:"management"`
	SignalState             SignalStateOutput          `json:"signal" yaml:"signal"`
	Relays                  RelayStateOutput           `json:"relays" yaml:"relays"`
	IP                      string                     `json:"netbirdIp" yaml:"netbirdIp"`
	PubKey                  string                     `json:"publicKey" yaml:"publicKey"`
	KernelInterface         bool                       `json:"usesKernelInterface" yaml:"usesKernelInterface"`
	FQDN                    string                     `json:"fqdn" yaml:"fqdn"`
	RosenpassEnabled        bool                       `json:"quantumResistance" yaml:"quantumResistance"`
	RosenpassPermissive     bool                       `json:"quantumResistancePermissive" yaml:"quantumResistancePermissive"`
	Networks                []string                   `json:"networks" yaml:"networks"`
	NumberOfForwardingRules int                        `json:"forwardingRules" yaml:"forwardingRules"`
	NSServerGroups          []NsServerGroupStateOutput `json:"dnsServers" yaml:"dnsServers"`
	Events                  []SystemEventOutput        `json:"events" yaml:"events"`
	LazyConnectionEnabled   bool                       `json:"lazyConnectionEnabled" yaml:"lazyConnectionEnabled"`
	ProfileName             string                     `json:"profileName" yaml:"profileName"`
	SSHServerState          SSHServerStateOutput       `json:"sshServer" yaml:"sshServer"`
}

func ConvertToStatusOutputOverview added in v0.37.0

func ConvertToStatusOutputOverview(pbFullStatus *proto.FullStatus, opts ConvertOptions) OutputOverview

ConvertToStatusOutputOverview converts protobuf status to the output overview.

func (*OutputOverview) FullDetailSummary added in v0.63.0

func (o *OutputOverview) FullDetailSummary() string

FullDetailSummary returns a full detailed summary with peer details and events.

func (*OutputOverview) GeneralSummary added in v0.63.0

func (o *OutputOverview) GeneralSummary(showURL bool, showRelays bool, showNameServers bool, showSSHSessions bool) string

GeneralSummary returns a general summary of the status overview.

func (*OutputOverview) JSON added in v0.63.0

func (o *OutputOverview) JSON() (string, error)

JSON returns the status overview as a JSON string.

func (*OutputOverview) YAML added in v0.63.0

func (o *OutputOverview) YAML() (string, error)

YAML returns the status overview as a YAML string.

type PeerStateDetailOutput added in v0.37.0

type PeerStateDetailOutput struct {
	FQDN                   string           `json:"fqdn" yaml:"fqdn"`
	IP                     string           `json:"netbirdIp" yaml:"netbirdIp"`
	PubKey                 string           `json:"publicKey" yaml:"publicKey"`
	Status                 string           `json:"status" yaml:"status"`
	LastStatusUpdate       time.Time        `json:"lastStatusUpdate" yaml:"lastStatusUpdate"`
	ConnType               string           `json:"connectionType" yaml:"connectionType"`
	IceCandidateType       IceCandidateType `json:"iceCandidateType" yaml:"iceCandidateType"`
	IceCandidateEndpoint   IceCandidateType `json:"iceCandidateEndpoint" yaml:"iceCandidateEndpoint"`
	RelayAddress           string           `json:"relayAddress" yaml:"relayAddress"`
	LastWireguardHandshake time.Time        `json:"lastWireguardHandshake" yaml:"lastWireguardHandshake"`
	TransferReceived       int64            `json:"transferReceived" yaml:"transferReceived"`
	TransferSent           int64            `json:"transferSent" yaml:"transferSent"`
	Latency                time.Duration    `json:"latency" yaml:"latency"`
	RosenpassEnabled       bool             `json:"quantumResistance" yaml:"quantumResistance"`
	Networks               []string         `json:"networks" yaml:"networks"`
}

type PeersStateOutput added in v0.37.0

type PeersStateOutput struct {
	Total     int                     `json:"total" yaml:"total"`
	Connected int                     `json:"connected" yaml:"connected"`
	Details   []PeerStateDetailOutput `json:"details" yaml:"details"`
}

type RelayStateOutput added in v0.37.0

type RelayStateOutput struct {
	Total     int                      `json:"total" yaml:"total"`
	Available int                      `json:"available" yaml:"available"`
	Details   []RelayStateOutputDetail `json:"details" yaml:"details"`
}

type RelayStateOutputDetail added in v0.37.0

type RelayStateOutputDetail struct {
	URI       string `json:"uri" yaml:"uri"`
	Available bool   `json:"available" yaml:"available"`
	Error     string `json:"error" yaml:"error"`
}

type SSHServerStateOutput added in v0.60.0

type SSHServerStateOutput struct {
	Enabled  bool               `json:"enabled" yaml:"enabled"`
	Sessions []SSHSessionOutput `json:"sessions" yaml:"sessions"`
}

type SSHSessionOutput added in v0.60.0

type SSHSessionOutput struct {
	Username      string   `json:"username" yaml:"username"`
	RemoteAddress string   `json:"remoteAddress" yaml:"remoteAddress"`
	Command       string   `json:"command" yaml:"command"`
	JWTUsername   string   `json:"jwtUsername,omitempty" yaml:"jwtUsername,omitempty"`
	PortForwards  []string `json:"portForwards,omitempty" yaml:"portForwards,omitempty"`
}

type SignalStateOutput added in v0.37.0

type SignalStateOutput struct {
	URL       string `json:"url" yaml:"url"`
	Connected bool   `json:"connected" yaml:"connected"`
	Error     string `json:"error" yaml:"error"`
}

type SystemEventOutput added in v0.37.0

type SystemEventOutput struct {
	ID          string            `json:"id" yaml:"id"`
	Severity    string            `json:"severity" yaml:"severity"`
	Category    string            `json:"category" yaml:"category"`
	Message     string            `json:"message" yaml:"message"`
	UserMessage string            `json:"userMessage" yaml:"userMessage"`
	Timestamp   time.Time         `json:"timestamp" yaml:"timestamp"`
	Metadata    map[string]string `json:"metadata" yaml:"metadata"`
}

Jump to

Keyboard shortcuts

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