oxidecomputer / oxidecomputer/oxide.rs

Simplify 'image add' mechanism

Open
#599 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature
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 it
  • oxide 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.