github.com/kinvolk/nebraska/updater (go): Package updater aims to simplify omaha-powered updates.  Its goal is to abstract many of the omaha-protocol details, so users can perform updates without having to understand the omaha protocal internals.  Since the omaha protocol is very powerful, it supports many options that are beyond the scope of this package. So the updater package assumes that there's only one single application involved in the update, and that the update is being performed for one single instance of that application.  It also simplifies the update information that is represented by an omaha response, but allows to retrieve the actual OmahaResponse object if needed.  Basics:  Each update has four main parts involved:  The way omaha managed updates work is that omaha responds to update checks, and relies on the information given by the application's instance to keep track of each update's state. So the basic workflow for using this updater package is:  Note that if the update requires a restart, then there's a specific progress report for that. The caller is also responsible for keeping any local state the update implementation needs (like e.g. knowing that a restart has happened, or that the version if now running).
Keywords: kinvolk|omaha