Closed
Description
This is meant to capture the substantial followup work based on #369, #374, and #386.
Now that we have generated clients for internal communication, each app should own the structs that define its request bodies (params) and responses (views). The difficulty is that there are a lot of changes to be made before we reach the desired end state, way more than would be reasonable to put in a single PR. Refactors should be done as quickly as possible, but there's going to be a short time where we're in an intermediate state. Also doing a bunch of refactors while we're all hurrying for Milestone 3 is not a good idea. So we're going to have to finish this afterward.
- Simple public views only used in Nexus
-
Project
andOrganization
(done in Structure for moving views and params structs out of common #374) -
Vpc
and friends
-
- Sled agent things
-
DiskEnsureBody
,DiskStateRequested
,ShareRequest
,ShareResponse
(done in Sled agent views/params shuffling #386) -
InstanceHardware
,InstanceEnsureBody
,InstanceRuntimeStateRequested
-
- Runtime state things
-
DiskRuntimeState
— kind of interesting because both nexus and sled agent have endpoints that use this struct. this means they should probably each own their own and define a conversion to the other's. There's also the fun fact that Nexus stores this in the db. lots of lines in the diff because it's used in like 60 places -
InstanceRuntimeState
— same deal
-
This is not a complete list, I'll add more as I go through them.
Metadata
Metadata
Assignees
Labels
No labels