Commit Graph

143 Commits

Author SHA1 Message Date
Vincent Batts 3c546fa84f
README: there is not CI for this currently
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:58:01 -04:00
Vincent Batts f0ff244d87 CONTRIBUTING: update the docs
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:55:48 -04:00
Vincent Batts b0ceef0566 *: tidy and test fix
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:55:48 -04:00
Vincent Batts 9dca822092 *: build paths to my repo
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:55:48 -04:00
Vincent Batts 4b906a3877 CoC: update for a simple fork
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:55:48 -04:00
Vincent Batts 23a85a16c1
*: switch from glide to go mod
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2020-09-24 14:55:40 -04:00
Stephen Demos e409d983eb
Merge pull request #31 from ericchiang/coc
automated PR: update CoC
2018-03-27 13:22:21 -07:00
Eric Chiang 18971c0086 update CoC 2018-01-04 12:20:50 -08:00
Stephen Demos 6a34f44275
Merge pull request #30 from sdemos/cmd
cmd: add very simple cmdline omaha server
2017-12-19 11:24:16 -08:00
Stephen Demos 9c437f5a81
readme: add instructions for a manual update
The readme now includes instructions for using the provided
serve-package to apply a manual update.
2017-12-19 11:22:59 -08:00
Stephen Demos af61458371 cmd: add very simple cmdline omaha server
this implementation uses the TrivialServer that is already provided by
the go-omaha library. it is a very simple wrapper, simply asking for the
file, version, and listening address on the command line. it can only
handle one package at a time, naming the payload from the server
"update.gz", which is the standard filename for the update payload. the
additional metadata required for package creation is generated based on
the provided file. when the server is setup, update_engine can be
pointed at it by setting the SERVER variable in /etc/coreos/update.conf
2017-12-07 16:16:34 -08:00
Stephen Demos e95ad781c1 vendor: vendor glide dependencies
this lets us specify dependencies more specifically and also build
binaries as a part of the project.
2017-12-05 14:46:15 -08:00
Stephen Demos 15c12b686e glide: add glide yaml files
this allows us to build binaries in this library and generally control
our dependencies more concretely.
2017-12-05 14:45:21 -08:00
Yifan Gu c731a0389e Merge pull request #29 from coreos/revert-28-add_install_started_event
Revert "update_engine_events.go: Add a custom "InstallStarted" event."
2017-08-07 13:23:44 -07:00
Yifan Gu 6885a90813 Revert "update_engine_events.go: Add a custom "InstallStarted" event." 2017-08-07 13:19:09 -07:00
Yifan Gu 3648e19ebf Merge pull request #28 from yifan-gu/add_install_started_event
update_engine_events.go: Add a custom "InstallStarted" event.
2017-08-07 13:11:49 -07:00
Yifan Gu 13e4359083 update_engine_events.go: Add a custom "InstallStarted" event.
This can help us to know how many clusters have clicked "start upgrade",
plus those in automatic mode.
2017-08-07 13:00:40 -07:00
Yifan Gu 22285faf56 Merge pull request #27 from yifan-gu/smarter_trivial_server
omaha: Make the trivial server to only return newer packages.
2017-06-28 12:13:52 -07:00
Yifan Gu 1925112df9 omaha: Make the trivial server to only return newer packages.
This is for adding related test in TCO.
2017-06-28 12:13:30 -07:00
Michael Marineau 1833613ed6 Merge pull request #26 from marineam/oem
Add support for OEM and sending error events
2017-06-09 18:48:31 -07:00
Michael Marineau 0152a8b1b0 client: export NewAppRequest and SendAppRequest methods
Allow for more flexibility in constructing requests if needed.
2017-06-09 18:40:25 -07:00
Michael Marineau a2f653da34 client: send "Complete" event in update checks
Needed in order to match update_engine behavior.
2017-06-09 18:40:25 -07:00
Michael Marineau d946c1e7b2 client: disable checking for ping and event status in responses
Turns out CoreUpdate does not currently send <ping status="ok"> and
<event status="ok"> in responses like the protocol says it should.
2017-06-09 18:40:25 -07:00
Michael Marineau 2d48f3a029 client: send error events if update check or ping fails
Does not report errors when sending events since that would be cyclic.
2017-06-09 18:40:25 -07:00
Michael Marineau 41143a9d17 client: define error codes and events used by update_engine
Event error codes are application specific but for the sake of
simplicity lets re-use the update_engine ones where applicable.

