flatcar / Flatcar

Flatcar project repository for issue tracking, project documentation, etc.
https://www.flatcar.org/
Apache License 2.0
681 stars 30 forks source link

Provide an updateengine Go library #273

Open invidian opened 3 years ago

invidian commented 3 years ago

Current situation

Currently both locksmith and FLUO has copy-pasted Go code for interacting with update engine via D-Bus. It would be nice to actually have a library like go-updateengine, which would provide required implementation so those 2 projects can pull them.

Impact

Currently it doubles the effort in maintaining the code and it might be difficult to sync when changes to update_engine itself are done.

Ideal future situation

There is a new GitHub project called go-updateengine with code from https://github.com/kinvolk/locksmith/tree/flatcar-master/updateengine and https://github.com/kinvolk/flatcar-linux-update-operator/tree/master/pkg/updateengine, tagged v0.1.0 using Go modules.

invidian commented 2 years ago

I introduce many improvements to the updateengine client in FLUO repo here: https://github.com/flatcar-linux/flatcar-linux-update-operator/pull/97. So perhaps this should be taken as a base instead.