node

package
v1.0.63 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginStatusNodeTypeCPA  = "cpa"
	PluginStatusNodeTypeHome = "home"

	PluginTaskOperationDelete = "delete"
	PluginTaskTargetAll       = "all"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Node

type Node struct {
	NodeID                 string    `json:"node_id,omitempty"`
	IP                     string    `json:"ip"`
	Connected              time.Time `json:"connected_time"`
	ClientCount            int       `json:"client_count"`
	CertificateFingerprint string    `json:"certificate_fingerprint,omitempty"`
	OpenConnections        int       `json:"open_connections"`
	ActiveHandlers         int       `json:"active_handlers"`
	LatestCancelRevision   int64     `json:"latest_cancel_revision"`
}

type PluginTask added in v1.0.44

type PluginTask struct {
	ID             uint      `json:"id"`
	Operation      string    `json:"operation"`
	PluginID       string    `json:"plugin_id"`
	TargetNodeType string    `json:"target_node_type,omitempty"`
	TargetNodeID   string    `json:"target_node_id,omitempty"`
	CreatedAt      time.Time `json:"created_at"`
	UpdatedAt      time.Time `json:"updated_at"`
}

type PluginTaskPlatform added in v1.0.44

type PluginTaskPlatform struct {
	GOOS   string `json:"goos"`
	GOARCH string `json:"goarch"`
}

type PluginTaskPlugin added in v1.0.44

type PluginTaskPlugin struct {
	ID            string `json:"id"`
	Version       string `json:"version,omitempty"`
	ReleaseTag    string `json:"release_tag,omitempty"`
	Repository    string `json:"repository,omitempty"`
	InstallStatus string `json:"install_status"`
	LoadStatus    string `json:"load_status,omitempty"`
	Path          string `json:"path,omitempty"`
	Skipped       bool   `json:"skipped,omitempty"`
	Overwritten   bool   `json:"overwritten,omitempty"`
	Error         string `json:"error,omitempty"`
}

type PluginTaskStatus added in v1.0.44

type PluginTaskStatus struct {
	SchemaVersion int                `json:"schema_version"`
	TaskID        uint               `json:"task_id,omitempty"`
	NodeType      string             `json:"node_type,omitempty"`
	Task          string             `json:"task"`
	NodeID        string             `json:"node_id"`
	ClientIP      string             `json:"client_ip,omitempty"`
	Status        string             `json:"status"`
	Phase         string             `json:"phase"`
	OK            bool               `json:"ok"`
	StartedAt     time.Time          `json:"started_at"`
	FinishedAt    time.Time          `json:"finished_at,omitempty"`
	UpdatedAt     time.Time          `json:"updated_at"`
	Platform      PluginTaskPlatform `json:"platform"`
	Plugins       []PluginTaskPlugin `json:"plugins"`
	Error         string             `json:"error,omitempty"`
}

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func GlobalRegistry

func GlobalRegistry() *Registry

GlobalRegistry returns the shared node registry.

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new registry.

func (*Registry) Add

func (r *Registry) Add(ip string, connectedAt time.Time)

Add adds the value.

func (*Registry) AddWithNodeID added in v1.0.44

func (r *Registry) AddWithNodeID(ip string, nodeID string, connectedAt time.Time)

AddWithNodeID adds the value with an optional node id.

func (*Registry) List

func (r *Registry) List() []Node

List returns the available entries.

func (*Registry) Remove

func (r *Registry) Remove(ip string)

func (*Registry) RemoveWithNodeID added in v1.0.44

func (r *Registry) RemoveWithNodeID(ip string, nodeID string)

RemoveWithNodeID removes the value with an optional node id.

func (*Registry) TotalCount

func (r *Registry) TotalCount() int

TotalCount returns the current number of active client connections.

func (*Registry) UpdateFingerprintState added in v1.0.63

func (r *Registry) UpdateFingerprintState(fingerprint string, nodeID string, ip string, openConnections int, activeHandlers int, revision int64)

Remove removes the value. UpdateFingerprintState applies local connection and handler deltas for a certificate fingerprint.

func (*Registry) UpdateFingerprintSubscription added in v1.0.63

func (r *Registry) UpdateFingerprintSubscription(fingerprint string, nodeID string, ip string, subscriptions int)

UpdateFingerprintSubscription applies a subscription delta for a certificate fingerprint.

Jump to

Keyboard shortcuts

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