runtime

package
v0.1.28 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: MPL-2.0 Imports: 89 Imported by: 0

Documentation

Overview

Package runtime provides the runtime implementation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WaitForDevicesReady

func WaitForDevicesReady(ctx context.Context, r controller.Runtime, nextInputs []controller.Input) error

WaitForDevicesReady waits for devices to be ready.

It is a helper function for controllers.

Types

type BootedEntryController

type BootedEntryController struct {
	V1Alpha1Mode machineruntime.Mode
}

BootedEntryController is a controller that updates the booted entry resource.

func (*BootedEntryController) Inputs

func (ctrl *BootedEntryController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*BootedEntryController) Name

func (ctrl *BootedEntryController) Name() string

Name implements controller.Controller interface.

func (*BootedEntryController) Outputs

func (ctrl *BootedEntryController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*BootedEntryController) Run

Run implements controller.Controller interface.

type DevicesStatusController

type DevicesStatusController struct {
	V1Alpha1Mode machineruntime.Mode
}

DevicesStatusController loads extensions.yaml and updates DevicesStatus resources.

func (*DevicesStatusController) Inputs

func (ctrl *DevicesStatusController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*DevicesStatusController) Name

func (ctrl *DevicesStatusController) Name() string

Name implements controller.Controller interface.

func (*DevicesStatusController) Outputs

func (ctrl *DevicesStatusController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*DevicesStatusController) Run

Run implements controller.Controller interface.

type DiagnosticsController

type DiagnosticsController struct{}

DiagnosticsController analyzes state of Chubo Linux system and provides warnings on common problems.

func (*DiagnosticsController) Inputs

func (ctrl *DiagnosticsController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*DiagnosticsController) Name

func (ctrl *DiagnosticsController) Name() string

Name implements controller.Controller interface.

func (*DiagnosticsController) Outputs

func (ctrl *DiagnosticsController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*DiagnosticsController) Run

Run implements controller.Controller interface.

type DiagnosticsLoggerController

type DiagnosticsLoggerController struct{}

DiagnosticsLoggerController logs warnings generated by DiagnosticsController.

func (*DiagnosticsLoggerController) Inputs

func (ctrl *DiagnosticsLoggerController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*DiagnosticsLoggerController) Name

func (ctrl *DiagnosticsLoggerController) Name() string

Name implements controller.Controller interface.

func (*DiagnosticsLoggerController) Outputs

func (ctrl *DiagnosticsLoggerController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*DiagnosticsLoggerController) Run

Run implements controller.Controller interface.

type DropUpgradeFallbackController

type DropUpgradeFallbackController struct {
	MetaProvider MetaProvider
}

DropUpgradeFallbackController removes upgrade fallback key once machine reaches ready & running.

func (*DropUpgradeFallbackController) Inputs

Inputs implements controller.Controller interface.

func (*DropUpgradeFallbackController) Name

Name implements controller.Controller interface.

func (*DropUpgradeFallbackController) Outputs

Outputs implements controller.Controller interface.

func (*DropUpgradeFallbackController) Run

Run implements controller.Controller interface.

type EnvironmentController

type EnvironmentController struct{}

EnvironmentController watches v1alpha1.Config and sets environment variables accordingly.

func (*EnvironmentController) Inputs

func (ctrl *EnvironmentController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*EnvironmentController) Name

func (ctrl *EnvironmentController) Name() string

Name implements controller.Controller interface.

func (*EnvironmentController) Outputs

func (ctrl *EnvironmentController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*EnvironmentController) Run

Run implements controller.Controller interface.

type EventsSinkConfigController

type EventsSinkConfigController struct {
	Cmdline      *procfs.Cmdline
	V1Alpha1Mode v1alpha1runtime.Mode
}

EventsSinkConfigController generates configuration for kmsg log delivery.

func (*EventsSinkConfigController) Inputs

func (ctrl *EventsSinkConfigController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*EventsSinkConfigController) Name

func (ctrl *EventsSinkConfigController) Name() string

Name implements controller.Controller interface.

func (*EventsSinkConfigController) Outputs

func (ctrl *EventsSinkConfigController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*EventsSinkConfigController) Run

Run implements controller.Controller interface.

type EventsSinkController

type EventsSinkController struct {
	V1Alpha1Events machinedruntime.Watcher
	Drainer        *machinedruntime.Drainer
	// contains filtered or unexported fields
}

