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(force bool) error
- type RegistryStateExport
- type SimpleVersions
- type SimplifiedResourceVersion
- type UpdateStateExport
- 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" )
const (
// RestartExitCode will instruct portmaster-start to restart the process immediately, potentially with a new version.
RestartExitCode = 23
)
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 ¶ added in v1.0.4
AddToDebugInfo adds the update system status to the given debug.Info.
func CopyFile ¶ added in v0.4.4
CopyFile atomically copies a file using the update registry's tmp dir.
func DelayedRestart ¶ added in v0.5.2
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 ¶ added in v0.4.0
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 ¶ added in v1.0.12
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 ¶ added in v1.0.12
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 ¶ added in v1.0.13
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 ¶ added in v0.7.6
func IsRestarting() bool
IsRestarting returns whether a restart has been triggered.
func RestartIsPending ¶ added in v0.9.4
RestartIsPending returns whether a restart is pending.
func RestartNow ¶ added in v0.5.2
func RestartNow()
RestartNow immediately executes a restart. This only works if the process is managed by portmaster-start.
func RootPath ¶ added in v0.6.5
func RootPath() string
RootPath returns the root path used for storing updates.
func TriggerRestartIfPending ¶ added in v0.5.2
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 ¶ added in v0.4.0
TriggerUpdate queues the update task to execute ASAP.
Types ¶
type RegistryStateExport ¶ added in v1.0.12
type RegistryStateExport struct { record.Base *updater.RegistryState }
RegistryStateExport is a wrapper to export the registry state.
type SimpleVersions ¶ added in v0.9.0
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 ¶ added in v0.9.0
func GetSimpleVersions() *SimpleVersions
GetSimpleVersions returns the simplified update versions and status information.
type SimplifiedResourceVersion ¶ added in v0.9.0
type SimplifiedResourceVersion struct {
Version string
}
SimplifiedResourceVersion holds version information about one resource.
type UpdateStateExport ¶ added in v1.0.12
UpdateStateExport is a wrapper to export the updates state.
func GetStateExport ¶ added in v1.0.12
func GetStateExport() *UpdateStateExport
GetStateExport gets the update state from the registry and returns it in an exportable struct.
func LoadStateExport ¶ added in v1.0.12
func LoadStateExport() (*UpdateStateExport, error)
LoadStateExport loads the exported update state from the database.
type Versions ¶ added in v0.9.0
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 ¶ added in v0.9.0
func GetVersions() *Versions
GetVersions returns the update versions and status information. Resources must be locked when accessed.