vagrant-config_builder 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +16 -8
- data/CHANGELOG +22 -0
- data/Gemfile +20 -10
- data/lib/config_builder/action/version_check.rb +27 -0
- data/lib/config_builder/model/provider/openstack.rb +63 -2
- data/lib/config_builder/model/provider/vsphere.rb +5 -6
- data/lib/config_builder/model/provisioner/puppet.rb +4 -0
- data/lib/config_builder/model/provisioner/shell.rb +12 -0
- data/lib/config_builder/model/ssh.rb +8 -0
- data/lib/config_builder/model/vm.rb +6 -0
- data/lib/config_builder/model/winrm.rb +8 -0
- data/lib/config_builder/plugin.rb +6 -0
- data/lib/config_builder/util.rb +18 -0
- data/lib/config_builder/version.rb +1 -1
- data/spec/integration/vagrant/root_config_spec.rb +1 -1
- data/spec/integration/vagrant/vm_config_spec.rb +9 -3
- data/spec/integration/vagrant/vm_provisioner_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/loader/yaml_spec.rb +1 -1
- data/templates/locales/en.yml +6 -0
- data/vagrant-config_builder.gemspec +2 -3
- metadata +8 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c5ce9607d311e29f749b934d94c2f8a74a73a19
|
4
|
+
data.tar.gz: 3d079a027ca05dbcd2d149164226093b23bffa89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d41a52619b848d2464e294e13f148ef81bdc3251614351f06396ad8516fca5c2c4f0e3329df84548b73e61e5d11f8e1db30fa7c743ce28d0b8c7a4424fc5a9d0
|
7
|
+
data.tar.gz: 00f2b5a3875857ac7011f99de093ddc57aa8fc349d7be98679ab84f3678093cd4715b8072471f6736869114a816fb40ea7611dd67a350a812603d6d5900d801d
|
data/.travis.yml
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
language: ruby
|
3
3
|
sudo: false
|
4
4
|
before_install:
|
5
|
+
# TODO: Remove along with all BUNDLER_VERSION hackery once support for
|
6
|
+
# Vagrant < 1.9 is dropped.
|
7
|
+
#
|
8
|
+
# Travis has taken to installing Bundler as a "default" gem which locks
|
9
|
+
# it down and makes it extremely frustrating to use a different version.
|
10
|
+
- "find /home/travis/.rvm/rubies -wholename '*default/bundler-*.gemspec' -delete"
|
5
11
|
- gem install bundler --version $BUNDLER_VERSION
|
6
12
|
install: bundle _${BUNDLER_VERSION}_ install --without development
|
7
13
|
script: bundle _${BUNDLER_VERSION}_ exec rspec --color --format documentation
|
@@ -14,13 +20,15 @@ env:
|
|
14
20
|
|
15
21
|
matrix:
|
16
22
|
include:
|
17
|
-
- rvm: 2.0.0
|
18
|
-
env: TEST_VAGRANT_VERSION=v1.6.5 BUNDLER_VERSION=1.6.9
|
19
23
|
- rvm: 2.0.0
|
20
24
|
env: TEST_VAGRANT_VERSION=v1.7.4 BUNDLER_VERSION=1.10.5
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
- rvm: 2.2.5
|
26
|
+
env: TEST_VAGRANT_VERSION=v1.8.7 BUNDLER_VERSION=1.12.5
|
27
|
+
- rvm: 2.3.4
|
28
|
+
env: TEST_VAGRANT_VERSION=v1.9.8 BUNDLER_VERSION=1.16.1
|
29
|
+
- rvm: 2.4.4
|
30
|
+
env: TEST_VAGRANT_VERSION=v2.0.4 BUNDLER_VERSION=1.16.1
|
31
|
+
- rvm: 2.4.4
|
32
|
+
env: TEST_VAGRANT_VERSION=v2.1.2 BUNDLER_VERSION=1.16.1
|
33
|
+
- rvm: 2.4.4
|
34
|
+
env: TEST_VAGRANT_VERSION=HEAD BUNDLER_VERSION=1.16.1
|
data/CHANGELOG
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
1.3.0
|
5
|
+
-----
|
6
|
+
|
7
|
+
2018-08-15
|
8
|
+
|
9
|
+
This is a backwards compatible feature release.
|
10
|
+
|
11
|
+
* Added test coverage for Vagrant 1.9, 2.0, and 2.1
|
12
|
+
|
13
|
+
* Deprecated support for vagrant versions earlier than 1.8. These will be
|
14
|
+
removed in the next major release.
|
15
|
+
|
16
|
+
* Synced OpenStack provider options with vagrant-openstack-provider 0.13.0.
|
17
|
+
|
18
|
+
* Synced OpenStack volume_boot option is patched suport merging of multiple
|
19
|
+
configuration blocks.
|
20
|
+
|
21
|
+
* Synced vSphere provider options with vagrant-vsphere 1.13.2.
|
22
|
+
|
23
|
+
* Synced core Vagrant options with Vagrant 2.1.2.
|
24
|
+
|
25
|
+
|
4
26
|
1.2.0
|
5
27
|
-----
|
6
28
|
|
data/Gemfile
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
|
+
require 'rubygems/version'
|
2
3
|
|
3
|
-
ENV['TEST_VAGRANT_VERSION']
|
4
|
+
vagrant_branch = ENV['TEST_VAGRANT_VERSION'] || 'v2.1.2'
|
5
|
+
vagrant_version = nil
|
4
6
|
|
5
7
|
# Wrapping gemspec in the :plugins group causes Vagrant 1.5 and newer to
|
6
8
|
# automagically load this plugin during acceptance tests.
|
@@ -9,22 +11,30 @@ group :plugins do
|
|
9
11
|
end
|
10
12
|
|
11
13
|
group :development do
|
12
|
-
gem 'yard', '~> 0.
|
14
|
+
gem 'yard', '~> 0.9.11'
|
13
15
|
gem 'redcarpet'
|
14
16
|
end
|
15
17
|
|
16
18
|
group :test do
|
17
|
-
|
18
|
-
|
19
|
+
case vagrant_branch
|
20
|
+
when /head/i
|
21
|
+
gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
|
22
|
+
:branch => 'master'
|
19
23
|
else
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
gem 'rack', '< 2'
|
24
|
+
vagrant_version = Gem::Version.new(vagrant_branch.sub(/^v/, ''))
|
25
|
+
gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git',
|
26
|
+
:tag => vagrant_branch
|
24
27
|
end
|
25
28
|
|
26
|
-
|
27
|
-
|
29
|
+
if vagrant_branch.match(/head/i) || (vagrant_version > Gem::Version.new('1.9'))
|
30
|
+
# Pinned on 2018-06-27. Compatible with Vagrant > 1.9. Brings in Rspec 3.
|
31
|
+
gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
|
32
|
+
:ref => '9413ab2'
|
33
|
+
elsif vagrant_version
|
34
|
+
# Pinned on 2014-12-10. Compatible with Vagrant 1.6.x -- 1.8.7.
|
35
|
+
gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
|
36
|
+
:ref => '1df5a3a'
|
37
|
+
end
|
28
38
|
end
|
29
39
|
|
30
40
|
eval_gemfile "#{__FILE__}.local" if File.exists? "#{__FILE__}.local"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'vagrant/version'
|
2
|
+
require 'rubygems/version'
|
3
|
+
|
4
|
+
# Check for deprecated Vagrant versions
|
5
|
+
module ConfigBuilder
|
6
|
+
module Action
|
7
|
+
class VersionCheck
|
8
|
+
MINIMUM_VERSION = '1.8.0'
|
9
|
+
|
10
|
+
def initialize(app, env)
|
11
|
+
@app = app
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(env)
|
15
|
+
unless Gem::Version.new(Vagrant::VERSION) > Gem::Version.new(MINIMUM_VERSION)
|
16
|
+
env[:env].ui.warn I18n.t(
|
17
|
+
'config_builder.action.version_check.deprecated_vagrant_version',
|
18
|
+
minimum_version: MINIMUM_VERSION,
|
19
|
+
vagrant_version: Vagrant::VERSION
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
@app.call(env)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'config_builder/util'
|
2
|
+
|
1
3
|
# @see https://github.com/ggiamarchi/vagrant-openstack-provider
|
2
4
|
class ConfigBuilder::Model::Provider::Openstack < ConfigBuilder::Model::Provider::Base
|
3
5
|
|
@@ -13,12 +15,16 @@ class ConfigBuilder::Model::Provider::Openstack < ConfigBuilder::Model::Provider
|
|
13
15
|
def_model_attribute :openstack_image_url
|
14
16
|
def_model_attribute :openstack_orchestration_url
|
15
17
|
def_model_attribute :endpoint_type
|
18
|
+
def_model_attribute :ssl_ca_file
|
19
|
+
def_model_attribute :ssl_verify_peer
|
16
20
|
|
17
21
|
# Keystone v3 Credentials
|
18
22
|
def_model_attribute :identity_api_version
|
19
23
|
def_model_attribute :domain_name
|
20
24
|
def_model_attribute :project_name
|
25
|
+
def_model_attribute :project_domain_name
|
21
26
|
def_model_attribute :interface_type
|
27
|
+
def_model_attribute :user_domain_name
|
22
28
|
|
23
29
|
# VM Configuration
|
24
30
|
def_model_attribute :server_name
|
@@ -28,7 +34,9 @@ class ConfigBuilder::Model::Provider::Openstack < ConfigBuilder::Model::Provider
|
|
28
34
|
def_model_attribute :security_groups
|
29
35
|
def_model_attribute :user_data
|
30
36
|
def_model_attribute :metadata
|
37
|
+
def_model_attribute :meta_args_support
|
31
38
|
def_model_attribute :scheduler_hints
|
39
|
+
def_model_attribute :use_legacy_synced_folders
|
32
40
|
|
33
41
|
# Floating IPs
|
34
42
|
def_model_attribute :floating_ip
|
@@ -64,12 +72,65 @@ class ConfigBuilder::Model::Provider::Openstack < ConfigBuilder::Model::Provider
|
|
64
72
|
def_model_attribute :server_active_timeout
|
65
73
|
def_model_attribute :server_stop_timeout
|
66
74
|
def_model_attribute :server_delete_timeout
|
67
|
-
def_model_attribute :
|
68
|
-
def_model_attribute :
|
75
|
+
def_model_attribute :http
|
76
|
+
def_model_attribute :floating_ip_assign_timeout
|
77
|
+
|
78
|
+
@@patch_applied = false
|
79
|
+
|
80
|
+
def initialize
|
81
|
+
unless @@patch_applied
|
82
|
+
require 'vagrant-openstack-provider/config'
|
83
|
+
# FIXME: YAY MONKEYPATCHING
|
84
|
+
::VagrantPlugins::Openstack::Config.prepend(OpenStackConfigPatch)
|
85
|
+
@@patch_applied = true
|
86
|
+
end
|
87
|
+
end
|
69
88
|
|
70
89
|
def instance_id
|
71
90
|
'openstack'
|
72
91
|
end
|
73
92
|
|
93
|
+
# @private
|
94
|
+
def configure_http(config, val)
|
95
|
+
val.each do |k, v|
|
96
|
+
case k.to_sym
|
97
|
+
when :open_timeout
|
98
|
+
config.http.open_timeout = val
|
99
|
+
when :read_timeout
|
100
|
+
config.http.read_timeout = val
|
101
|
+
when :proxy
|
102
|
+
config.http.proxy = val
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# @private
|
108
|
+
def configure_volume_boot(config, val)
|
109
|
+
config.volume_boot = ConfigBuilder::Util.symbolize(val)
|
110
|
+
end
|
111
|
+
|
74
112
|
ConfigBuilder::Model::Provider.register('openstack', self)
|
113
|
+
|
114
|
+
# FIXME: PR this change to vagrant-openstack-provider. If a PR is not
|
115
|
+
# accepted, then update the role filter to merge all provider hashes
|
116
|
+
# into a single configuration block per-vm so that we don't have to
|
117
|
+
# worry about how providers feel or don't feel about the subject of
|
118
|
+
# merging.
|
119
|
+
module OpenStackConfigPatch
|
120
|
+
# A patch for the merge behavior of OpenStack::Config instances that
|
121
|
+
# allows us to merge volume boot settings together. Unpatched OpenStack
|
122
|
+
# just discards its current config and accepts whatever the new config is.
|
123
|
+
# In our case this would be a fragment of a complete volume_boot setting.
|
124
|
+
def merge(other)
|
125
|
+
result = super(other)
|
126
|
+
# Could be UNSET_VALUE or nil
|
127
|
+
current_config = self.volume_boot.is_a?(Hash) ? self.volume_boot : {}
|
128
|
+
new_config = other.volume_boot.is_a?(Hash) ? other.volume_boot : {}
|
129
|
+
|
130
|
+
return result if (current_config.empty? && new_config.empty?)
|
131
|
+
|
132
|
+
result.instance_variable_set(:@volume_boot, current_config.merge(new_config))
|
133
|
+
result
|
134
|
+
end
|
135
|
+
end
|
75
136
|
end
|
@@ -24,14 +24,13 @@ class ConfigBuilder::Model::Provider::Vsphere< ConfigBuilder::Model::Provider::B
|
|
24
24
|
def_model_attribute :cpu_count
|
25
25
|
def_model_attribute :cpu_reservation
|
26
26
|
def_model_attribute :mem_reservation
|
27
|
+
def_model_attribute :real_nic_ip
|
28
|
+
def_model_attribute :ip_address_timeout
|
29
|
+
def_model_attribute :wait_for_sysprep
|
27
30
|
|
28
31
|
def_model_attribute :custom_attributes
|
29
|
-
|
30
|
-
|
31
|
-
@defaults = {
|
32
|
-
:insecure => false,
|
33
|
-
}
|
34
|
-
end
|
32
|
+
def_model_attribute :extra_config
|
33
|
+
def_model_attribute :notes
|
35
34
|
|
36
35
|
def instance_id
|
37
36
|
'vsphere'
|
@@ -43,6 +43,10 @@ class ConfigBuilder::Model::Provisioner::Puppet < ConfigBuilder::Model::Provisio
|
|
43
43
|
# @return [String] Path to the directory that contains environment files on the host disk.
|
44
44
|
def_model_attribute :environment_path
|
45
45
|
|
46
|
+
# @!attribute [rw] environment_variables
|
47
|
+
# @return [Hash]
|
48
|
+
def_model_attribute :environment_variables
|
49
|
+
|
46
50
|
# @!attribute [rw] synced_folder_type
|
47
51
|
# @return [String] The type of synced folders to use when sharing the data required for the provisioner to work properly.
|
48
52
|
def_model_attribute :synced_folder_type
|
@@ -41,5 +41,17 @@ class ConfigBuilder::Model::Provisioner::Shell < ConfigBuilder::Model::Provision
|
|
41
41
|
# @return [Boolean] Whether to run an elevated script in interactive mode on Windows.
|
42
42
|
def_model_attribute :powershell_elevated_interactive
|
43
43
|
|
44
|
+
# @!attribute [rw] md5
|
45
|
+
# @return [String]
|
46
|
+
def_model_attribute :md5
|
47
|
+
|
48
|
+
# @!attribute [rw] sha1
|
49
|
+
# @return [String]
|
50
|
+
def_model_attribute :sha1
|
51
|
+
|
52
|
+
# @!attribute [rw] sensitive
|
53
|
+
# @return [Boolean]
|
54
|
+
def_model_attribute :sensitive
|
55
|
+
|
44
56
|
ConfigBuilder::Model::Provisioner.register('shell', self)
|
45
57
|
end
|
@@ -2,6 +2,10 @@
|
|
2
2
|
#
|
3
3
|
# @see http://docs.vagrantup.com/v2/vagrantfile/ssh_settings.html
|
4
4
|
class ConfigBuilder::Model::SSH < ConfigBuilder::Model::Base
|
5
|
+
# @!attribute [rw] export_command_template
|
6
|
+
# @return [String]
|
7
|
+
def_model_attribute :export_command_template
|
8
|
+
|
5
9
|
# @!attribute [rw] username
|
6
10
|
# @return [String] This sets the username that Vagrant will SSH as by
|
7
11
|
# default. Providers are free to override this if they detect a more
|
@@ -104,6 +108,10 @@ class ConfigBuilder::Model::SSH < ConfigBuilder::Model::Base
|
|
104
108
|
# command that is being executed.
|
105
109
|
def_model_attribute :sudo_command
|
106
110
|
|
111
|
+
# @!attribute [rw] ssh_command
|
112
|
+
# @return [String]
|
113
|
+
def_model_attribute :ssh_command
|
114
|
+
|
107
115
|
def to_proc
|
108
116
|
Proc.new do |global_config|
|
109
117
|
ssh = global_config.ssh
|
@@ -93,6 +93,12 @@ class ConfigBuilder::Model::VM < ConfigBuilder::Model::Base
|
|
93
93
|
# start.
|
94
94
|
def_model_option :autostart
|
95
95
|
|
96
|
+
# @!attribute [rw] primary
|
97
|
+
# @return [Boolean] If true, the box will be the default machine used when
|
98
|
+
# a specific machine in a multi-machine environment is not specified.
|
99
|
+
# If false, vagrant must be given the box name explicitly for some commands.
|
100
|
+
def_model_option :primary
|
101
|
+
|
96
102
|
# @!attribute [rw] allowed_synced_folder_types
|
97
103
|
# @return [Array<String>]
|
98
104
|
def_model_attribute :allowed_synced_folder_types
|
@@ -2,6 +2,14 @@
|
|
2
2
|
#
|
3
3
|
# @see http://docs.vagrantup.com/v2/vagrantfile
|
4
4
|
class ConfigBuilder::Model::WinRM < ConfigBuilder::Model::Base
|
5
|
+
# @!attribute [rw] basic_auth_only
|
6
|
+
# @return [Boolean]
|
7
|
+
def_model_attribute :basic_auth_only
|
8
|
+
|
9
|
+
# @!attribute [rw] codepage
|
10
|
+
# @return [String]
|
11
|
+
def_model_attribute :codepage
|
12
|
+
|
5
13
|
# @!attribute [rw] username
|
6
14
|
# @return [String] This sets the username that Vagrant will WinRM as by
|
7
15
|
# default. Providers are free to override this if they detect a more
|
@@ -10,6 +10,12 @@ module VagrantPlugins
|
|
10
10
|
action_hook('ConfigBuilder: load extensions', :environment_load) do |hook|
|
11
11
|
hook.prepend(::ConfigBuilder::Action::LoadExtensions)
|
12
12
|
end
|
13
|
+
|
14
|
+
# Internal action hooks
|
15
|
+
action_hook('Vagrant Config Builder: vagrant version check', :environment_load) do |hook|
|
16
|
+
require 'config_builder/action/version_check'
|
17
|
+
hook.prepend(::ConfigBuilder::Action::VersionCheck)
|
18
|
+
end
|
13
19
|
end
|
14
20
|
end
|
15
21
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module ConfigBuilder
|
2
|
+
# Utility functions.
|
3
|
+
module Util
|
4
|
+
# Recursively cast hash keys to symbols
|
5
|
+
#
|
6
|
+
# @param hash [Hash] A hash of keys and values.
|
7
|
+
#
|
8
|
+
# @return [Hash] The same hash, but with all keys transformed to symbols.
|
9
|
+
def self.symbolize(hash)
|
10
|
+
transformed_data = hash.map do |k, v|
|
11
|
+
v = symbolize(v) if v.is_a?(Hash)
|
12
|
+
[k.to_sym, v]
|
13
|
+
end
|
14
|
+
|
15
|
+
Hash[transformed_data]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -30,7 +30,7 @@ describe 'Vagrant Integration: ConfigBuilder::Model::Root' do
|
|
30
30
|
subject { root_config.ssh }
|
31
31
|
|
32
32
|
it 'sets Vagrant config.ssh parameters' do
|
33
|
-
expect(subject.insert_key).to
|
33
|
+
expect(subject.insert_key).to be_falsey
|
34
34
|
expect(subject.username).to eq 'AzureDiamond'
|
35
35
|
expect(subject.password).to eq 'hunter2'
|
36
36
|
end
|
@@ -22,7 +22,7 @@ describe 'Vagrant Integration: ConfigBuilder::Model::VM' do
|
|
22
22
|
let(:config_data) {
|
23
23
|
{'vms' =>
|
24
24
|
[
|
25
|
-
{'name' => 'machine1'},
|
25
|
+
{'name' => 'machine1', 'primary' => true},
|
26
26
|
{'name' => 'machine2', 'autostart' => false},
|
27
27
|
]
|
28
28
|
}
|
@@ -37,7 +37,13 @@ describe 'Vagrant Integration: ConfigBuilder::Model::VM' do
|
|
37
37
|
it 'sets the autostart option when defining machines' do
|
38
38
|
test_vm = subject.defined_vms[:machine2]
|
39
39
|
|
40
|
-
expect(test_vm.options[:autostart]).to
|
40
|
+
expect(test_vm.options[:autostart]).to be_falsey
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'sets the primary option when defining machines' do
|
44
|
+
test_vm = subject.defined_vms[:machine1]
|
45
|
+
|
46
|
+
expect(test_vm.options[:primary]).to be_truthy
|
41
47
|
end
|
42
48
|
end
|
43
49
|
|
@@ -82,7 +88,7 @@ describe 'Vagrant Integration: ConfigBuilder::Model::VM' do
|
|
82
88
|
end
|
83
89
|
|
84
90
|
it 'configures Vagrant synced folders' do
|
85
|
-
expect(subject.synced_folders['/vagrant'][:disabled]).to
|
91
|
+
expect(subject.synced_folders['/vagrant'][:disabled]).to be_truthy
|
86
92
|
end
|
87
93
|
|
88
94
|
it 'configures Vagrant private networks' do
|
@@ -36,7 +36,7 @@ describe 'Vagrant Integration: ConfigBuilder::Model::Provisioner' do
|
|
36
36
|
subject { env.machine(:test, :dummy).config.vm }
|
37
37
|
|
38
38
|
it 'defines provisioners' do
|
39
|
-
expect(subject.provisioners).to
|
39
|
+
expect(subject.provisioners.length).to eq(2)
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'sets provisioner names' do
|
data/spec/spec_helper.rb
CHANGED
@@ -3,6 +3,7 @@ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
|
3
3
|
# Disable Vagrant autoloading so that other plugins defined in the Gemfile for
|
4
4
|
# Acceptance tests are not loaded.
|
5
5
|
ENV['VAGRANT_NO_PLUGINS'] = '1'
|
6
|
+
ENV['VAGRANT_DISABLE_PLUGIN_INIT'] = '1'
|
6
7
|
|
7
8
|
require 'vagrant-spec/unit'
|
8
9
|
require 'config_builder'
|
data/templates/locales/en.yml
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
---
|
2
2
|
en:
|
3
3
|
config_builder:
|
4
|
+
action:
|
5
|
+
version_check:
|
6
|
+
deprecated_vagrant_version: |-
|
7
|
+
The vagrant-hosts plugin has deprecated support for Vagrant
|
8
|
+
versions older than %{minimum_version}. Support for version %{vagrant_version}
|
9
|
+
will be removed in the next major release of the plugin.
|
4
10
|
class_registry:
|
5
11
|
unknown_entry: |-
|
6
12
|
Unable to locate a class associated with the identifier %{identifier} in the registry
|
@@ -12,14 +12,13 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.homepage = 'https://github.com/oscar-stack/vagrant-config_builder'
|
13
13
|
|
14
14
|
gem.has_rdoc = true
|
15
|
-
gem.license = 'Apache
|
15
|
+
gem.license = 'Apache-2.0'
|
16
16
|
|
17
17
|
gem.files = %x{git ls-files -z}.split("\0")
|
18
18
|
gem.require_path = 'lib'
|
19
19
|
|
20
|
-
gem.add_runtime_dependency 'deep_merge', '~> 1.0
|
20
|
+
gem.add_runtime_dependency 'deep_merge', '~> 1.0'
|
21
21
|
|
22
22
|
# Pinned for compatibility with vagrant-spec.
|
23
23
|
gem.add_development_dependency 'rake', '~> 10.0'
|
24
|
-
gem.add_development_dependency 'rspec', '~> 2.14.0'
|
25
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-config_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-08-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: deep_merge
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.0
|
20
|
+
version: '1.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.0
|
27
|
+
version: '1.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,20 +39,6 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '10.0'
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: rspec
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: 2.14.0
|
49
|
-
type: :development
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - "~>"
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 2.14.0
|
56
42
|
description:
|
57
43
|
email:
|
58
44
|
- adrien@somethingsinistral.net
|
@@ -76,6 +62,7 @@ files:
|
|
76
62
|
- examples/vms.yaml
|
77
63
|
- lib/config_builder.rb
|
78
64
|
- lib/config_builder/action/load_extensions.rb
|
65
|
+
- lib/config_builder/action/version_check.rb
|
79
66
|
- lib/config_builder/class_registry.rb
|
80
67
|
- lib/config_builder/extension_handler.rb
|
81
68
|
- lib/config_builder/filter.rb
|
@@ -117,6 +104,7 @@ files:
|
|
117
104
|
- lib/config_builder/model_delegator.rb
|
118
105
|
- lib/config_builder/plugin.rb
|
119
106
|
- lib/config_builder/runner.rb
|
107
|
+
- lib/config_builder/util.rb
|
120
108
|
- lib/config_builder/version.rb
|
121
109
|
- lib/vagrant-config_builder.rb
|
122
110
|
- spec/integration/vagrant/root_config_spec.rb
|
@@ -134,7 +122,7 @@ files:
|
|
134
122
|
- vagrant-config_builder.gemspec
|
135
123
|
homepage: https://github.com/oscar-stack/vagrant-config_builder
|
136
124
|
licenses:
|
137
|
-
- Apache
|
125
|
+
- Apache-2.0
|
138
126
|
metadata: {}
|
139
127
|
post_install_message:
|
140
128
|
rdoc_options: []
|
@@ -152,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
140
|
version: '0'
|
153
141
|
requirements: []
|
154
142
|
rubyforge_project:
|
155
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.6.13
|
156
144
|
signing_key:
|
157
145
|
specification_version: 4
|
158
146
|
summary: Generate Vagrant configurations from arbitrary data
|