vagrant-dotvm 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: