Skip to content

discovery for coyote peers - #55

Merged
svix-jbrown merged 12 commits into
mainfrom
jbrown/raft-disco
Feb 4, 2026
Merged

svix-jbrown merged 12 commits into
mainfrom
jbrown/raft-disco

Conversation

@svix-jbrown

Copy link
Copy Markdown
Contributor

This adds some basic discovery for cluster bootup, based on a configured list of seed nodes.

When a new node comes up, it reaches out to all of the seed nodes. If there is a single cluster containing some subset of them, it attempts to join that cluster. If none of them are in a cluster, it attempts to initialize a new cluster. This is somewhat racy, because if you launch several nodes at the same time they all might try to initialize and you'd end up with 3 one-node clusters; I'll have work on improving that, but I wanted to get //something// out.

This also changes the config system. I like the idea of using a nested config (where cluster config is in its own Table), but this doesn't play super-well with the config module. I reconfigured it to support nested config for environment variables (separated by the : character), which required fixing up the dotenvy crate to also support such keys. The SHA here is allan2/dotenvy#161 rebased on top 0.15.

@svix-jbrown
svix-jbrown requested a review from a team as a code owner January 31, 2026 00:14

@svix-james svix-james left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok

@svix-jbrown
svix-jbrown merged commit e461bf2 into main Feb 4, 2026
5 checks passed
@svix-jplatte
svix-jplatte deleted the jbrown/raft-disco branch February 6, 2026 11:00
svix-jplatte pushed a commit that referenced this pull request Apr 9, 2026
svix-jbrown added a commit that referenced this pull request Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants