Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
What is this change?
Adds an etcd backed monitor implementation.
Why is this change necessary?
Does your change need a Changelog entry?
Maybe not yet? This code is not yet integrated and doesn't change any system behavior. Happy to add one if necessary, or can update the changelog when integrated.
Do you need clarification on anything?
Were there any complications while making this change?
This refactor exists alongside the current implementation, and shares some naming. Due to that, there are a few long names for functions or variables that exist in both files that should be changed when we factor out the in-memory monitor.
Have you reviewed and updated the documentation for this change? Is new documentation required?
How did "Don't break the build" actually break the build
Implementation is based on a leased key and watcher per monitor. GetMonitor either creates a key or extends a ttl, and starts a watch operation that is set to trigger a handler when a DELETE operation is called in etcd. Signed-off-by: Mercedes Coyle <firstname.lastname@example.org>
Monitors are based on a leased key in etcd. A watcher waits for a DELETE event and fires a failure handler when that event is seen. If a key has a PUT event, its watcher is terminated to avoid multiple watchers on the same key. Co-authored by: Mercedes Coyle <email@example.com> Co-authored by: Eric Chlebek firstname.lastname@example.org Signed-off-by: Mercedes Coyle <email@example.com>