vagrant-dotvm 0.30.0 → 0.31.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/vagrant-dotvm.rb +3 -0
- data/lib/vagrant-dotvm/config/buildimage.rb +10 -0
- data/lib/vagrant-dotvm/config/provision.rb +29 -0
- data/lib/vagrant-dotvm/config/run.rb +15 -0
- data/lib/vagrant-dotvm/injector/authorizedkey.rb +1 -1
- data/lib/vagrant-dotvm/injector/host.rb +1 -1
- data/lib/vagrant-dotvm/injector/provision.rb +26 -0
- data/lib/vagrant-dotvm/injector/route.rb +1 -1
- data/lib/vagrant-dotvm/pathes.rb +5 -0
- data/lib/vagrant-dotvm/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acc52b4f98f4aa98e7693a14a72fb982f7ee4c6a
|
4
|
+
data.tar.gz: 869ed4c1f28ce6bf71297322027d01b316ac0820
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c48a592dc80dc609e7188ff8a1e397b29c5fe59ec51bcfc079a44aba888e224f15ec6a6662103c72f4e841edaa86a281ed719f5c847909043793274e4b52dd5
|
7
|
+
data.tar.gz: 633e6bcf76edec1a5c768a0807952a64d4afa07650ba45252fe6d297b457af78470085ac58804459dfaae153c7eb902b92bc314b91104d5d5a144bff85a3c83f
|
data/CHANGELOG.md
CHANGED
data/lib/vagrant-dotvm.rb
CHANGED
@@ -3,6 +3,7 @@ require 'yaml'
|
|
3
3
|
|
4
4
|
require 'vagrant-dotvm/plugin'
|
5
5
|
require 'vagrant-dotvm/version'
|
6
|
+
require 'vagrant-dotvm/pathes'
|
6
7
|
require 'vagrant-dotvm/dotvm'
|
7
8
|
|
8
9
|
require 'vagrant-dotvm/injector/root'
|
@@ -24,3 +25,5 @@ require 'vagrant-dotvm/config/sharedfolder'
|
|
24
25
|
require 'vagrant-dotvm/config/option'
|
25
26
|
require 'vagrant-dotvm/config/route'
|
26
27
|
require 'vagrant-dotvm/config/network'
|
28
|
+
require 'vagrant-dotvm/config/buildimage'
|
29
|
+
require 'vagrant-dotvm/config/run'
|
@@ -122,6 +122,35 @@ module VagrantPlugins
|
|
122
122
|
attr_accessor :recipes # chef
|
123
123
|
attr_accessor :roles # chef
|
124
124
|
attr_accessor :pillar
|
125
|
+
|
126
|
+
attr_accessor :images
|
127
|
+
attr_accessor :build_images
|
128
|
+
attr_accessor :runs
|
129
|
+
|
130
|
+
def initialize
|
131
|
+
@build_images = []
|
132
|
+
@runs = []
|
133
|
+
end
|
134
|
+
|
135
|
+
def populate_build_images(data)
|
136
|
+
raise "'build_images' must be array." unless data.kind_of?(Array) || data.kind_of?(NilClass)
|
137
|
+
|
138
|
+
data.to_a.each do |conf|
|
139
|
+
item = BuildImage.new
|
140
|
+
item.populate conf
|
141
|
+
@build_images << item
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
def populate_runs(data)
|
146
|
+
raise "'runs' must be array." unless data.kind_of?(Array) || data.kind_of?(NilClass)
|
147
|
+
|
148
|
+
data.to_a.each do |conf|
|
149
|
+
item = Run.new
|
150
|
+
item.populate conf
|
151
|
+
@runs << item
|
152
|
+
end
|
153
|
+
end
|
125
154
|
end
|
126
155
|
end
|
127
156
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module Dotvm
|
3
|
+
module Config
|
4
|
+
class Run < AbstractConfig
|
5
|
+
attr_accessor :name
|
6
|
+
attr_accessor :image
|
7
|
+
attr_accessor :cmd
|
8
|
+
attr_accessor :args
|
9
|
+
attr_accessor :auto_assign_name
|
10
|
+
attr_accessor :daemonize
|
11
|
+
attr_accessor :restart
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -4,7 +4,7 @@ module VagrantPlugins
|
|
4
4
|
class Host
|
5
5
|
def self.inject(host: nil, machine: nil)
|
6
6
|
machine.vm.provision "shell", run: "always" do |s|
|
7
|
-
s.path =
|
7
|
+
s.path = "#{UTILS_PATH}/add_host.sh"
|
8
8
|
s.args = [host.ip, host.host]
|
9
9
|
s.privileged = true
|
10
10
|
end
|
@@ -119,6 +119,16 @@ module VagrantPlugins
|
|
119
119
|
:delete_node,
|
120
120
|
:delete_client,
|
121
121
|
:recipe,
|
122
|
+
:images,
|
123
|
+
]
|
124
|
+
|
125
|
+
RUNS_OPTIONS = [
|
126
|
+
:image,
|
127
|
+
:cmd,
|
128
|
+
:args,
|
129
|
+
:auto_assign_name,
|
130
|
+
:daemonize,
|
131
|
+
:restart,
|
122
132
|
]
|
123
133
|
|
124
134
|
public
|
@@ -138,6 +148,22 @@ module VagrantPlugins
|
|
138
148
|
end
|
139
149
|
|
140
150
|
p.pillar provision_cfg.pillar unless provision_cfg.pillar.nil?
|
151
|
+
|
152
|
+
provision_cfg.build_images.to_a.each do |image|
|
153
|
+
args = {}
|
154
|
+
args[:args] = image.args unless image.args.nil?
|
155
|
+
p.build_image image.image, **args
|
156
|
+
end
|
157
|
+
|
158
|
+
provision_cfg.runs.to_a.each do |run|
|
159
|
+
args = {}
|
160
|
+
RUNS_OPTIONS.each do |opt|
|
161
|
+
val = run.send(opt)
|
162
|
+
args[opt] = val unless val.nil?
|
163
|
+
end
|
164
|
+
|
165
|
+
p.run run.name, **args
|
166
|
+
end
|
141
167
|
end
|
142
168
|
end
|
143
169
|
end
|
@@ -4,7 +4,7 @@ module VagrantPlugins
|
|
4
4
|
class Route
|
5
5
|
def self.inject(route: nil, machine: nil)
|
6
6
|
machine.vm.provision "shell", run: "always" do |s|
|
7
|
-
s.path =
|
7
|
+
s.path = "#{UTILS_PATH}/setup_route.sh"
|
8
8
|
s.args = [route.destination, route.gateway]
|
9
9
|
s.privileged = true
|
10
10
|
end
|
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.
|
4
|
+
version: 0.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Magosa
|
@@ -62,6 +62,7 @@ files:
|
|
62
62
|
- lib/vagrant-dotvm.rb
|
63
63
|
- lib/vagrant-dotvm/config/abstractconfig.rb
|
64
64
|
- lib/vagrant-dotvm/config/authorizedkey.rb
|
65
|
+
- lib/vagrant-dotvm/config/buildimage.rb
|
65
66
|
- lib/vagrant-dotvm/config/host.rb
|
66
67
|
- lib/vagrant-dotvm/config/machine.rb
|
67
68
|
- lib/vagrant-dotvm/config/network.rb
|
@@ -69,6 +70,7 @@ files:
|
|
69
70
|
- lib/vagrant-dotvm/config/provision.rb
|
70
71
|
- lib/vagrant-dotvm/config/root.rb
|
71
72
|
- lib/vagrant-dotvm/config/route.rb
|
73
|
+
- lib/vagrant-dotvm/config/run.rb
|
72
74
|
- lib/vagrant-dotvm/config/sharedfolder.rb
|
73
75
|
- lib/vagrant-dotvm/dotvm.rb
|
74
76
|
- lib/vagrant-dotvm/injector/authorizedkey.rb
|
@@ -79,6 +81,7 @@ files:
|
|
79
81
|
- lib/vagrant-dotvm/injector/root.rb
|
80
82
|
- lib/vagrant-dotvm/injector/route.rb
|
81
83
|
- lib/vagrant-dotvm/injector/sharedfolder.rb
|
84
|
+
- lib/vagrant-dotvm/pathes.rb
|
82
85
|
- lib/vagrant-dotvm/plugin.rb
|
83
86
|
- lib/vagrant-dotvm/version.rb
|
84
87
|
- utils/add_host.sh
|