[29/n] [wicketd] add the commission API, client, and OpenAPI document#10857
Open
sunshowers wants to merge 28 commits into
Open
[29/n] [wicketd] add the commission API, client, and OpenAPI document#10857sunshowers wants to merge 28 commits into
sunshowers wants to merge 28 commits into
Conversation
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
JustinAzoff
reviewed
Jul 17, 2026
Merged
1 task
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
1 task
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
This was referenced Jul 21, 2026
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
sunshowers
added a commit
that referenced
this pull request
Jul 23, 2026
…ch (#10888) Found while reviewing #10857. Currently, for transceivers: 1. There's a single `last_seen` across both switches. 2. The `last_seen` is snapshotted at update time, which means that it would only measure how long the update was in the mpsc channel for. Both of these seem incorrect, and in particular the second one would show up as wicket always reporting <1s. <img width="1584" height="332" alt="image" src="https://github.com/user-attachments/assets/c203a9f6-5760-4ec0-a146-e33e550a048a" /> Fix both these issues. To maintain the same wire shape, for point 1 we pick `max`. (The commissioning API will publish per-switch last seen values.) For point 2 there will be a behavior change visible in wicket, but that seems correct.
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
sunshowers
marked this pull request as ready for review
July 23, 2026 20:06
andrewjstone
left a comment
Contributor
There was a problem hiding this comment.
@sunshowers this looks great so far. I did a preliminary review. I mostly skipped conversions.rs and I still need to look at the integration tests and the http handler and progress files.
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
andrewjstone
approved these changes
Jul 24, 2026
andrewjstone
left a comment
Contributor
There was a problem hiding this comment.
Truly amazing work @sunshowers. Thank you so much for getting us out of this jam.
Approved pending resolution of #10857 (comment)
sunshowers
changed the base branch from
sunshowers/spr/main.draft-11n-wicketd-add-the-commission-api-client-and-openapi-document
to
main
July 24, 2026 23:31
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
andrewjstone
approved these changes
Jul 25, 2026
andrewjstone
left a comment
Contributor
There was a problem hiding this comment.
Changes look good. Thanks again Rain.
| /// | ||
| /// `None` means wicketd was started without baseboard information, or was | ||
| /// given a baseboard it could not identify. | ||
| pub sled_baseboard: Option<BaseboardId>, |
Contributor
There was a problem hiding this comment.
Luckily, this won't be possible in with #10518, so we can remove the Option then.
Created using spr 1.3.6-beta.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change implements v1 of the wicketd commission API, as described in RFD 710.
This is a pretty large change, so here's a short orientation and review guide.
What this PR is not
Review guide
The API surface matches what rkdeploy needs almost 1:1. I've paid attention to the type design and ensuring that any partial errors are properly reported to clients (something that was a bit lacking in the unstable API).
I would spend the most time looking at:
wicketd/src/commission/conversions.rs-- in particular, with extensive use of destructuring.Part of the review is going to be integrating with rkdeploy -- @JustinAzoff is taking care of this.
Note that while this API is server-side versioned, changing it does carry a substantial cost because such a change has to be coordinated with rkdeploy. So it's worth getting it right.
Depends on:
TODO: