Versions in this module Expand all Collapse all v0 v0.2.0 Oct 3, 2026 v0.1.0 Oct 1, 2026 Changes in this version + var ErrControllerKeyUnknown = errors.New("no cached controller public key: agent not enrolled") + var ErrJobEnvelopeMissing = errors.New("job data is not a signed envelope") + var ErrJobSignatureInvalid = errors.New("invalid controller signature on job data") + func ResolveFacts(params map[string]any, fr *job.FactsRegistration, hostname string) (map[string]any, error) + func SeedSystemTemplates(ctx context.Context, logger *slog.Logger, objStore jetstream.ObjectStore) error + type Agent struct + func New(appFs avfs.VFS, appConfig config.Config, logger *slog.Logger, ...) *Agent + func (a *Agent) GetFacts() map[string]any + func (a *Agent) IsReady() error + func (a *Agent) LastHeartbeatTime() time.Time + func (a *Agent) SetMeterProvider(mp *sdkmetric.MeterProvider) + func (a *Agent) SetSubComponents(scs map[string]job.SubComponentInfo) + func (a *Agent) Start() + func (a *Agent) State() string + func (a *Agent) Stop(ctx context.Context) + type JobContext struct + AgentHostname string + JobData []byte + JobID string + ResponseKV string + type NATSPublisher interface + PublishCore func(subject string, data []byte) error + Subscribe func(subject string, handler nats.MsgHandler) (*nats.Subscription, error) + type PreflightResult struct + Error string + Name string + Passed bool + func RunPreflight(ctx context.Context, logger *slog.Logger, execManager exec.Manager) ([]PreflightResult, bool) + type ProcessorFunc func(context.Context, job.Request) (json.RawMessage, error) + func NewCertificateProcessor(certProvider certificate.Provider, logger *slog.Logger) ProcessorFunc + func NewCommandProcessor(commandProvider command.Provider, _ *slog.Logger) ProcessorFunc + func NewDockerProcessor(dockerProvider dockerProv.Provider, _ *slog.Logger) ProcessorFunc + func NewFileProcessor(fileProvider fileProv.Provider, _ *slog.Logger) ProcessorFunc + func NewNetworkProcessor(dnsProvider dns.Provider, pingProvider ping.Provider, ...) ProcessorFunc + func NewNodeProcessor(hostProvider nodeHost.Provider, diskProvider disk.Provider, ...) ProcessorFunc + func NewScheduleProcessor(cronProvider cron.Provider, logger *slog.Logger) ProcessorFunc + type ProviderRegistry struct + func NewProviderRegistry() *ProviderRegistry + func (r *ProviderRegistry) AllProviders() []any + func (r *ProviderRegistry) Dispatch(ctx context.Context, req job.Request) (json.RawMessage, error) + func (r *ProviderRegistry) Register(category string, processFn ProcessorFunc, providers ...any)