agent

package
v0.1.22 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package agent provides the agent API for the server

Index

Constants

View Source
const (
	// AgentKind is the kind of the agent resource.
	AgentKind = "Agent"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	// Metadata contains identifying information about the agent.
	Metadata Metadata `json:"metadata"`

	// Spec contains the desired configuration for the agent.
	Spec Spec `json:"spec"`

	// Status contains the observed state of the agent.
	Status Status `json:"status"`

} // @name Agent

Agent represents an agent which is defined OpAMP protocol. It follows the Kubernetes-style resource structure with Metadata, Spec, and Status.

type AvailableComponents added in v0.1.18

type AvailableComponents struct {
	Components map[string]ComponentDetails `json:"components,omitempty"`

} // @name AgentAvailableComponents

AvailableComponents represents the available components of the agent.

type Capabilities added in v0.1.18

type Capabilities uint64

Capabilities is a bitmask representing the capabilities of the agent.

type Command added in v0.1.0

type Command struct {
	Kind              string         `json:"kind"`
	ID                string         `json:"id"`
	TargetInstanceUID string         `json:"targetInstanceUid"`
	Data              map[string]any `json:"data"`

} // @name AgentCommand

Command is a common struct that represents a command to be sent to an agent.

type ComponentDetails added in v0.1.22

type ComponentDetails struct {
	Type    string `json:"type,omitempty"`
	Version string `json:"version,omitempty"`

} // @name ComponentDetails

ComponentDetails represents details of an available component.

type ComponentHealth added in v0.1.18

type ComponentHealth struct {
	Healthy       bool              `json:"healthy"`
	StartTimeUnix int64             `json:"startTimeUnix,omitempty"`
	LastError     string            `json:"lastError,omitempty"`
	Status        string            `json:"status,omitempty"`
	StatusTimeMS  int64             `json:"statusTimeMs,omitempty"`
	ComponentsMap map[string]string `json:"componentsMap,omitempty"`

} // @name AgentComponentHealth

ComponentHealth represents the health status of the agent's components.

type ConfigFile added in v0.1.18

type ConfigFile struct {
	Body        string `json:"body"`
	ContentType string `json:"contentType"`

} // @name AgentConfigFile

ConfigFile represents a configuration file for the agent.

type ConfigMap added in v0.1.18

type ConfigMap struct {
	ConfigMap map[string]ConfigFile `json:"configMap"`

} // @name AgentConfigMap

ConfigMap represents a map of configuration files for the agent.

type CustomCapabilities added in v0.1.18

type CustomCapabilities struct {
	Capabilities []string `json:"capabilities,omitempty"`

} // @name AgentCustomCapabilities

CustomCapabilities represents the custom capabilities of the agent.

type Description added in v0.1.18

type Description struct {
	// IdentifyingAttributes are attributes that uniquely identify the agent.
	IdentifyingAttributes map[string]string `json:"identifyingAttributes,omitempty"`
	// NonIdentifyingAttributes are attributes that do not uniquely identify the agent.
	NonIdentifyingAttributes map[string]string `json:"nonIdentifyingAttributes,omitempty"`

} // @name AgentDescription

Description represents the description of the agent.

type EffectiveConfig added in v0.1.18

type EffectiveConfig struct {
	ConfigMap ConfigMap `json:"configMap"`

} // @name AgentEffectiveConfig

EffectiveConfig represents the effective configuration of the agent.

type ListResponse added in v0.1.9

type ListResponse = v1.ListResponse[Agent]

ListResponse represents a list of agents with metadata.

func NewListResponse added in v0.1.9

func NewListResponse(agents []Agent, metadata v1.ListMeta) *ListResponse

NewListResponse creates a new ListResponse with the given agents and metadata.

type Metadata added in v0.1.22

type Metadata struct {
	// InstanceUID is a unique identifier for the agent instance.
	InstanceUID uuid.UUID `json:"instanceUid"`

	// Description is a human-readable description of the agent.
	Description Description `json:"description"`

	// Capabilities is a bitmask representing the capabilities of the agent.
	Capabilities Capabilities `json:"capabilities"`

	// CustomCapabilities is a map of custom capabilities for the agent.
	CustomCapabilities CustomCapabilities `json:"customCapabilities"`

} // @name AgentMetadata

Metadata contains identifying information about the agent.

type PackageStatus added in v0.1.18

type PackageStatus struct {
	// Name is the name of the package.
	Name string `json:"name"`

} // @name AgentPackageStatus

PackageStatus represents the status of a package in the agent.

type PackageStatuses added in v0.1.18

type PackageStatuses struct {
	Packages                      map[string]PackageStatus `json:"packages"`
	ServerProvidedAllPackagesHash string                   `json:"serverProvidedAllPackagesHash,omitempty"`
	ErrorMessage                  string                   `json:"errorMessage,omitempty"`

} // @name AgentPackageStatuses

PackageStatuses represents the package statuses of the agent.

type RemoteConfig added in v0.1.18

type RemoteConfig struct {
	ConfigMap  map[string]ConfigFile `json:"configMap,omitempty"`
	ConfigHash string                `json:"configHash,omitempty"`

} // @name AgentRemoteConfig

RemoteConfig represents the remote configuration of the agent.

type Spec added in v0.1.22

type Spec struct {
	// RemoteConfig is the remote configuration of the agent.
	RemoteConfig RemoteConfig `json:"remoteConfig"`

} // @name AgentSpec

Spec contains the desired configuration for the agent.

type Status added in v0.1.22

type Status struct {
	// EffectiveConfig is the effective configuration of the agent.
	EffectiveConfig EffectiveConfig `json:"effectiveConfig"`

	// PackageStatuses is a map of package statuses for the agent.
	PackageStatuses PackageStatuses `json:"packageStatuses"`

	// ComponentHealth is the health status of the agent's components.
	ComponentHealth ComponentHealth `json:"componentHealth"`

	// AvailableComponents lists components available on the agent.
	AvailableComponents AvailableComponents `json:"availableComponents"`

	// Connected indicates if the agent is currently connected.
	Connected bool `json:"connected"`

	// LastReportedAt is the timestamp when the agent last reported its status.
	LastReportedAt string `json:"lastReportedAt,omitempty"`

} // @name AgentStatus

Status contains the observed state of the agent.

type UpdateAgentConfigRequest added in v0.1.0

type UpdateAgentConfigRequest struct {
	RemoteConfig any `binding:"required" json:"remoteConfig"`

} // @name UpdateAgentConfigRequest

UpdateAgentConfigRequest is a struct that represents the request to update the agent configuration. It contains the target instance UID and the remote configuration data.

Jump to

Keyboard shortcuts

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