Skip to content

Conversation

@david-crespo
Copy link
Collaborator

@david-crespo david-crespo commented Dec 3, 2025

With oxidecomputer/omicron#9430, the external API is now versioned. In #2981 we bumped the client generator to pass the version header. In this change we update the client generation script because instead of pointing at omicron/openapi/nexus.json, there is now a symlink at omicron/openapi/nexus/nexus-latest.json that tells us which file the actual spec is in. I don't know if there's some way to get GitHub to follow the symlink for you, but it's simple enough to fetch the symlink to get the target file and then fetch the target file.

The actual API changes coming in here are more interesting and are why this is a draft.

  • Disks get a disk_type field that has one possible value — crucible — but in Local storage 2/4: Add the new disk type omicron#9409 that is going to change to distributed/local, so maybe we don't want to bother putting it in as crucible yet.
  • There are a bunch of endpoints added around multicast groups. Those are fine, but we're getting a type error in the generated Zod validators used by the mock server to validate request bodies. Most likely this is a generator bug, but sometimes it means the types in the schema are suboptimal. I need to look into that. Fixed in Handle nullable arrays in zod validators oxide.ts#317 and brought in in fe507b4

@vercel
Copy link

vercel bot commented Dec 3, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
console Ready Ready Preview Dec 3, 2025 11:34pm

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