flatcar / Flatcar

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

[RFE] `locksmith`: integration with `FleetLock` #510

Open tormath1 opened 2 years ago

tormath1 commented 2 years ago

Current situation

locksmith is highly bound to etcd: users who want to have a cluster reboot coordination needs to use etcd. The idea is to implement a FleetLock client into locksmith.

Impact

Flatcar users will benefit from FleetLock integration:

Ideal future situation

User will configure locksmith via a HTTP FleetLock endpoint URL.

Implementation options

Additional information

pothos commented 2 months ago

About migration to etcd3: We might keep etcd2 support around in locksmith for some time besides FleetLock, or we could directly delete it and make FleetLock the new default together with an inbuilt airlock layer (part of locksmith instead of a separate binary) where we point the inbuilt Airlock layer to the configured locksmith etcd server. This will then use the etcd3 protocol. Update behavior should be ok even though etcd keeps the v2 and v3 state separate: The old clients coordinate themselves in the v2 state and the new clients have just updated and don't need to coordinate themselves for the next hours in which all old clients of the same pool should have updated.

One more idea: