vagrant-qubes 0.0.3 → 0.0.5

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
  SHA256:
3
- metadata.gz: c705377c5a04ced31e884fb0e70dd403b28ec8533808eef7c554b4455768d4a2
4
- data.tar.gz: 62c911e38e6c2d74b895dcae2587b0a87d7038f821b24a50354a5cf9c89f36a0
3
+ metadata.gz: 656c24f67a8c660d43e6218f87dd1c31f87a692f3b2222845b6c1186bdf8a130
4
+ data.tar.gz: 0bb08f4ca45933ca78c18d08c67366aeb02250be2b1ed75d316c6acc0bf6e91d
5
5
  SHA512:
6
- metadata.gz: '09261b413e0971e92dd441e96579a50dbe124f3743c637a434d213a7a854e67664ad2efb5afc6ceb47cfb380f48a0563749ea10bdce39be3b66892e59bb2a749'
7
- data.tar.gz: 6e4accb9bf2e3aec656f9e1c9b976b227417b08b69841085c3535aa0e00e8582341067c4963e7d42e0eb01081a7b9301fec8f5763882908707ce2919766a0f07
6
+ metadata.gz: d69a6263b363e7adcd635430014f51a1ee132c99ebcfc5ff3985b6cdf3cfe5bf07a7154e8e5daa646f1d18ff8ec830b9d11433226fca687ff7b6d77fcdf61997
7
+ data.tar.gz: 42c920d14454329749ff4d099659340306d3def68bcfbacc2af920deb77a88b31d71f2ab7c1e4562c44161c043074b6fcf1d0b398710601b1148472b2396b1e8
data/.gitignore CHANGED
@@ -7,4 +7,6 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /Vagrantfile
10
- /.vagrant/
10
+ /.vagrant/
11
+ /sync/
12
+ Gemfile.lock
data/README.md CHANGED
@@ -37,7 +37,7 @@ Vagrant.configure("2") do |config|
37
37
  end
38
38
  ```
39
39
 
40
- Provision etc. does not yet work due to networking configuration needed to enable that.
40
+ Currently, the plugin will insert a firewall rule allowing the NetVM to communicate with the vagrant created machine... this enables provision and "vagrant ssh <name>" etc. to work.
41
41
 
42
42
  This is not fully thought through or fully secured, use it at your own risk!
43
43
 
@@ -49,11 +49,16 @@ Run this in your AppVM
49
49
  vagrant plugin install vagrant-qubes
50
50
  ```
51
51
 
52
+ ## Guest networking
53
+
54
+ Check out https://github.com/gp397/salt-for-vagrant-qubes it has a script that will enable networking between guests.
55
+
56
+ It requires an ssh server and puppet in the guest template, the salt formula takes care of all of that though.
57
+
52
58
  ## TODO
53
59
 
54
60
  There is a lot to do, in no particular order:
55
61
  - Extend to support Standalone VMs/HVMs
56
- - Sort out networking, and therefore provisioning
57
62
 
58
63
  ## Contributing
59
64
 
@@ -51,6 +51,7 @@ module VagrantPlugins
51
51
  raise Errors::QRExecError,
52
52
  message: 'qrexec failed with status' + status.to_s
53
53
  end
54
+ env[:machine].id = 1
54
55
  else
55
56
  raise Errors::GeneralError,
56
57
  message: 'guest type ' + config.guest_type + ' is not supported'
@@ -68,8 +68,8 @@ module VagrantPlugins
68
68
  if env1[:result] == 'True'
69
69
  b1.use ReadState
70
70
  b1.use Provision
71
- #b1.use SyncedFolderCleanup
72
- #b1.use SyncedFolders
71
+ b1.use SyncedFolderCleanup
72
+ b1.use SyncedFolders
73
73
  #b1.use SetHostname
74
74
  end
75
75
  end
