Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flexible Storage Locations for VMs, Disk Images, and IPSW Files #14

Open
Else00 opened this issue Feb 5, 2025 · 2 comments
Open

Flexible Storage Locations for VMs, Disk Images, and IPSW Files #14

Else00 opened this issue Feb 5, 2025 · 2 comments
Labels
enhancement New feature or request

Comments

@Else00
Copy link

Else00 commented Feb 5, 2025

Current Behavior

Currently, lume stores all VM-related files (configurations, virtual disk images, NVRAM) in ~/.lume directory. There's no way to:

  • Store VMs in different locations
  • Separate VM configs from their disk images
  • Control where IPSW files are downloaded and stored

Desired Behavior

  1. Multiple VM Locations

    • Ability to create VMs in different locations (e.g., one on internal drive, another on external drive)
    • Option to register existing VMs from different locations
  2. Separated Storage

    • Option to store VM configurations in default location while keeping large disk images elsewhere
    • Ability to move disk images without recreating VMs
  3. IPSW Management

    • Control where IPSW files are downloaded and stored
    • Option to cache and reuse IPSW files
    • Commands to manage cached IPSW files
@f-trycua
Copy link
Contributor

f-trycua commented Feb 8, 2025

Thanks for submitting this issue @Else00. Some of these changes are actually part of our immediate priority timeline. We are likely to introduce a lume config and lume register commands to modify the default locations. I’d like to hear your thoughts on whether the spec below meets your needs.

lume <command>

Commands:
  
  # New commands for storage management:
  lume config get           Show configuration settings
  lume config set           Update configuration settings
  lume register <name>      Register an existing VM or update storage locations
  lume move <name> <path>   Move VM disk image to new location

Command Options:
  config get:
    --all              Show all configuration values
    --vm-path          Show default VM storage path
    --ipsw-path        Show IPSW cache location
    --ghcr-path   Show container registry cache location
    --registry         Show default container registry
    --organization     Show default organization

  config set:
    --vm-path <path>         Set default VM storage path
    --ipsw-path <path>       Set IPSW cache location
    --ghcr-path <path>  Set container registry cache location
    --registry <url>         Set default container registry
    --organization <org>     Set default registry organization

  register:
    --config-path <path>     Path to store VM configuration
    --disk-path <path>       Path to store VM disk image
    --nvram-path <path>      Path to store VM NVRAM

  move:
    --force                  Force move without confirmation

Modified Existing Commands:
  create:
    # Existing options...
    --config-path <path>     Override default VM configuration location
    --disk-path <path>       Override default VM storage location
    --nvram-path <path>      Override default VM NVRAM location

@pepicrft
Copy link
Contributor

pepicrft commented Feb 9, 2025

I'd consider following the XDG Base Directory convention as a default, and support doing through a configuration file in a conventional path, and at CLI invocation time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants