flatcar / flatcar-linux-update-operator

A Kubernetes operator to manage updates of Flatcar Container Linux
Apache License 2.0
99 stars 19 forks source link

Add ability to configure update channels, update servers etc using agent on nodes #34

Open invidian opened 3 years ago

invidian commented 3 years ago

Original issues:

tijmenvandenbrink commented 2 years ago

Hi, what's the status on this enhancement? This would be very handy in my opinion, and would make the whole a lot more flexible.

Thanks

invidian commented 2 years ago

Hi @tijmenvandenbrink! I'd say the status of this enhancement is accepted. I don't know when this will be implemented, but thank you for showing up your interest. It will be helpful for prioritizing the work.

FLUO is right now maintained on best-effort basis, so there is no clear schedule for work done here. I'm doing my best though and from time to time I try to identify and address tech debt on the project to make it more approachable for everyone in a consistent manner.

Recently, I've finished implementing unit tests for agent (#116, though some work is still missing: #60) to allow it's code to be refactored safely (#134), which I think is a priority right now, as existing agent code has many flaws and adding new features to it simply won't scale due to high complexity.

Perhaps this feature could be a good start to build-up new agent code from scratch to establish a pattern which existing functionality could then follow. For example using container-runtime to make agent watch it's own Node resource and act on updates, instead of procedural code with wait gates we have right now.

To solve this particular issue, I'd also start with small proposal on what would the user experience of this feature be. We could perhaps leverage labels or annotations for it, though this might be limiting, so perhaps a config map or similar would be better? But then, do we want to deploy multiple agent DaemonSets or have a logic to figure this out internally in agent? If you have some vision on it or if you could describe us your use-case, that would be much appreciated and helpful for getting this issue addressed.

invidian commented 1 month ago

https://github.com/flatcar/flatcar-linux-update-operator/issues/204 should also be part of this work.