Commit Graph

38 Commits

Author SHA1 Message Date
Chris Roberts 8f42dbff21 Add a resolve_host_path capability for bsd and darwin hosts
For bsd the resolve_host_path capability is a no-op. For darwin
hosts, if firmlinks are defined on the system, paths will be properly
resolved to real path.
2019-10-08 16:41:48 -07:00
Chris Roberts 2c16c96e57 Update nfs_export cap to use resolve_host_path cap for shared directories
Using the resolve_host_path capability allows hosts to modify the
shared folder directory while keeping the logic contained within
the specific host implementation.
2019-10-08 16:38:52 -07:00
Andy Fowler e288a5b732 `df` -> `/bin/df` to use macOS version
Thanks, @AntonioMeireles!
2019-10-08 13:21:34 -07:00
Andy Fowler ae9c3e28d6 Fix #10961 NFS sharing in macOS 10.15 host
On OS X 10.15, / is read-only and paths inside of /Users (and elsewhere)
are mounted via a "firmlink" (which is a new invention in APFS). These
must be resolved to their full path to be shareable via NFS.

/Users/johnsmith/mycode  =>  /System/Volumes/Data/Users/johnsmith/mycode

We check to see if a path is mounted here with `df`, and prepend it.

Firmlinks are only createable by the OS and this wasn't supposed to be
visible to applications anyway:
https://developer.apple.com/videos/play/wwdc2019/710/?time=481
2019-10-08 13:21:34 -07:00
Brian Cain fc4e03d559
Fixes #10609: Properly set BSD options for /etc/exports
Prior to this commit, the BSD options for the /etc/exports file was not
properly set up in the correct order for a given entry. It was however
fixed for FreeBSD, but never for the original exports template. This
commit fixes that by unifying the BSD and FreeBSD templates.
2019-06-13 11:44:12 -07:00
Chris Roberts a5582eb1c8 Add ssh key permissions set caps to hosts 2018-06-12 10:49:10 -07:00
Brian Cain 864340ec58 Invoke tee from specific path
This commit updates the use of `tee` to use an explicit path when
invoked rather than relying on where `tee` has been defined in a users
PATH.
2017-06-29 16:11:18 -07:00
Si Beaumont 3deed353ae Allow colon in NFS ID regex
Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
2015-01-20 14:11:42 +00:00
Mitchell Hashimoto 2a285d7655 hosts/bad: escape regexp properly [GH-4922] 2014-12-10 09:16:45 -08:00
Mitchell Hashimoto ea983e32c8 hosts/*: NFS prune regexp matches file paths [GH-3815] 2014-10-24 12:16:53 -07:00
Mitchell Hashimoto aa981cf4ec hosts/bsd: only use sudo if we can't write /etc/exports [GH-2643] 2014-10-23 17:43:58 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Jon Topper e5490544d6 Use 'tee' to write to /etc/exports 2014-05-05 23:55:16 +01:00
Mitchell Hashimoto b0b445fcac hosts/darwin: rdp client support by subprocessing `open` 2014-04-21 13:56:40 -07:00
Mitchell Hashimoto d14f3e0a56 hosts/bsd: make directories unique when exporting 2014-02-26 08:04:21 -08:00
Jon Topper 7b30e557cd hosts/bsd: sort NFS exports to avoid false validation errors [GH-2927]
With a synced folder configuration like so:

 synced_folder ".", "/vagrant", :nfs => true
 synced_folder "#{ENV['HOME']}/mirror", "/mirror", :nfs => true
 synced_folder ENV['HOME'], "/home/#{ENV['USER']}", :nfs => true

on OSX, vagrant writes two overlapping exports to /etc/exports
which then fail the export check.

Iterating through the list of folders lexically builds a correct, single
exports entry.

Signed-off-by: Teemu Matilainen <teemu.matilainen@iki.fi>
2014-02-21 23:43:11 -03:00
Mitchell Hashimoto 9b383740ba hosts/bsd: use Util::Which instead of system("which") 2014-01-12 22:37:39 -08:00
Mitchell Hashimoto b8601423c7 hosts/bsd: don't execute shell for sudo commands [GH-2808] 2014-01-12 22:34:45 -08:00
Mitchell Hashimoto bdb88da743 hosts/bsd: convert to new style 2014-01-07 20:39:24 -08:00
Mitchell Hashimoto 2cf864e95b hosts/bsd: check exports only if exports file exists [GH-2714] 2013-12-28 13:48:13 -07:00
Mitchell Hashimoto 2bebf188d6 hosts/bsd: check for exports file issues prior to exporting NFS 2013-12-13 22:14:13 -08:00
Mitchell Hashimoto 05e9dc6e59 Update CHANGELOG 2013-11-23 11:36:20 -08:00
rimckenn 3047b81256 Update host.rb
mapall= and maproot= are mutually exclusive options. Currently, when trying to use maproot=, mapall= is getting automatically added, which prevents us from using the NFS mount. This change turns off the adding of mapall= if maproot= has been specified as an option.
2013-11-01 14:44:49 +00:00
Raman Nanda 1566280061 Cleanup for Pull Request 2013-09-11 17:57:54 -04:00
Raman Nanda 0c03ad18fc Updating for NFS Fix 2013-09-11 17:22:13 -04:00
Mitchell Hashimoto 3a14d27f90 core: Arbitrary NFS options with nfs_options [GH-1029] 2013-09-01 13:08:02 -07:00
Mitchell Hashimoto a6aa16dcad hosts/bsd: proper NFS prune sed syntax 2013-09-01 11:58:52 -07:00
Mitchell Hashimoto 65ef8d2477 Merge branch 'nfs-per-user' of https://github.com/davedevelopment/vagrant into davedevelopment-nfs-per-user
Conflicts:
	plugins/hosts/arch/host.rb
	plugins/hosts/bsd/host.rb
	plugins/hosts/linux/host.rb
	templates/nfs/exports.erb
	templates/nfs/exports_freebsd.erb
	templates/nfs/exports_linux.erb
2013-09-01 11:44:00 -07:00
Mitchell Hashimoto c63d4fd6b8 hosts/bsd: nice error if can't read exports file [GH-2038] 2013-09-01 10:25:00 -07:00
Mitchell Hashimoto 3028940adb NFS allows access from all networks on VM [GH-1204] 2013-07-18 00:01:49 -04:00
Mitchell Hashimoto 608bc7c0eb NFS exports with single quotes now work properly [GH-1166] 2013-07-16 16:23:33 -07:00
Mitchell Hashimoto 2657364921 Exported sub-directories of exported NFS dirs works on BSD [GH-785] 2013-07-10 14:19:57 -07:00
Dave Marshall b8a8286fac Use current user's uid for NFS exports 2013-03-29 00:14:12 +00:00
Mitchell Hashimoto a53d569656 When cleaning NFS, properly escape certain characters 2013-02-08 16:18:57 -08:00
Mitchell Hashimoto 5a33b7ee54 Hosts to V2 2012-11-06 21:20:22 -08:00
Mitchell Hashimoto 70bdd9f56e Move host base class to a plugin component 2012-06-27 09:26:03 -07:00
Mitchell Hashimoto 096e61b122 Get rid of autoload in hosts plugins 2012-05-23 16:03:14 -07:00
Mitchell Hashimoto 9956e6d012 Better directory structure for plugins 2012-04-20 16:53:01 -07:00