vagrant-dotvm 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/examples/config/projects/playground/main.yaml +5 -0
- data/lib/vagrant-dotvm/configinjecter.rb +14 -0
- data/lib/vagrant-dotvm/configparser.rb +14 -0
- data/lib/vagrant-dotvm/version.rb +1 -1
- data/utils/authorize_key.sh +18 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 206bfdec4ef49df2df73b6db5d114312e5a01bb2
|
4
|
+
data.tar.gz: 3179ab6f0087f3376fc41ce32d4523aaee4ab394
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec20d0bdf97ccbdf3ef4519e9e236c5cc4c1b2e2c45768ea5ee542cc2f95b2d61e83ffb84c20fd3f5ace3f31f418af1f6cba4924e32f018c37a6a3918a5962f5
|
7
|
+
data.tar.gz: 51b5d09388d6e202245d266c0c4644b3733439e6c8f19bcc7cf099f96a876aa948b1f81488618f2dbaaa78be57f2cc6d68d2df52e94aba038da18753b89a893f
|
data/README.md
CHANGED
@@ -49,6 +49,11 @@ machines:
|
|
49
49
|
- net: private_network
|
50
50
|
ip: 192.168.56.100
|
51
51
|
mask: 255.255.255.0
|
52
|
+
authorized_keys:
|
53
|
+
- type: file
|
54
|
+
path: "~/.ssh/id_rsa.pub"
|
55
|
+
- type: static
|
56
|
+
key: "ssh-rsa fakeSSHpubKEY km@laptop"
|
52
57
|
provision:
|
53
58
|
- type: shell
|
54
59
|
path: "%project.host%/bootstrap.sh"
|
@@ -6,6 +6,11 @@ machines:
|
|
6
6
|
- net: private_network
|
7
7
|
ip: 192.168.56.100
|
8
8
|
mask: 255.255.255.0
|
9
|
+
authorized_keys:
|
10
|
+
- type: file
|
11
|
+
path: "~/.ssh/id_rsa.pub"
|
12
|
+
- type: static
|
13
|
+
key: "ssh-rsa fakeSSHpubKEY km@laptop"
|
9
14
|
provision:
|
10
15
|
- type: shell
|
11
16
|
path: "%project.host%/bootstrap.sh"
|
@@ -50,6 +50,20 @@ module VagrantPlugins
|
|
50
50
|
machine.vm.synced_folder folder[:host], folder[:guest], disabled: folder[:disabled]
|
51
51
|
end
|
52
52
|
|
53
|
+
machine_cfg[:authorized_keys].each do |key|
|
54
|
+
if key[:type] == 'file'
|
55
|
+
pubkey = File.readlines(File.expand_path(key[:path])).first.strip
|
56
|
+
elsif key[:type] == 'static'
|
57
|
+
pubkey = key[:key]
|
58
|
+
end
|
59
|
+
|
60
|
+
machine.vm.provision 'shell' do |s|
|
61
|
+
s.path = File.dirname(__FILE__) + "/../../utils/authorize_key.sh"
|
62
|
+
s.args = [pubkey]
|
63
|
+
s.privileged = false
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
53
67
|
if Vagrant.has_plugin?('vagrant-group')
|
54
68
|
vc.group.groups = {} unless vc.group.groups.kind_of?(Hash)
|
55
69
|
|
@@ -57,6 +57,7 @@ module VagrantPlugins
|
|
57
57
|
}
|
58
58
|
],
|
59
59
|
:groups => [],
|
60
|
+
:authorized_keys => [],
|
60
61
|
}
|
61
62
|
end
|
62
63
|
|
@@ -94,6 +95,15 @@ module VagrantPlugins
|
|
94
95
|
}
|
95
96
|
end
|
96
97
|
|
98
|
+
|
99
|
+
def parse_authorized_key(key)
|
100
|
+
return {
|
101
|
+
:type => key['type'],
|
102
|
+
:path => key['path'],
|
103
|
+
:key => key['key'],
|
104
|
+
}
|
105
|
+
end
|
106
|
+
|
97
107
|
|
98
108
|
def parse(yaml)
|
99
109
|
config = {
|
@@ -119,6 +129,10 @@ module VagrantPlugins
|
|
119
129
|
item[:groups] << group
|
120
130
|
end
|
121
131
|
|
132
|
+
machine['authorized_keys'].to_a.each do |key|
|
133
|
+
item[:authorized_keys] << self.parse_authorized_key(key)
|
134
|
+
end
|
135
|
+
|
122
136
|
config[:machines] << item
|
123
137
|
end
|
124
138
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
PUBKEY="$1"
|
2
|
+
SSH="$HOME/.ssh"
|
3
|
+
KEYS="$SSH/authorized_keys"
|
4
|
+
|
5
|
+
if [ ! -d $SSH ] ; then
|
6
|
+
mkdir -p $SSH
|
7
|
+
chmod 0700 $SSH
|
8
|
+
fi
|
9
|
+
|
10
|
+
if [ ! -f $KEYS ] ; then
|
11
|
+
touch $KEYS
|
12
|
+
chmod 0600 $KEYS
|
13
|
+
fi
|
14
|
+
|
15
|
+
grep -q "$PUBKEY" $KEYS
|
16
|
+
if [ ! $? -eq 0 ] ; then
|
17
|
+
echo "$PUBKEY" >> $KEYS
|
18
|
+
fi
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-dotvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Magosa
|
@@ -59,6 +59,7 @@ files:
|
|
59
59
|
- lib/vagrant-dotvm/dotvm.rb
|
60
60
|
- lib/vagrant-dotvm/plugin.rb
|
61
61
|
- lib/vagrant-dotvm/version.rb
|
62
|
+
- utils/authorize_key.sh
|
62
63
|
- vagrant-dotvm.gemspec
|
63
64
|
homepage: http://github.com/krzysztof-magosa/vagrant-dotvm
|
64
65
|
licenses:
|