Skip to content

Conversation

@Jake-Shadle
Copy link
Member

This PR has an initial integration of the corrosion functionality into quilkin:

  • The k8s provider can now send mutations to a remote server to be applied to a corrosion DB, if it is configured
    • The corrosion implementation differs from the current ClusterMap in that mutations are only sent when the state provided from k8s differs from the local state snapshot. Additionally, it relies on the uid provided by k8s instead of the endpoint address or k8s name
    • The k8s event processor has been split out so that it can be tested sans-io
  • Added datagrams/bytes sent/received to both the client (mutator or subscriber) and server for the QUIC connections so that we can get an accurate sense of the network traffic being used to send state around
  • Added ClusterMap::corrosion_apply which puts any clustermap changes received via a corrosion subscription into a special corrosion locality. This is a temporary change just to not move around/refactor even more code in this PR, we should discuss what we want to do with ClusterMap (see the Servers type for what a refactor of the concept of a ClusterMap might be)
  • Application of filter and datacenter changes to a proxy config if it is configured

@Jake-Shadle
Copy link
Member Author

There are a bunch of errors since none of the corrosion crates have license information so I'll fix that later since we're still on a fork.

@Jake-Shadle
Copy link
Member Author

As well as the windows specific error due, again, to corrosion stuff.

@Jake-Shadle
Copy link
Member Author

Note de7a1fc changed CI so that we can funnel jobs to a single consistent job for the branch check but add or remove tests in branches without needing to fiddle with the branch protection rules.

@Jake-Shadle Jake-Shadle mentioned this pull request Feb 5, 2026
Jake-Shadle added a commit that referenced this pull request Feb 5, 2026
This extracts the addition of the `test_success` job added in #1348 so
that CI can pass successfully without that being merged.

Having this single job that depends on other jobs to pass means we can
add and remove jobs easily in PRs without needing to sync the branch
protection rules for main.
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