daemon

package
v0.2.4-rc.1 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: MIT Imports: 51 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnableDaemon added in v0.1.1

func EnableDaemon(log *slog.Logger) phases.Task

EnableDaemon returns a task that installs, enables, and starts the unbounded-agent-daemon systemd unit on the host. The unit runs "unbounded-agent daemon" which watches the Machine CR for this node and reconciles the local state to match.

func PersistAppliedConfig added in v0.1.1

func PersistAppliedConfig(log *slog.Logger, machineName string, cfg *config.AgentConfig) phases.Task

PersistAppliedConfig returns a task that writes the agent config to the applied config file for the nspawn machine. The daemon reads this file on startup to detect configuration drift.

func RecordAgentUpgradeFailureSignal added in v0.1.4

func RecordAgentUpgradeFailureSignal(message string) error

RecordAgentUpgradeFailureSignal records that the daemon failed after an AgentUpgrade.

func RemoveAgentArtifacts added in v0.1.1

func RemoveAgentArtifacts(log *slog.Logger) phases.Task

RemoveAgentArtifacts returns a task that removes the agent binary, install script, legacy uninstall script, config directory, and temp files.

func RemoveAppliedConfig added in v0.1.1

func RemoveAppliedConfig(log *slog.Logger, machineName string) phases.Task

RemoveAppliedConfig returns a task that removes the applied agent config file and its checksum sidecar for the named machine. Errors are logged but do not fail the task.

func RemoveDaemonUnit added in v0.1.4

func RemoveDaemonUnit(log *slog.Logger) phases.Task

RemoveDaemonUnit returns a task that disables and removes the unbounded-agent-daemon systemd unit without stopping the running service.

func ResetAgentResources added in v0.1.4

func ResetAgentResources(log *slog.Logger) phases.Task

ResetAgentResources returns a task that removes the unbounded-agent and all associated resources without stopping the daemon process.

func Run

func Run(ctx context.Context, log *slog.Logger) error

Run is the main daemon entry point. It discovers the active nspawn machine, builds a Kubernetes client, registers the Machine CR if needed, and blocks until the context is cancelled.

func StopDaemon added in v0.1.1

func StopDaemon(log *slog.Logger) phases.Task

StopDaemon returns a task that stops, disables, and removes the unbounded-agent-daemon systemd unit. Errors from stop and disable are logged but do not fail the task since the unit may not be present.

Types

type ActiveMachine

type ActiveMachine struct {
	Name   string
	Config *provision.AgentConfig
}

ActiveMachine holds the currently active nspawn machine name and its applied agent configuration.

type BootstrapStatusReporter added in v0.1.20

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

BootstrapStatusReporter publishes the agent's initial bootstrap progress to the Machine status. It is best-effort so bootstrap can continue when the cluster is temporarily unavailable or RBAC has not been updated yet.

func NewBootstrapStatusReporter added in v0.1.20

func NewBootstrapStatusReporter(ctx context.Context, log *slog.Logger, cfg *provision.AgentConfig) *BootstrapStatusReporter

NewBootstrapStatusReporter builds a best-effort Machine status reporter from bootstrap credentials in cfg. When credentials are incomplete, the returned reporter logs and skips updates.

func (*BootstrapStatusReporter) Failed added in v0.1.20

func (r *BootstrapStatusReporter) Failed(ctx context.Context, reason string, err error)

Failed reports that initial bootstrap failed.

func (*BootstrapStatusReporter) Running added in v0.1.20

func (r *BootstrapStatusReporter) Running(ctx context.Context)

Running reports that initial bootstrap is in progress.

func (*BootstrapStatusReporter) Succeeded added in v0.1.20

func (r *BootstrapStatusReporter) Succeeded(ctx context.Context)

Succeeded reports that initial bootstrap completed successfully.

type HostDaemonActivationService added in v0.2.3

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

HostDaemonActivationService manages the Unbounded systemd units used by a host-driven agent binary activation.

func NewHostDaemonActivationService added in v0.2.3

func NewHostDaemonActivationService(log *slog.Logger, paths goalstates.AgentUpgradePaths) *HostDaemonActivationService

NewHostDaemonActivationService returns the Unbounded systemd adapter for host-driven agent activation.

func (*HostDaemonActivationService) Preflight added in v0.2.3

func (s *HostDaemonActivationService) Preflight(_ context.Context, currentBinaryPath string) (agentbinary.ServicePlan, error)

Preflight reports whether the installed daemon assets differ from the desired assets. It does not change the host.

func (*HostDaemonActivationService) Prepare added in v0.2.3

func (s *HostDaemonActivationService) Prepare(_ context.Context, currentBinaryPath string) error

Prepare installs the daemon service, recovery service, and recovery script. It does not reload systemd or restart the daemon.

func (*HostDaemonActivationService) Reload added in v0.2.3

Reload reloads systemd configuration.

func (*HostDaemonActivationService) Restart added in v0.2.3

Restart restarts the Unbounded daemon synchronously.

func (*HostDaemonActivationService) WaitHealthy added in v0.2.3

func (s *HostDaemonActivationService) WaitHealthy(ctx context.Context, expectedBinaryPath string) error

WaitHealthy waits until systemd reports a stable daemon process executing the expected binary target.

Jump to

Keyboard shortcuts

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