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

VirtFS: Add default synced_folder implementation for UTM #17

Draft
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

naveenrajm7
Copy link
Owner

Fixes #11

Depends on utmapp/UTM#6977

  • Implements VirtFS synced folder in UTM using qemu additional args and vm registry (for permission)
  • Provide multiple shared folder option
  • Automatic mounting and fstab entry
  • Config: Makes virtFS as default directory_share_mode in UTM

Usage

Vagrant.configure("2") do |config|
  config.vm.synced_folder "src/", "/srv/website" 
  config.vm.box = "utm/bookworm"
end

Add info about new packer utm cloud builder
To determine if VM supports VirtFS directory sharing, true by default
default sync folder for utm plugin
Enable is done after VM boot while it is running.
Configuring share folders in UTM requires updating config which requires VM to be stopped.
Before every Boot share folder 'prepare' is called. Since we use qemu args to achieve shared folder, we should make sure we are not adding duplicate arguments for same folder
Use share 'id' of UTM (vagrant's name ) as folder identifier
This module was outside the vagrant library
can't modify frozen String: ""
replace "" with String.new to make it not a frozen variable
We implement UTM directory share for virtFS and hence the default mode should be set accordingly
Add TODOs after UTM support
- read shared folders (sf)
- collect qemu args of sf
- remove qemu args of sf
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.

Missing Shared Folders with Chef Provisioner
1 participant