EventsSinkController watches events and forwards them to the events sink server if it's configured.

func (*EventsSinkController) Inputs

func (ctrl *EventsSinkController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*EventsSinkController) Name

func (ctrl *EventsSinkController) Name() string

Name implements controller.Controller interface.

func (*EventsSinkController) Outputs

func (ctrl *EventsSinkController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*EventsSinkController) Run

Run implements controller.Controller interface.

type ExtensionServiceConfigController

type ExtensionServiceConfigController struct{}

ExtensionServiceConfigController watches v1alpha1.Config, creates/updates/deletes extension services config.

func (*ExtensionServiceConfigController) Inputs

Inputs implements controller.Controller interface.

func (*ExtensionServiceConfigController) Name

Name implements controller.Controller interface.

func (*ExtensionServiceConfigController) Outputs

Outputs implements controller.Controller interface.

func (*ExtensionServiceConfigController) Run

Run implements controller.Controller interface.

type ExtensionServiceConfigFilesController

type ExtensionServiceConfigFilesController struct {
	V1Alpha1Mode            v1alpha1runtime.Mode
	ExtensionsConfigBaseDir string
}

ExtensionServiceConfigFilesController writes down the config files for extension services.

func (*ExtensionServiceConfigFilesController) Inputs

Inputs implements controller.Controller interface.

func (*ExtensionServiceConfigFilesController) Name

Name implements controller.Controller interface.

func (*ExtensionServiceConfigFilesController) Outputs

Outputs implements controller.Controller interface.

func (*ExtensionServiceConfigFilesController) Run

Run implements controller.Controller interface.

type ExtensionServiceController

type ExtensionServiceController struct {
	V1Alpha1Services ServiceManager
	ConfigPath       string
	// contains filtered or unexported fields
}

ExtensionServiceController creates extension services based on the extension service configuration found in the rootfs.

func (*ExtensionServiceController) Inputs

func (ctrl *ExtensionServiceController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*ExtensionServiceController) Name

func (ctrl *ExtensionServiceController) Name() string

Name implements controller.Controller interface.

func (*ExtensionServiceController) Outputs

func (ctrl *ExtensionServiceController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*ExtensionServiceController) Run

Run implements controller.Controller interface.

type ExtensionStatusController

type ExtensionStatusController struct{}

ExtensionStatusController loads extensions.yaml and updates ExtensionStatus resources.

func (*ExtensionStatusController) Inputs

func (ctrl *ExtensionStatusController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*ExtensionStatusController) Name

func (ctrl *ExtensionStatusController) Name() string

Name implements controller.Controller interface.

func (*ExtensionStatusController) Outputs

func (ctrl *ExtensionStatusController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*ExtensionStatusController) Run

Run implements controller.Controller interface.

type KernelCmdlineController

type KernelCmdlineController struct {
	V1Alpha1Mode machineruntime.Mode
}

KernelCmdlineController presents /proc/cmdline as a resource.

func (*KernelCmdlineController) Inputs

func (ctrl *KernelCmdlineController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KernelCmdlineController) Name

func (ctrl *KernelCmdlineController) Name() string

Name implements controller.Controller interface.

func (*KernelCmdlineController) Outputs

func (ctrl *KernelCmdlineController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KernelCmdlineController) Run

Run implements controller.Controller interface.

type KernelModuleConfigController

type KernelModuleConfigController struct{}

KernelModuleConfigController watches v1alpha1.Config, creates/updates/deletes kernel module specs.

func (*KernelModuleConfigController) Inputs

Inputs implements controller.Controller interface.

func (*KernelModuleConfigController) Name

func (ctrl *KernelModuleConfigController) Name() string

Name implements controller.Controller interface.

func (*KernelModuleConfigController) Outputs

Outputs implements controller.Controller interface.

func (*KernelModuleConfigController) Run

Run implements controller.Controller interface.

type KernelModuleSpecController

type KernelModuleSpecController struct {
	V1Alpha1Mode v1alpha1runtime.Mode
}

KernelModuleSpecController watches KernelModuleSpecs, sets/resets kernel params.

func (*KernelModuleSpecController) Inputs

func (ctrl *KernelModuleSpecController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KernelModuleSpecController) Name

func (ctrl *KernelModuleSpecController) Name() string