update_engine and thus CoreUpdate only use a small subset of possible
event types so we can provide pre-defined event structs for them.
2017-06-09 18:40:25 -07:00
Michael Marineau 9ed95f2e49 protocol: fix data type for event errorcode, should be an int 2017-06-09 18:40:25 -07:00
Michael Marineau 03222d488c client: support sending events asynchronously
Makes blocking and waiting for success/error optional, also allows
concurrent use of the rest of the client while events are sent.
2017-06-09 18:40:25 -07:00
Michael Marineau c42bec118e client: support runtime changes of app id 2017-06-07 11:29:02 -07:00
Michael Marineau 3b5d143dc5 client: add application oem attribute 2017-06-07 11:29:02 -07:00
Yifan Gu b2ea5e0e78 Merge pull request #25 from marineam/timer
Fuzzy timer for exponential backoff and update polling
2017-06-05 13:45:48 -07:00
Michael Marineau bd1ae5648e client: add rough example for using the client 2017-06-05 13:23:32 -07:00
Michael Marineau 1b026dfef5 client: add fuzzy timer for update check and ping interval
Uses the same timing parameters as update_engine.
2017-06-02 18:44:29 -07:00
Michael Marineau c88c5916bb client: implement exponential backoff on temporary network errors
Uses a fuzzy timer to reduce chance of multiple clients synchronizing.
2017-06-02 18:44:29 -07:00
Michael Marineau c9e5a6a602 client: define default version as a constant 2017-06-02 18:44:29 -07:00
Michael Marineau d40844181a client: add fuzzy timer
For randomizing update check intervals and backoff delays to reduce
chance of DoSing the server if lots of clients start together.
2017-06-02 18:42:53 -07:00
Michael Marineau f8acb2d7b7 Merge pull request #24 from marineam/client
Begin generic omaha client implementation
2017-05-26 13:38:09 -07:00
Michael Marineau e67d0ff67a README: explain implementation status in more detail 2017-05-25 14:29:35 -07:00
Michael Marineau 73e12a0154 client: add support for machine-wide omaha clients
Uses machine id and boot id for user and session respectively, matching
the existing behavior of update_engine.
2017-05-25 13:57:28 -07:00
Michael Marineau ad277db627 client: implement event, ping, and updatecheck
For simplicity one request is sent for each event/ping/check for each
application. In the future it would be wise to batch together multiple
events and multiple applications to avoid excessive chatter.
2017-05-25 13:13:10 -07:00
Michael Marineau 5a03e1d183 codes: improve app and update status error messages 2017-05-25 13:13:10 -07:00
Michael Marineau afab572db3 protocol: change IsMachine flag to int
This flag is a boolean "0" or "1", with "0" as the default so keeping
the "omitempty" xml option is ok.
2017-05-25 13:13:10 -07:00
Michael Marineau d8ad567e7f protocol: add GetApp helper methods 2017-05-25 13:13:09 -07:00
Michael Marineau 45e1ea6221 client: report sensible errors if response is excessively large or empty 2017-05-25 13:13:09 -07:00
Michael Marineau e6f3abe15e client: support retrying requests after transient HTTP errors
Wraps failed http.Request objects in a net.Error interface.
2017-05-25 13:13:09 -07:00
Michael Marineau b8149cc683 client: add extended http client for making omaha api requests
Supports encoding/decoding omaha xml and retrying on transient failures.
2017-05-25 13:13:09 -07:00
Michael Marineau b2b975be5d client: begin omaha client implementation
This first commit just covers the basic data structures.
2017-05-25 13:13:09 -07:00
Yifan Gu a81e2c0792 Merge pull request #23 from marineam/trivial
protocol: remove stray Event type
2017-05-05 12:03:41 -07:00
Michael Marineau 036aedf2d7 protocol: remove stray Event type
The Event struct was split into EventRequest and EventResponse back in
75a1125f but the older now unused type was never deleted.
2017-05-05 11:53:52 -07:00
Michael Marineau d6e8a00feb Merge pull request #22 from marineam/parse
protocol: add ParseRequest and ParseResponse functions
2017-05-05 11:49:06 -07:00
Michael Marineau 3d5d24e0b8 Merge pull request #21 from marineam/trivial
protocol: style fix, use "ID" and "SHA" in identifiers.
2017-05-04 13:52:18 -07:00