@@ -0,0 +1,34 @@
1
+ require 'optparse'
2
+
3
+ module VagrantPlugins
4
+ module Qubes
5
+ class CapAddress < Vagrant.plugin(2, :command)
6
+ def self.synopsis
7
+ "outputs the IP address of a guest."
8
+ end
9
+ def execute
10
+ opts = OptionParser.new do |o|
11
+ o.banner = "Usage: vagrant address [name]"
12
+ end
13
+
14
+ argv = parse_options(opts)
15
+
16
+ # Count total number of vms to print the IP
17
+ totalvms = 0
18
+ with_target_vms(argv) do
19
+ totalvms += 1
20
+ end
21
+
22
+ if argv.length == 1 or totalvms == 1
23
+ with_target_vms(argv, {:single_target=>true}) do |machine|
24
+ machine.action(:address)
25
+ end
26
+ else
27
+ with_target_vms(argv) do |machine|
28
+ machine.action(:address_multi)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -20,6 +20,12 @@ module VagrantPlugins
20
20
  Provider
21
21
  end
22
22
 
23
+ # Prints the IP address of the guest
24
+ command('address') do
25
+ require_relative 'command'
26
+ CapAddress
27
+ end
28
+
23
29
  # This initializes the internationalization strings.
24
30
  def self.setup_i18n
25
31
  require 'pathname'
@@ -1,6 +1,6 @@
1
1
  module VagrantPlugins
2
2
  module Qubes
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.5"
4
4
  $vagrant_qubes_version = VERSION
5
5
  end
6
6
  end
@@ -4,7 +4,7 @@ require File.expand_path('../lib/vagrant-qubes/version', __FILE__)
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "vagrant-qubes"
6
6
  spec.version = VagrantPlugins::Qubes::VERSION
7
- spec.date = '2021-06-30'
7
+ spec.date = '2023-06-16'
8
8
  spec.authors = ["Gary Pentland"]
9
9
  spec.email = [""]
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-qubes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary Pentland
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-30 00:00:00.000000000 Z
11
+ date: 2023-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: log4r
@@ -62,7 +62,6 @@ files:
62
62
  - ".gitignore"
63
63
  - CODE_OF_CONDUCT.md
64
64
  - Gemfile
65
- - Gemfile.lock
66
65
  - LICENSE.txt
67
66
  - README.md
68
67
  - Rakefile
@@ -79,6 +78,7 @@ files:
79
78
  - lib/vagrant-qubes/action/read_ssh_info.rb
80
79
  - lib/vagrant-qubes/action/read_state.rb
81
80
  - lib/vagrant-qubes/action/wait_for_state.rb
81
+ - lib/vagrant-qubes/command.rb
82
82
  - lib/vagrant-qubes/config.rb
83
83
  - lib/vagrant-qubes/errors.rb
