Documentation ¶
Index ¶
- Constants
- Variables
- func AbortRestart()
- func AddToDebugInfo(di *debug.Info)
- func CopyFile(srcPath, dstPath string) error
- func DelayedRestart(delay time.Duration)
- func DisableUpdateSchedule() error
- func GetFile(identifier string) (*updater.File, error)
- func GetPlatformFile(identifier string) (*updater.File, error)
- func GetPlatformVersion(identifier string) (*updater.ResourceVersion, error)
- func GetVersion(identifier string) (*updater.ResourceVersion, error)
- func GetVersionWithFullID(identifier string) (*updater.ResourceVersion, error)
- func IsRestarting() bool
- func RestartIsPending() (pending bool, restartAt time.Time)
- func RestartNow()
- func RootPath() string
- func TriggerRestartIfPending()
- func TriggerUpdate(forceIndexCheck, downloadAll bool) error
- type RegistryStateExport
- type SimpleVersions
- type SimplifiedResourceVersion
- type UpdateStateExport
- type Updates
- type Versions
Constants ¶
const ( // ModuleName is the name of the update module // and can be used when declaring module dependencies. ModuleName = "updates" // VersionUpdateEvent is emitted every time a new // version of a monitored resource is selected. // During module initialization VersionUpdateEvent // is also emitted. VersionUpdateEvent = "active version update" // ResourceUpdateEvent is emitted every time the // updater successfully performed a resource update. // ResourceUpdateEvent is emitted even if no new // versions are available. Subscribers are expected // to check if new versions of their resources are // available by checking File.UpgradeAvailable(). ResourceUpdateEvent = "resource update" )
Variables ¶
var ( // UserAgent is an HTTP User-Agent that is used to add // more context to requests made by the registry when // fetching resources from the update server. UserAgent = fmt.Sprintf("Portmaster (%s %s)", runtime.GOOS, runtime.GOARCH) // DefaultUpdateURLs defines the default base URLs of the update server. DefaultUpdateURLs = []string{ "https://updates.safing.io", } // DisableSoftwareAutoUpdate specifies whether software updates should be disabled. // This is used on Android, as it will never require binary updates. DisableSoftwareAutoUpdate = false )
var ( // ErrRequiresManualUpgrade is returned when a system integration file requires a manual upgrade. ErrRequiresManualUpgrade = errors.New("requires a manual upgrade") )
var ( // RebootOnRestart defines whether the whole system, not just the service, // should be restarted automatically when triggering a restart internally. RebootOnRestart bool )
Functions ¶
func AddToDebugInfo ¶
AddToDebugInfo adds the update system status to the given debug.Info.
func DelayedRestart ¶
DelayedRestart triggers a restart of the application by shutting down the module system gracefully and returning with RestartExitCode. The restart may be further delayed by up to 10 minutes by the internal task scheduling system. This only works if the process is managed by portmaster-start.
func DisableUpdateSchedule ¶
func DisableUpdateSchedule() error
DisableUpdateSchedule disables the update schedule. If called, updates are only checked when TriggerUpdate() is called.
func GetPlatformFile ¶
GetPlatformFile returns the latest platform specific file identified by the given identifier.
func GetPlatformVersion ¶
func GetPlatformVersion(identifier string) (*updater.ResourceVersion, error)
GetPlatformVersion returns the selected platform specific version of the given identifier. The returned resource version may not be modified.
func GetVersion ¶
func GetVersion(identifier string) (*updater.ResourceVersion, error)
GetVersion returns the selected generic version of the given identifier. The returned resource version may not be modified.
func GetVersionWithFullID ¶
func GetVersionWithFullID(identifier string) (*updater.ResourceVersion, error)
GetVersionWithFullID returns the selected generic version of the given full identifier. The returned resource version may not be modified.
func IsRestarting ¶
func IsRestarting() bool
IsRestarting returns whether a restart has been triggered.
func RestartIsPending ¶
RestartIsPending returns whether a restart is pending.
func RestartNow ¶
func RestartNow()
RestartNow immediately executes a restart. This only works if the process is managed by portmaster-start.
func TriggerRestartIfPending ¶
func TriggerRestartIfPending()
TriggerRestartIfPending triggers an automatic restart, if one is pending. This can be used to prepone a scheduled restart if the conditions are preferable.
func TriggerUpdate ¶
TriggerUpdate queues the update task to execute ASAP.
Types ¶
type RegistryStateExport ¶
type RegistryStateExport struct { record.Base *updater.RegistryState }
RegistryStateExport is a wrapper to export the registry state.
type SimpleVersions ¶
type SimpleVersions struct { record.Base sync.Mutex Build *info.Info Resources map[string]*SimplifiedResourceVersion Channel string }
SimpleVersions holds simplified update versions and status information.
func GetSimpleVersions ¶
func GetSimpleVersions() *SimpleVersions
GetSimpleVersions returns the simplified update versions and status information.
type SimplifiedResourceVersion ¶
type SimplifiedResourceVersion struct {
Version string
}
SimplifiedResourceVersion holds version information about one resource.
type UpdateStateExport ¶
UpdateStateExport is a wrapper to export the updates state.
func GetStateExport ¶
func GetStateExport() *UpdateStateExport
GetStateExport gets the update state from the registry and returns it in an exportable struct.
func LoadStateExport ¶
func LoadStateExport() (*UpdateStateExport, error)
LoadStateExport loads the exported update state from the database.
type Updates ¶ added in v1.6.19
type Updates struct { EventResourcesUpdated *mgr.EventMgr[struct{}] EventVersionsUpdated *mgr.EventMgr[struct{}] // contains filtered or unexported fields }
Updates provides access to released artifacts.
type Versions ¶
type Versions struct { record.Base sync.Mutex Core *info.Info Resources map[string]*updater.Resource Channel string Beta bool Staging bool }
Versions holds update versions and status information.
func GetVersions ¶
func GetVersions() *Versions
GetVersions returns the update versions and status information. Resources must be locked when accessed.