vagrant-vyos 1.0.0 → 1.1.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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZWRmN2MwZjNjMzc0YTgzZDViMGYwZDMwOGY0ZmFlZTgxMjI2ZTE3Mg==
5
- data.tar.gz: !binary |-
6
- ZTYxZGIxMWVlMjQwMGJlYThmZDAwZTNmNDVhZTBmYTkzYzQxZjMzZQ==
2
+ SHA1:
3
+ metadata.gz: 0ec20c7345a53d7c0d64239cd907ee06486a9c38
4
+ data.tar.gz: 1a3788b74897f5bce5656f576911ca0d262ad365
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NzM0Y2MyZTg3ZWI5YzljNzRkNTc5MDFkNWE4Y2E2MjFhYzc2MjhmZjI2MzVl
10
- MjMwMzhlZDUxY2VkMjQ2ODAyZjI5OTU2Y2YxMWE1MzkxMzI5MWIwMWFhMDkx
11
- M2UyNDc5NjcwNzE3ZDI4MTVjOTc3MDY1OTU2NTNiZTJkMzk3OTU=
12
- data.tar.gz: !binary |-
13
- YTM4MmJlZDUxYWU1NWYwYWI4ZDBhYzk2OTE4ZGQ0YWQwMGM4NmUwMTI4ZjU5
14
- ZDFkY2JlMDcwZTBkZjZlNWRmZjA1N2JmOWYwNTg4YjMwNmM4NzFiZjBlNWEz
15
- YzQ4YmZjOWVkMTM4YmZjN2JiY2M0ZjZlZDZkOGJhODZhNzhlYTQ=
6
+ metadata.gz: 65ac78573b8fb8674423181232b229c0b7647b4bf2d53f5bb8b81017d4a4d3b6230b31470ed8cff5d1e9158d9458997e9eed45351bde6180e6cebf96ff26de56
7
+ data.tar.gz: 18767b486113c17e5bb391485bfe7de3068fb2154b7cde76d8351b572b4feac4bf558c03a9e88a80ca04b191be9641b5fb6b5cb3bbd6e141144b4f92b4fb1bf3
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # vagrant-vyos
2
2
  [![Build Status](https://travis-ci.org/higebu/vagrant-vyos.png)](https://travis-ci.org/higebu/vagrant-vyos)
3
- [![Code Climate](https://codeclimate.com/repos/5302538e69568020f60027b2/badges/c5b01915845941764536/gpa.png)](https://codeclimate.com/repos/5302538e69568020f60027b2/feed)
3
+ [![Code Climate](https://codeclimate.com/github/higebu/vagrant-vyos/badges/gpa.svg)](https://codeclimate.com/github/higebu/vagrant-vyos)
4
4
  [![Gem Version](https://badge.fury.io/rb/vagrant-vyos.png)](http://badge.fury.io/rb/vagrant-vyos)
5
5
  [![Dependency Status](https://gemnasium.com/higebu/vagrant-vyos.png)](https://gemnasium.com/higebu/vagrant-vyos)
6
6
 
@@ -11,6 +11,7 @@ This plugin fixes following features.
11
11
  * `vagrant halt`.
12
12
  * `config.vm.hostname`.
13
13
  * `config.vm.network`.
14
+ * `config.ssh.insert_key`.
14
15
 
15
16
  ## Installation
16
17
 
@@ -21,7 +22,7 @@ $ vagrant plugin install vagrant-vyos
21
22
  ## Usage
22
23
 
23
24
  ```
24
- $ vagrant init higebu/vyos-1.1.4
25
+ $ vagrant init higebu/vyos-1.1.4-amd64
25
26
  $ vagrant up
26
27
  ```
27
28
 
@@ -0,0 +1,35 @@
1
+ module VagrantPlugins
2
+ module GuestVyOS
3
+ module Cap
4
+ class InsertPublicKey
5
+ def self.insert_public_key(machine, contents)
6
+ contents = contents.chomp
7
+
8
+ key_type, key_value, key_name = contents.split()
9
+
10
+ commands = <<-EOS
11
+ source /opt/vyatta/etc/functions/script-template
12
+ set system login user vagrant authentication public-keys #{key_name} type #{key_type}
13
+ set system login user vagrant authentication public-keys #{key_name} key #{key_value}
14
+ commit
15
+ save
16
+ EOS
17
+
18
+ temp = Tempfile.new("vagrant")
19
+ temp.binmode
20
+ temp.write(commands)
21
+ temp.close
22
+
23
+ machine.communicate.tap do |comm|
24
+ comm.upload(temp.path, "/tmp/vagrant-insert-public-key")
25
+ comm.execute("bash /tmp/vagrant-insert-public-key")
26
+ comm.execute("rm -f /tmp/vagrant-insert-public-key")
27
+ end
28
+
29
+ temp.unlink
30
+
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module VagrantPlugins
2
+ module GuestVyOS
3
+ module Cap
4
+ class RemovePublicKey
5
+ def self.remove_public_key(machine, contents)
6
+ contents = contents.chomp
7
+
8
+ key_type, key_value, key_name = contents.split()
9
+
10
+ commands = <<-EOS
11
+ source /opt/vyatta/etc/functions/script-template
12
+ show system login user vagrant authentication public-keys #{key_name} key | grep #{key_value} || exit 0
13
+ delete system login user vagrant authentication public-keys #{key_name}
14
+ commit
15
+ save
16
+ EOS
17
+
18
+ temp = Tempfile.new("vagrant")
19
+ temp.binmode
20
+ temp.write(commands)
21
+ temp.close
22
+
23
+ machine.communicate.tap do |comm|
24
+ comm.upload(temp.path, "/tmp/vagrant-remove-public-key")
25
+ comm.execute("bash /tmp/vagrant-remove-public-key")
26
+ comm.execute("rm -f /tmp/vagrant-remove-public-key")
27
+ end
28
+
29
+ temp.unlink
30
+
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -25,6 +25,16 @@ module VagrantPlugins
25
25
  require_relative "cap/change_host_name"
26
26
  Cap::ChangeHostName
27
27
  end
28
+
29
+ guest_capability("vyos", "insert_public_key") do
30
+ require_relative "cap/insert_public_key"
31
+ Cap::InsertPublicKey
32
+ end
33
+
34
+ guest_capability("vyos", "remove_public_key") do
35
+ require_relative "cap/remove_public_key"
36
+ Cap::RemovePublicKey
37
+ end
28
38
  end
29
39
  end
30
40
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module GuestVyOS
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,47 +1,47 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vyos
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - KUSAKABE Yuya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-10 00:00:00.000000000 Z
11
+ date: 2015-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.5.2
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.8.0
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.5.2
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.8.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ! '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ! '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  description: VyOS Guest Support for Vagrant
@@ -51,8 +51,8 @@ executables: []
51
51
  extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
54
- - .gitignore
55
- - .travis.yml
54
+ - ".gitignore"
55
+ - ".travis.yml"
56
56
  - Gemfile
57
57
  - LICENSE
58
58
  - README.md
@@ -61,6 +61,8 @@ files:
61
61
  - lib/vagrant-vyos/cap/change_host_name.rb
62
62
  - lib/vagrant-vyos/cap/configure_networks.rb
63
63
  - lib/vagrant-vyos/cap/halt.rb
64
+ - lib/vagrant-vyos/cap/insert_public_key.rb
65
+ - lib/vagrant-vyos/cap/remove_public_key.rb
64
66
  - lib/vagrant-vyos/guest.rb
65
67
  - lib/vagrant-vyos/plugin.rb
66
68
  - lib/vagrant-vyos/version.rb
@@ -75,17 +77,17 @@ require_paths:
75
77
  - lib
76
78
  required_ruby_version: !ruby/object:Gem::Requirement
77
79
  requirements:
78
- - - ! '>='
80
+ - - ">="
79
81
  - !ruby/object:Gem::Version
80
82
  version: 2.0.0
81
83
  required_rubygems_version: !ruby/object:Gem::Requirement
82
84
  requirements:
83
- - - ! '>='
85
+ - - ">="
84
86
  - !ruby/object:Gem::Version
85
87
  version: 1.3.6
86
88
  requirements: []
87
89
  rubyforge_project: vagrant-vyos
88
- rubygems_version: 2.4.6
90
+ rubygems_version: 2.2.5
89
91
  signing_key:
90
92
  specification_version: 4
91
93
  summary: A small gem that adds vyos guest support to vagrant.