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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4829fd7fef3e785396c07ff6f8712da35bdcbb6f
4
- data.tar.gz: f1427eb1a565c812627761ff5865f06c547f2f61
3
+ metadata.gz: 206bfdec4ef49df2df73b6db5d114312e5a01bb2
4
+ data.tar.gz: 3179ab6f0087f3376fc41ce32d4523aaee4ab394
5
5
  SHA512:
6
- metadata.gz: 355980dd988fb6ae560753bdbc20e2a052040ef9f9f9d58c364c17313e1ba7256986d2541f6f3dc99d5afb9430b6219f6788180d8ce1d1543a9c7fdc5a0d5ad8
7
- data.tar.gz: 79e869898766450c3970a5a71a8f76a80be01797b4a2394fb92ac052e87711507615b324a13edac2c42d2ef5d32b8824df4db7d96ba09d5bf2f6bab9a005af0d
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
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Dotvm
3
- VERSION = "0.10.0"
3
+ VERSION = "0.11.0"
4
4
  end
5
5
  end
@@ -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.10.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: