oxidecomputer / oxidecomputer/oxide.rs
Simplify 'image add' mechanism
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 75
- Forks
- 21
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 19
Description
Target component
- CLI
- SDK
- Something else
- Not sure
Overview
A CLI user should be able to upload an image file "directly" as an image, the same way a Console user can.
Today the console does the work behind the scenes to do the creation of a temp disk, bulk writes of the image to that temp tdisk, taking the disk out of import mode, creating a temp snapshot of the disk, creating an image from the snapshot, then deleting the temp disk and temp snapshot... all of which makes the image upload process effectively transparent to the user.
It would seem the CLI doesn't have this user-friendly abstraction. What is available doesn't quite give the same nice experience:
oxide image create: expects a json body and has no docs for what should be in itoxide disk import: convoluted (must first be run w/ arguments but w/o a command, then must be run with commands later?) and results in a disk that still needs to be snapshotted and have an image created from it, then cleaned up
Implementation details
No response
Anything else you would like to add?
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the CLI entry points for oxide image create and oxide disk import, then compare their documented arguments and command flow with the Console behavior described in the issue. Define the direct image-upload workflow and its cleanup steps before implementation; done means a CLI user can upload an image without manually creating and snapshotting a temporary disk.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100