Versions in this module Expand all Collapse all v0 v0.11.0 Oct 25, 2026 v0.10.0 Oct 20, 2026 Changes in this version + const AgentUpgradeCode + const AttemptSeconds + const Domain + const InventoryDomain + const InventoryFreshSeconds + const MaxArtifactBytes + const MaxInventoryBytes + const MaxInventoryMSIEntries + const MaxJournalBytes + const MaxJournalSequence + const MaxManifestBytes + const RebootWaitSeconds + var ErrClock = errors.New("update journal clock is stale or out of bounds") + var ErrConflict = errors.New("update journal compare-and-swap conflict") + var ErrDigest = errors.New("agent update manifest digest mismatch") + var ErrFence = errors.New("update journal binding or owner fence changed") + var ErrInvalid = errors.New("invalid agent update manifest") + var ErrInventory = errors.New("invalid machine inventory") + var ErrInventoryFresh = errors.New("machine inventory is stale, future-dated or bound to a different nonce") + var ErrJournal = errors.New("invalid update journal") + var ErrPayload = errors.New("agent update payload is incomplete, oversized or corrupt") + var ErrPersistence = errors.New("update journal persistence outcome unavailable; reload before continuing") + var ErrRecording = errors.New("update journal recording acknowledgment required") + var ErrSignature = errors.New("agent update manifest signature mismatch") + var ErrTransition = errors.New("update journal transition denied") + var ErrUntrusted = errors.New("agent update publisher is not trusted") + func Digest(raw []byte) string + func KeyID(key ed25519.PublicKey) string + type ActionReceipt struct + DriverSHA256 string + HealthVerified bool + IdentityVerified bool + Kind string + MSICode *int64 + Outcome string + ProductCode string + Sequence uint64 + ServiceState string + TargetAbsent bool + type Artifact struct + File string + SHA256 string + Size uint64 + type Compatibility struct + DesktopMax uint16 + DesktopMin uint16 + ManagementMax uint16 + ManagementMin uint16 + MaximumAgentVersion string + MinimumAgentVersion string + type Driver struct + Artifact Artifact + HardwareIDs []string + SignerSHA256 string + Version string + type Inventory struct + AgentVersion string + Architecture string + Attempt *InventoryAttempt + BuildSHA256 string + Driver *InventoryDriver + MSI []InventoryMSI + ManagementMax uint16 + ManagementMin uint16 + Name string + Namespace string + Nonce string + OS string + PendingReboot bool + RevocationEpoch uint64 + Timestamp int64 + UpdaterMax uint16 + UpdaterMin uint16 + VMUID string + Version uint32 + WorkspaceUID string + func (i Inventory) Encode() []byte + type InventoryAttempt struct + AttemptID string + Phase string + Sequence uint64 + type InventoryDriver struct + DeviceInstance string + DriverVersion string + InfName string + PackageIdentity string + PackageSHA256 string + type InventoryMSI struct + InstallDirectory string + ProductCode string + UpgradeCode string + Version string + type Journal struct + func DecodeJournal(raw []byte, planDigest, checkpointDigest string, minimumSequence uint64) (*Journal, error) + func NewJournal(plan JournalPlan, owner uint64, now int64) (*Journal, error) + func (j *Journal) Encode() []byte + func (j *Journal) Prepare(event JournalEvent, c JournalContext) (*JournalTransition, error) + func (j *Journal) Recovery(c JournalContext) string + func (j *Journal) SHA256() string + func (j *Journal) Snapshot() JournalSnapshot + type JournalAck struct + Kind string + SHA256 string + Sequence uint64 + type JournalAction struct + BootID string + Kind string + Sequence uint64 + type JournalBinding struct + ActorUID string + AttemptID string + InventorySHA256 string + Namespace string + PreviousSHA256 string + RecordingID string + RevocationEpoch uint64 + TargetSHA256 string + VMUID string + WorkspaceName string + WorkspaceUID string + type JournalContext struct + Authorized bool + Binding JournalBinding + BootID string + InstallerBusy bool + Now int64 + OwnerFence uint64 + RecordingAvailable bool + type JournalEvent struct + Kind string + Receipt *ActionReceipt + type JournalPlan struct + AllowReboot bool + Binding JournalBinding + PreviousDriverSHA256 string + PreviousProductCode string + TargetDriverSHA256 string + TargetProductCode string + func (p JournalPlan) SHA256() string + type JournalSnapshot struct + Active *JournalAction + CancelRequested bool + CleanupResult string + ExpiresAt int64 + Flow string + LastReceipt *ActionReceipt + Mutated bool + OwnerFence uint64 + Phase string + Plan JournalPlan + RebootCount uint32 + Result string + Sequence uint64 + ServiceNeedsRestore bool + StartedAt int64 + Step uint32 + UpdatedAt int64 + Version uint32 + WaitBootID string + WaitingSince int64 + type JournalStore interface + CompareAndSwap func(expected string, next []byte) error + type JournalTransition struct + func (t *JournalTransition) Bytes() []byte + func (t *JournalTransition) Commit(store JournalStore, c JournalContext, ack *JournalAck) (*Journal, *JournalAction, error) + func (t *JournalTransition) SHA256() string + func (t *JournalTransition) Sequence() uint64 + type MSI struct + Artifact Artifact + ProductCode string + UpgradeCode string + type Manifest struct + AgentVersion string + Architecture string + BuildSHA256 string + Compatibility Compatibility + Driver *Driver + MSI MSI + OS string + RebootPolicy string + RollbackPredecessors []Predecessor + TargetID string + Updater Updater + Version uint32 + type Predecessor struct + ManifestSHA256 string + TargetID string + type Updater struct + Artifact Artifact + ProtocolVersion uint16 + type VerifiedInventory struct + func VerifyInventory(raw, signature []byte, keyID, expectedNonce string, now int64, ...) (*VerifiedInventory, error) + func (v *VerifiedInventory) Metadata() Inventory + func (v *VerifiedInventory) SHA256() string + type VerifiedManifest struct + func Verify(raw, signature []byte, keyID, expectedDigest string, ...) (*VerifiedManifest, error) + func (v *VerifiedManifest) Metadata() Manifest + func (v *VerifiedManifest) SHA256() string + func (v *VerifiedManifest) VerifyArtifact(name string, reader io.Reader) error