vagrant-qubes 0.0.3 → 0.0.5

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
  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