Name implements controller.Controller interface.

func (*KernelModuleSpecController) Outputs

func (ctrl *KernelModuleSpecController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KernelModuleSpecController) Run

Run implements controller.Controller interface.

type KernelParamConfigController

type KernelParamConfigController struct{}

KernelParamConfigController watches v1alpha1.Config, creates/updates/deletes kernel param specs.

func (*KernelParamConfigController) Inputs

func (ctrl *KernelParamConfigController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KernelParamConfigController) Name

func (ctrl *KernelParamConfigController) Name() string

Name implements controller.Controller interface.

func (*KernelParamConfigController) Outputs

func (ctrl *KernelParamConfigController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KernelParamConfigController) Run

Run implements controller.Controller interface.

type KernelParamDefaultsController

type KernelParamDefaultsController struct {
	V1Alpha1Mode v1alpha1runtime.Mode
}

KernelParamDefaultsController creates default kernel params.

func (*KernelParamDefaultsController) Inputs

Inputs implements controller.Controller interface.

func (*KernelParamDefaultsController) Name

Name implements controller.Controller interface.

func (*KernelParamDefaultsController) Outputs

Outputs implements controller.Controller interface.

func (*KernelParamDefaultsController) Run

Run implements controller.Controller interface.

type KernelParamSpecController

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

KernelParamSpecController watches KernelParamSpecs, sets/resets kernel params.

func (*KernelParamSpecController) Inputs

func (ctrl *KernelParamSpecController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KernelParamSpecController) Name

func (ctrl *KernelParamSpecController) Name() string

Name implements controller.Controller interface.

func (*KernelParamSpecController) Outputs

func (ctrl *KernelParamSpecController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KernelParamSpecController) Run

Run implements controller.Controller interface.

type KmsgLogConfigController

type KmsgLogConfigController struct {
	Cmdline *procfs.Cmdline
}

KmsgLogConfigController generates configuration for kmsg log delivery.

func (*KmsgLogConfigController) Inputs

func (ctrl *KmsgLogConfigController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KmsgLogConfigController) Name

func (ctrl *KmsgLogConfigController) Name() string

Name implements controller.Controller interface.

func (*KmsgLogConfigController) Outputs

func (ctrl *KmsgLogConfigController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KmsgLogConfigController) Run

Run implements controller.Controller interface.

type KmsgLogDeliveryController

type KmsgLogDeliveryController struct {
	Drainer *machinedruntime.Drainer
	// contains filtered or unexported fields
}

KmsgLogDeliveryController watches events and forwards them to the events sink server if it's configured.

func (*KmsgLogDeliveryController) Inputs

func (ctrl *KmsgLogDeliveryController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KmsgLogDeliveryController) Name

func (ctrl *KmsgLogDeliveryController) Name() string

Name implements controller.Controller interface.

func (*KmsgLogDeliveryController) Outputs

func (ctrl *KmsgLogDeliveryController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KmsgLogDeliveryController) Run

Run implements controller.Controller interface.

type KmsgLogStorageController

type KmsgLogStorageController struct {
	V1Alpha1Logging runtime.LoggingManager
	V1Alpha1Mode    runtime.Mode
}

KmsgLogStorageController presents kernel message log as a 'kernel' log.

func (*KmsgLogStorageController) Inputs

func (ctrl *KmsgLogStorageController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*KmsgLogStorageController) Name

func (ctrl *KmsgLogStorageController) Name() string

Name implements controller.Controller interface.

func (*KmsgLogStorageController) Outputs

func (ctrl *KmsgLogStorageController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*KmsgLogStorageController) Run

Run implements controller.Controller interface.

type LoadedKernelModuleController

type LoadedKernelModuleController struct {
	V1Alpha1Mode machineruntime.Mode
}

LoadedKernelModuleController presents /proc/modules as a resource.

func (*LoadedKernelModuleController) Inputs

Inputs implements controller.Controller interface.

func (*LoadedKernelModuleController) Name

func (ctrl *LoadedKernelModuleController) Name() string

Name implements controller.Controller interface.

func (*LoadedKernelModuleController) Outputs

Outputs implements controller.Controller interface.

func (*LoadedKernelModuleController) Run

Run implements controller.Controller interface.

type LogPersistenceController

type LogPersistenceController struct {
	V1Alpha1Logging runtime.LoggingManager
	// contains filtered or unexported fields
}

