Skip to content

[Bug] TUI create sandbox doesn't resolve community image names like CLI does #786

@derekhsu

Description

@derekhsu

Agent Diagnostic

Loaded explore skill to trace the code path. Found that TUI directly passes user input to the gRPC request without the same resolution logic that CLI uses.

CLI code path (crates/openshell-cli/src/run.rs:2479-2535):

  • resolve_from("base") → resolves to ghcr.io/nvidia/openshell-community/sandboxes/base:latest

TUI code path (crates/openshell-tui/src/lib.rs:1275-1283):

  • Directly uses user input string (form.image) as-is, no transformation

Description

Actual behavior: In openshell term, when entering "base" in the Image field and creating a sandbox, the TUI passes "base" directly to the server without resolving it to a full image reference.

Expected behavior: TUI should resolve community image names the same way CLI does, transforming "base" into ghcr.io/nvidia/openshell-community/sandboxes/base:latest.

Reproduction Steps

  1. Run openshell term
  2. Press c to create a sandbox
  3. Enter "base" in the Image field
  4. Complete the create process
  5. Observe that the sandbox creation fails because Kubernetes tries to pull an image named "base" instead of the full reference

Environment

  • macOS (Darwin)
  • Docker Desktop
  • OpenShell latest

Additional Context

This was discovered while debugging why sandbox creation from TUI failed with ImagePullBackOff while the same workflow succeeded via CLI. The root cause is that TUI lacks the resolve_from() logic that CLI has.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions