vagrant-sshfs 0.0.6 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +14 -0
- data/Gemfile.lock +1 -1
- data/README.md +8 -0
- data/lib/vagrant-sshfs/actions.rb +17 -5
- data/lib/vagrant-sshfs/builders/base.rb +9 -2
- data/lib/vagrant-sshfs/builders/host.rb +9 -4
- data/lib/vagrant-sshfs/config.rb +4 -0
- data/lib/vagrant-sshfs/plugin.rb +20 -0
- data/lib/vagrant-sshfs/version.rb +1 -1
- data/locales/en.yml +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40c211084d6df40b60293757b4dcc3775534d680
|
4
|
+
data.tar.gz: 512170ebed792cdfaa5874d8b00bd0c36e418b0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60fb794de0eb03d139ab3c6369809b186640c02c0067f36087fe844f4cfff9ebcfc6ab5a8ef3960eba9567c1956ff2fcf5d2f1bb5454034628c40b4d33b1fb87
|
7
|
+
data.tar.gz: 6b180c7cc99ae728491220c39eb4ac7ae91eabff27ae6d05c1fb3ca95633989340393d9b53f425636ddd426292c3e20abca9b9e490f5a86926f95823c77632b9
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## vagrant-sshfs 0.0.8 (Jun 2, 2015) ##
|
2
|
+
|
3
|
+
* Fixed unicode character issue
|
4
|
+
|
5
|
+
*seasick*
|
6
|
+
|
7
|
+
## vagrant-sshfs 0.0.7 (Dec 8, 2014) ##
|
8
|
+
|
9
|
+
* Smooth folders creation.
|
10
|
+
* Unmount on machine Destroy/Halt/Suspend
|
11
|
+
* Remount on machine Resume/Provision/Suspend
|
12
|
+
|
13
|
+
*dmatora*
|
14
|
+
|
1
15
|
## vagrant-sshfs 0.0.6 (Oct 14, 2014) ##
|
2
16
|
|
3
17
|
* Avoids StrictHostKeyChecking by default.
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -26,6 +26,14 @@ The plugin is enabled by default, so it will run everytime the machine starts. I
|
|
26
26
|
|
27
27
|
`config.sshfs.enabled = false`
|
28
28
|
|
29
|
+
The plugin creates missing folder by default, if you want to be prompted, you can disable it with the following configuration:
|
30
|
+
|
31
|
+
`config.sshfs.prompt_create_folders = false`
|
32
|
+
|
33
|
+
The plugin is creating folders using sudo by default, In case that is not desired, you can disable that with the following configuration:
|
34
|
+
|
35
|
+
`config.sshfs.sudo = false`
|
36
|
+
|
29
37
|
To manually run it, you can use the `sshfs` command. Please check `vagrant -h`.
|
30
38
|
|
31
39
|
## Issues
|
@@ -5,15 +5,11 @@ require 'vagrant-sshfs/builders/guest'
|
|
5
5
|
module Vagrant
|
6
6
|
module SshFS
|
7
7
|
module Actions
|
8
|
-
class
|
8
|
+
class Base
|
9
9
|
def initialize(app, env)
|
10
10
|
@machine = env[:machine]
|
11
11
|
end
|
12
12
|
|
13
|
-
def call(env)
|
14
|
-
get_builder(env).mount! if @machine.config.sshfs.enabled
|
15
|
-
end
|
16
|
-
|
17
13
|
private
|
18
14
|
|
19
15
|
def get_builder(env)
|
@@ -25,7 +21,23 @@ module Vagrant
|
|
25
21
|
end
|
26
22
|
end
|
27
23
|
|
24
|
+
class Up < Base
|
25
|
+
def call(env)
|
26
|
+
get_builder(env).mount! if @machine.config.sshfs.enabled
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Destroy < Base
|
31
|
+
def call(env)
|
32
|
+
get_builder(env).unmount! if @machine.config.sshfs.enabled
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
28
36
|
class Reload < Up; end
|
37
|
+
class Provision < Up; end
|
38
|
+
class Suspend < Destroy; end
|
39
|
+
class Resume < Up; end
|
40
|
+
class Halt < Destroy; end
|
29
41
|
end
|
30
42
|
end
|
31
43
|
end
|
@@ -9,14 +9,21 @@ module Vagrant
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def mount!
|
12
|
+
unmount!
|
13
|
+
|
12
14
|
paths.each do |src, target|
|
13
|
-
info("unmounting", src: target)
|
14
|
-
unmount(target)
|
15
15
|
info("mounting", src: src, target: target)
|
16
16
|
mount(src, target)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
def unmount!
|
21
|
+
paths.each do |src, target|
|
22
|
+
info("unmounting", src: target)
|
23
|
+
unmount(target)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
20
27
|
def mount
|
21
28
|
raise NotImplementedError
|
22
29
|
end
|
@@ -8,7 +8,8 @@ module Vagrant
|
|
8
8
|
|
9
9
|
def unmount(target)
|
10
10
|
if `which fusermount`.empty?
|
11
|
-
`
|
11
|
+
`killall -9 sshfs 2>/dev/null`
|
12
|
+
`umount -f #{target}`
|
12
13
|
else
|
13
14
|
`fusermount -u -q #{target}`
|
14
15
|
end
|
@@ -50,8 +51,12 @@ module Vagrant
|
|
50
51
|
|
51
52
|
def check_src!(src)
|
52
53
|
unless machine.communicate.test("test -d #{src}")
|
53
|
-
if ask("create_src", src: src) == "y"
|
54
|
-
machine.
|
54
|
+
if machine.config.sshfs.prompt_create_folders == false || ask("create_src", src: src) == "y"
|
55
|
+
if machine.config.sshfs.sudo
|
56
|
+
machine.communicate.execute("sudo su -c 'mkdir -p #{src}'")
|
57
|
+
else
|
58
|
+
machine.communicate.execute("mkdir -p #{src}")
|
59
|
+
end
|
55
60
|
info("created_src", src: src)
|
56
61
|
else
|
57
62
|
error("not_created_src", src: src)
|
@@ -68,7 +73,7 @@ module Vagrant
|
|
68
73
|
if File.exist?(folder) && Dir.entries(folder).size > 2
|
69
74
|
error("non_empty_target", target: folder)
|
70
75
|
elsif !File.exist?(folder)
|
71
|
-
if ask("create_target", target: folder) == "y"
|
76
|
+
if machine.config.sshfs.prompt_create_folders == false || ask("create_target", target: folder) == "y"
|
72
77
|
FileUtils.mkdir_p(folder)
|
73
78
|
info("created_target", target: folder)
|
74
79
|
else
|
data/lib/vagrant-sshfs/config.rb
CHANGED
@@ -4,6 +4,8 @@ module Vagrant
|
|
4
4
|
attr_accessor :paths
|
5
5
|
attr_accessor :username
|
6
6
|
attr_accessor :enabled
|
7
|
+
attr_accessor :prompt_create_folders
|
8
|
+
attr_accessor :sudo
|
7
9
|
attr_accessor :mount_on_guest
|
8
10
|
attr_accessor :host_addr
|
9
11
|
|
@@ -11,6 +13,8 @@ module Vagrant
|
|
11
13
|
@paths = {}
|
12
14
|
@username = nil
|
13
15
|
@enabled = true
|
16
|
+
@prompt_create_folders = false
|
17
|
+
@sudo = true
|
14
18
|
end
|
15
19
|
|
16
20
|
def merge(other)
|
data/lib/vagrant-sshfs/plugin.rb
CHANGED
@@ -17,6 +17,26 @@ module Vagrant
|
|
17
17
|
hook.append(Vagrant::SshFS::Actions::Reload)
|
18
18
|
end
|
19
19
|
|
20
|
+
action_hook(:sshfs, :machine_action_provision) do |hook|
|
21
|
+
hook.append(Vagrant::SshFS::Actions::Provision)
|
22
|
+
end
|
23
|
+
|
24
|
+
action_hook(:sshfs, :machine_action_suspend) do |hook|
|
25
|
+
hook.append(Vagrant::SshFS::Actions::Suspend)
|
26
|
+
end
|
27
|
+
|
28
|
+
action_hook(:sshfs, :machine_action_resume) do |hook|
|
29
|
+
hook.append(Vagrant::SshFS::Actions::Resume)
|
30
|
+
end
|
31
|
+
|
32
|
+
action_hook(:sshfs, :machine_action_halt) do |hook|
|
33
|
+
hook.append(Vagrant::SshFS::Actions::Halt)
|
34
|
+
end
|
35
|
+
|
36
|
+
action_hook(:sshfs, :machine_action_destroy) do |hook|
|
37
|
+
hook.append(Vagrant::SshFS::Actions::Destroy)
|
38
|
+
end
|
39
|
+
|
20
40
|
command "sshfs" do
|
21
41
|
Vagrant::SshFS::Command
|
22
42
|
end
|
data/locales/en.yml
CHANGED
@@ -9,8 +9,8 @@ en:
|
|
9
9
|
created_src: "Created src `%{src}`"
|
10
10
|
created_target: "Created target `%{target}`"
|
11
11
|
ask:
|
12
|
-
create_src: "Source folder `%{src}` does not exist, create?"
|
13
|
-
create_target: "Target folder `%{target}` does not exist, create?"
|
12
|
+
create_src: "Source folder `%{src}` does not exist, create? (y/n)"
|
13
|
+
create_target: "Target folder `%{target}` does not exist, create? (y/n)"
|
14
14
|
pass: "Password for `%{user}`:"
|
15
15
|
error:
|
16
16
|
base: "vagrant-sshfs failed and couldn't proceed"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-sshfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fabiokr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
86
|
rubyforge_project:
|
87
|
-
rubygems_version: 2.2.
|
87
|
+
rubygems_version: 2.2.3
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: A Vagrant plugin that mounts folders with sshfs in the host machine.
|