LogPersistenceController is a controller that persists logs in files.

func (*LogPersistenceController) Inputs

func (ctrl *LogPersistenceController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*LogPersistenceController) Name

func (ctrl *LogPersistenceController) Name() string

Name implements controller.Controller interface.

func (*LogPersistenceController) Outputs

func (ctrl *LogPersistenceController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*LogPersistenceController) Run

Run implements controller.Controller interface.

func (*LogPersistenceController) WriteLog

func (ctrl *LogPersistenceController) WriteLog(id string, line []byte) error

WriteLog writes a single log line into the corresponding file.

type MachineStatusPublisherController

type MachineStatusPublisherController struct {
	V1Alpha1Events v1alpha1runtime.Publisher
}

MachineStatusPublisherController watches MachineStatusPublishers, sets/resets kernel params.

func (*MachineStatusPublisherController) Inputs

Inputs implements controller.Controller interface.

func (*MachineStatusPublisherController) Name

Name implements controller.Controller interface.

func (*MachineStatusPublisherController) Outputs

Outputs implements controller.Controller interface.

func (*MachineStatusPublisherController) Run

Run implements controller.Controller interface.

type MaintenanceConfigController

type MaintenanceConfigController struct{}

MaintenanceConfigController manages Maintenance Service config: which address it should listen on, etc.

func (*MaintenanceConfigController) Inputs

func (ctrl *MaintenanceConfigController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*MaintenanceConfigController) Name

func (ctrl *MaintenanceConfigController) Name() string

Name implements controller.Controller interface.

func (*MaintenanceConfigController) Outputs

func (ctrl *MaintenanceConfigController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*MaintenanceConfigController) Run

Run implements controller.Controller interface.

type MaintenanceServiceController

type MaintenanceServiceController struct {
	SiderolinkPeerCheckFunc authz.SideroLinkPeerCheckFunc
	V1Alpha1Mode            machinedruntime.Mode
}

MaintenanceServiceController runs the maintenance service based on the configuration.

func (*MaintenanceServiceController) Inputs

Inputs implements controller.Controller interface.

func (*MaintenanceServiceController) Name

func (ctrl *MaintenanceServiceController) Name() string

Name implements controller.Controller interface.

func (*MaintenanceServiceController) Outputs

Outputs implements controller.Controller interface.

func (*MaintenanceServiceController) Run

Run implements controller.Controller interface.

type MetaProvider

type MetaProvider interface {
	Meta() machineruntime.Meta
}

MetaProvider wraps acquiring meta.

type Module

type Module struct {
	Name           string
	Size           int
	ReferenceCount int
	Dependencies   []string
	State          string
	Address        string
}

Module represents a kernel module parsed from /proc/modules.

func ParseModules

func ParseModules(r io.Reader) ([]Module, error)

ParseModules parses the contents of /proc/modules from the given reader and returns a slice of module structs representing each loaded kernel module.

type MountStatusController

type MountStatusController struct{}

MountStatusController transforms block.MountStatus resources into legacy v1alpha1.MountStatus.

It only exists to provide backwards compatibility with legacy consumers.

func (*MountStatusController) Inputs

func (ctrl *MountStatusController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*MountStatusController) Name

func (ctrl *MountStatusController) Name() string

Name implements controller.Controller interface.

func (*MountStatusController) Outputs

func (ctrl *MountStatusController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*MountStatusController) Run

Run implements controller.Controller interface.

type OOMController

type OOMController struct {
	CgroupRoot      string
	ActionTriggered time.Time
	V1Alpha1Mode    runtime.Mode
	// contains filtered or unexported fields
}

OOMController is a controller that monitors memory PSI and handles near-OOM situations.

func (*OOMController) Inputs

func (ctrl *OOMController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*OOMController) Name

func (ctrl *OOMController) Name() string

Name implements controller.Controller interface.

func (*OOMController) OomAction

func (ctrl *OOMController) OomAction(logger *zap.Logger, root string, scoringExpr cel.Expression) (float64, []string)

OomAction handles out of memory conditions by selecting and killing cgroups based on memory usage data.

func (*OOMController) Outputs

func (ctrl *OOMController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*OOMController) Run

func (ctrl *OOMController) Run(ctx context.Context, r controller.Runtime, logger *zap.Logger) error

