Skip to content

dpd can be server-side-versioned#7848

Merged
davepacheco merged 2 commits into
mainfrom
dap/dpd-server
Mar 21, 2025
Merged

dpd can be server-side-versioned#7848
davepacheco merged 2 commits into
mainfrom
dap/dpd-server

Conversation

@davepacheco

Copy link
Copy Markdown
Collaborator

RFD 532 talks about categorizing each internal Dropshot/Progenitor/OpenAPI API as either "lockstep" (server always deployed in sync with clients), "server-side-only-versioned" (server is always newer than clients), or "client-side-versioned" (server may be newer or older). It's always best to be lockstep or server-side-only because there's annoying work for client-side-versioned that has to be done for every change to these APIs.

#7138 took a first swing at assigning these determinations for each API. At the time, there was a circular dependency between sled agent and dpd, which meant one of them had to be client-side-versioned. I picked dpd to be client-side-versioned fairly arbitrarily (knowing the sled agent API was complex and it'd help to be server-side-only-versioned). But the dependency from dpd on sled-agent has since been removed (by oxidecomputer/dendrite#1031) and now both can be server-side-versioned.

@davepacheco davepacheco enabled auto-merge (squash) March 20, 2025 22:46
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