-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dropshot-based websocket endpoint & Add Progenitor-based client #206
Conversation
lib/propolis-client/src/lib.rs
Outdated
pub mod generated; | ||
pub mod handmade; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From a docs standpoint, do we want the modules themselves to be visible, or simply exposed via the pub use
below?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some more clarifying documentation around it and only made handmade
pub
when it's not globally pub use
'd
3fc635c
to
aed73b1
Compare
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks lif! The generated vs handmade stuff is annoying but the sooner we get this landed the sooner we can migrate the old users.
This moves the websocket-related boilerplate into the code generated by Dropshot's `#[channel]` annotation macro. (rel: oxidecomputer/dropshot#403 )
- Validate/generate an OpenAPI schema in a test, as done in omicron - Provide an (optional, for now) codegen'd client from the OpenAPI
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206)
- Includes updates to progenitor and reqwest 0.11.12 for client support for Dropshot websocket channels. - Literally only passes through the websocket, does not yet include the serial output buffering done by its parent GET endpoint. - Adds support for ensuring a websocket endpoint gets upgraded in nexus integration tests (i.e. test_unauthorized). - Begins migrating sled-agent's propolis-client usage to the new progenitor-generated version (oxidecomputer/propolis#206) Co-authored-by: lif <>
Use Dropshot 'channel' for serial console endpoint
This moves the websocket-related boilerplate into the code generated by Dropshot's
#[channel]
annotation macro.(rel: oxidecomputer/dropshot#403 )
Generate an API client with Progenitor
This validates and/or generates an OpenAPI schema in a test, as done in omicron (with expectorate).
The generated client is currently opt-in via a feature flag, so as to mitigate breakages while migrating our other codebases from the handwritten client code.
(rel: oxidecomputer/progenitor#183 )