Run implements controller.Controller interface.

type SBOMItemController

type SBOMItemController struct {
	SPDXPath          string
	ExtensionSPDXPath string
}

SBOMItemController is a controller that publishes Chubo SBOMs as resources.

func (*SBOMItemController) Inputs

func (ctrl *SBOMItemController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*SBOMItemController) Name

func (ctrl *SBOMItemController) Name() string

Name implements controller.Controller interface.

func (*SBOMItemController) Outputs

func (ctrl *SBOMItemController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*SBOMItemController) Run

func (ctrl *SBOMItemController) Run(ctx context.Context, r controller.Runtime, logger *zap.Logger) error

Run implements controller.Controller interface.

type SecurityStateController

type SecurityStateController struct {
	V1Alpha1Mode machineruntime.Mode
}

SecurityStateController is a controller that updates the security state of Chubo.

func (*SecurityStateController) Inputs

func (ctrl *SecurityStateController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*SecurityStateController) Name

func (ctrl *SecurityStateController) Name() string

Name implements controller.Controller interface.

func (*SecurityStateController) Outputs

func (ctrl *SecurityStateController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*SecurityStateController) Run

Run implements controller.Controller interface.

type ServiceManager

type ServiceManager interface {
	IsRunning(id string) (system.Service, bool, error)
	Load(services ...system.Service) []string
	Stop(ctx context.Context, serviceIDs ...string) (err error)
	Start(serviceIDs ...string) error
}

ServiceManager is the interface to the v1alpha1 services subsystems.

type UniqueMachineTokenController

type UniqueMachineTokenController struct{}

UniqueMachineTokenController is a controller that manages SideroLink unique token.

func (*UniqueMachineTokenController) Inputs

Inputs implements controller.Controller interface.

func (*UniqueMachineTokenController) Name

func (ctrl *UniqueMachineTokenController) Name() string

Name implements controller.Controller interface.

func (*UniqueMachineTokenController) Outputs

Outputs implements controller.Controller interface.

func (*UniqueMachineTokenController) Run

Run implements controller.Controller interface.

type VersionController

type VersionController struct{}

VersionController populates the version of currently running Chubo.

func (*VersionController) Inputs

func (ctrl *VersionController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*VersionController) Name

func (ctrl *VersionController) Name() string

Name implements controller.Controller interface.

func (*VersionController) Outputs

func (ctrl *VersionController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*VersionController) Run

func (ctrl *VersionController) Run(ctx context.Context, r controller.Runtime, logger *zap.Logger) error

Run implements controller.Controller interface.

type WatchdogTimerConfigController

type WatchdogTimerConfigController struct{}

WatchdogTimerConfigController generates configuration for watchdog timers.

func (*WatchdogTimerConfigController) Inputs

Inputs implements controller.Controller interface.

func (*WatchdogTimerConfigController) Name

Name implements controller.Controller interface.

func (*WatchdogTimerConfigController) Outputs

Outputs implements controller.Controller interface.

func (*WatchdogTimerConfigController) Run

Run implements controller.Controller interface.

type WatchdogTimerController

type WatchdogTimerController struct{}

WatchdogTimerController watches v1alpha1.Config, creates/updates/deletes kernel module specs.

func (*WatchdogTimerController) Inputs

func (ctrl *WatchdogTimerController) Inputs() []controller.Input

Inputs implements controller.Controller interface.

func (*WatchdogTimerController) Name

func (ctrl *WatchdogTimerController) Name() string

Name implements controller.Controller interface.

func (*WatchdogTimerController) Outputs

func (ctrl *WatchdogTimerController) Outputs() []controller.Output

Outputs implements controller.Controller interface.

func (*WatchdogTimerController) Run

Run implements controller.Controller interface.

Directories

Path Synopsis
internal
diagnostics
Package diagnostics provides Chubo diagnostics specific checks.
Package diagnostics provides Chubo diagnostics specific checks.
filehash
Package filehash implements a specialized file watcher that detects changes in pseudo-files like /proc/modules.
Package filehash implements a specialized file watcher that detects changes in pseudo-files like /proc/modules.
logfile
Package logfile implements a buffered, rotating log file.
Package logfile implements a buffered, rotating log file.
oom
Package oom contains utilities for OOM handler.
Package oom contains utilities for OOM handler.

Jump to

Keyboard shortcuts

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