84
84
  - lib/vagrant-qubes/plugin.rb
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  requirements: []
113
- rubygems_version: 3.1.6
113
+ rubygems_version: 3.4.10
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Vagrant Qubes provider plugin
data/Gemfile.lock DELETED
@@ -1,122 +0,0 @@
1
- GIT
2
- remote: https://github.com/hashicorp/vagrant.git
3
- revision: 22795b161bf67a4c0ebbe32c9ce8777cb888c4a7
4
- specs:
5
- vagrant (2.2.11.dev)
6
- bcrypt_pbkdf (~> 1.0.0)
7
- childprocess (~> 4.0.0)
8
- ed25519 (~> 1.2.4)
9
- erubi
10
- hashicorp-checkpoint (~> 0.1.5)
11
- i18n (~> 1.8)
12
- listen (~> 3.1)
13
- log4r (~> 1.1.9, < 1.1.11)
14
- mime (~> 0.4.4)
15
- net-scp (~> 1.2.0)
16
- net-sftp (~> 3.0)
17
- net-ssh (~> 6.0)
18
- rb-kqueue (~> 0.2.0)
19
- rest-client (>= 1.6.0, < 3.0)
20
- ruby_dep (<= 1.3.1)
21
- rubyzip (~> 2.0)
22
- vagrant_cloud (~> 2.0.3)
23
- wdm (~> 0.1.0)
24
- winrm (>= 2.3.4, < 3.0)
25
- winrm-elevated (>= 1.2.1, < 2.0)
26
- winrm-fs (>= 1.3.4, < 2.0)
27
-
28
- PATH
29
- remote: .
30
- specs:
31
- vagrant-qubes (0.0.3)
32
- i18n (~> 1.0)
33
- log4r (~> 1.1)
34
-
35
- GEM
36
- remote: https://rubygems.org/
37
- specs:
38
- bcrypt_pbkdf (1.0.1)
39
- builder (3.2.4)
40
- childprocess (4.0.0)
41
- concurrent-ruby (1.1.9)
42
- domain_name (0.5.20190701)
43
- unf (>= 0.0.5, < 1.0.0)
44
- ed25519 (1.2.4)
45
- erubi (1.10.0)
46
- ffi (1.15.3)
47
- gssapi (1.3.1)
48
- ffi (>= 1.0.1)
49
- gyoku (1.3.1)
50
- builder (>= 2.1.2)
51
- hashicorp-checkpoint (0.1.5)
52
- http-cookie (1.0.4)
53
- domain_name (~> 0.5)
54
- httpclient (2.8.3)
55
- i18n (1.8.10)
56
- concurrent-ruby (~> 1.0)
57
- listen (3.5.1)
58
- rb-fsevent (~> 0.10, >= 0.10.3)
59
- rb-inotify (~> 0.9, >= 0.9.10)
60
- little-plugger (1.1.4)
61
- log4r (1.1.10)
62
- logging (2.3.0)
63
- little-plugger (~> 1.1)
64
- multi_json (~> 1.14)
65
- mime (0.4.4)
66
- mime-types (3.3.1)
67
- mime-types-data (~> 3.2015)
68
- mime-types-data (3.2021.0225)
69
- multi_json (1.15.0)
70
- net-scp (1.2.1)
71
- net-ssh (>= 2.6.5)
72
- net-sftp (3.0.0)
73
- net-ssh (>= 5.0.0, < 7.0.0)
74
- net-ssh (6.1.0)
75
- netrc (0.11.0)
76
- nori (2.6.0)
77
- rb-fsevent (0.11.0)
78
- rb-inotify (0.10.1)
79
- ffi (~> 1.0)
80
- rb-kqueue (0.2.6)
81
- ffi (>= 0.5.0)
82
- rest-client (2.0.2)
83
- http-cookie (>= 1.0.2, < 2.0)
84
- mime-types (>= 1.16, < 4.0)
85
- netrc (~> 0.8)
86
- ruby_dep (1.3.1)
87
- rubyntlm (0.6.3)
88
- rubyzip (2.3.0)
89
- unf (0.1.4)
90
- unf_ext
91
- unf_ext (0.0.7.7)
92
- vagrant_cloud (2.0.3)
93
- rest-client (~> 2.0.2)
94
- wdm (0.1.1)
95
- winrm (2.3.6)
96
- builder (>= 2.1.2)
97
- erubi (~> 1.8)
98
- gssapi (~> 1.2)
99
- gyoku (~> 1.0)
100
- httpclient (~> 2.2, >= 2.2.0.2)
101
- logging (>= 1.6.1, < 3.0)
102
- nori (~> 2.0)
103
- rubyntlm (~> 0.6.0, >= 0.6.3)
104
- winrm-elevated (1.2.3)
105
- erubi (~> 1.8)
106
- winrm (~> 2.0)
107
- winrm-fs (~> 1.0)
108
- winrm-fs (1.3.5)
109
- erubi (~> 1.8)
110
- logging (>= 1.6.1, < 3.0)
111
- rubyzip (~> 2.0)
112
- winrm (~> 2.0)
113
-
114
- PLATFORMS
115
- ruby
116
-
117
- DEPENDENCIES
118
- vagrant!
119
- vagrant-qubes!
120
-
121
- BUNDLED WITH
122
- 2.1.4