agent

package
v0.0.0-...-792e844 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunDaemon

func RunDaemon()

func RunShowMetrics

func RunShowMetrics() error

func RunSysup

func RunSysup(autoYes bool) error

Types

type Config

type Config struct {
	BackendURL         string `yaml:"backend_url"`
	TelemetryEndpoint  string
	PackageEndpoint    string
	UpgradeEndpoint    string
	PollInterval       time.Duration   `yaml:"poll_interval"`
	UpgradeCheckPeriod time.Duration   `yaml:"upgrade_check_period"`
	Token              string          `yaml:"token"`
	Hostname           string          `yaml:"hostname"`
	DiskUsage          DiskUsageFilter `yaml:"disk_usage"`
}

func LoadConfig

func LoadConfig() (*Config, error)

type DefaultPackageInfoProvider

type DefaultPackageInfoProvider struct{}

func (*DefaultPackageInfoProvider) GetPackageInfo

func (p *DefaultPackageInfoProvider) GetPackageInfo() ([]PackageInfo, error)

type DefaultPackageInfoReporter

type DefaultPackageInfoReporter struct{}

func (*DefaultPackageInfoReporter) ReportPackageInfo

func (r *DefaultPackageInfoReporter) ReportPackageInfo(config *Config, packages []PackageInfo) error

type DefaultTelemetryDataProvider

type DefaultTelemetryDataProvider struct{}

func (DefaultTelemetryDataProvider) CollectTelemetryData

func (d DefaultTelemetryDataProvider) CollectTelemetryData(config *Config) (TelemetryData, error)

type DefaultTelemetryDataSender

type DefaultTelemetryDataSender struct{}

func (DefaultTelemetryDataSender) SendTelemetryData

func (d DefaultTelemetryDataSender) SendTelemetryData(config *Config, data TelemetryData) error

type DefaultUpgradeChecker

type DefaultUpgradeChecker struct{}

func (DefaultUpgradeChecker) CheckAndPerformUpgrade

func (d DefaultUpgradeChecker) CheckAndPerformUpgrade(config *Config) error

type DefaultUpgradePerformer

type DefaultUpgradePerformer struct{}

func (DefaultUpgradePerformer) PerformUpgrade

func (d DefaultUpgradePerformer) PerformUpgrade(autoYes bool) error

type DiskUsage

type DiskUsage struct {
	Path        string  `json:"path"`
	Total       uint64  `json:"total"`
	Used        uint64  `json:"used"`
	Free        uint64  `json:"free"`
	UsedPercent float64 `json:"used_percent"`
}

struct to hold all disk usage information

type DiskUsageFilter

type DiskUsageFilter struct {
	FSTypes     []string
	Mountpoints []string
}

type PackageInfo

type PackageInfo struct {
	Name       string `json:"name"`
	Version    string `json:"version"`
	NewVersion string `json:"new_version,omitempty"`
	Category   string `json:"category,omitempty"`
	Arch       string `json:"arch,omitempty"`
}

type PackageInfoProvider

type PackageInfoProvider interface {
	GetPackageInfo() ([]PackageInfo, error)
}

type PackageInfoReporter

type PackageInfoReporter interface {
	ReportPackageInfo(config *Config, packages []PackageInfo) error
}

type TelemetryData

type TelemetryData struct {
	CPUUsage      float64     `json:"cpu_usage"`
	MemoryUsage   float64     `json:"memory_usage"`
	OSInfo        string      `json:"os_info"`
	CurrentUser   string      `json:"current_user"`
	LoggedInUsers []string    `json:"logged_in_user"`
	DiskUsage     []DiskUsage `json:"disk_usage"`
}

TelemetryData contains the collected telemetry information

type TelemetryDataProvider

type TelemetryDataProvider interface {
	CollectTelemetryData(config *Config) (TelemetryData, error)
}

type TelemetryDataSender

type TelemetryDataSender interface {
	SendTelemetryData(config *Config, data TelemetryData) error
}

type UpgradeChecker

type UpgradeChecker interface {
	CheckAndPerformUpgrade(config *Config) error
}

type UpgradePerformer

type UpgradePerformer interface {
	PerformUpgrade() error
}

Jump to

Keyboard shortcuts

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