hubcap 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 +7 -0
- data/Gemfile.lock +12 -14
- data/hubcap.gemspec +3 -3
- data/lib/hubcap/group.rb +1 -0
- data/lib/hubcap/recipes/puppet.rb +3 -4
- data/lib/hubcap/version.rb +1 -1
- data/test/unit/test_server.rb +16 -1
- metadata +25 -20
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ec9cecf4b71e69d8361217640dca39aef5135028
|
4
|
+
data.tar.gz: 42e2d26f932995b23e2b63c8c3cfc0d6d6e1632a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b91df5081cd0693c3ee1f056c1e50d8c01cce07d7e6caa66916cd06ecfd18a989ef6050bce2720794906e6cc0ae1532bfd84b5463de1cefbe36375374c13f172
|
7
|
+
data.tar.gz: ac8cb0c8e22b6544f34de9b46e7f0d6142846e011392d57186e5ac997884d8412d5f94973003a1edb09366bf9d9daf40caa62cffaddf9d8ad4c22a9ec66cce3f
|
data/Gemfile.lock
CHANGED
@@ -1,29 +1,27 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
hubcap (1.
|
5
|
-
capistrano
|
4
|
+
hubcap (1.1.0)
|
5
|
+
capistrano (~> 2.13)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
capistrano (2.
|
10
|
+
capistrano (2.15.5)
|
11
11
|
highline
|
12
12
|
net-scp (>= 1.0.0)
|
13
13
|
net-sftp (>= 2.0.0)
|
14
14
|
net-ssh (>= 2.0.14)
|
15
15
|
net-ssh-gateway (>= 1.1.0)
|
16
|
-
highline (1.6.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
net-ssh (2.
|
23
|
-
|
24
|
-
|
25
|
-
net-ssh (>= 1.99.1)
|
26
|
-
rake (0.9.2.2)
|
16
|
+
highline (1.6.21)
|
17
|
+
net-scp (1.2.1)
|
18
|
+
net-ssh (>= 2.6.5)
|
19
|
+
net-sftp (2.1.2)
|
20
|
+
net-ssh (>= 2.6.5)
|
21
|
+
net-ssh (2.9.1)
|
22
|
+
net-ssh-gateway (1.2.0)
|
23
|
+
net-ssh (>= 2.6.5)
|
24
|
+
rake (10.3.2)
|
27
25
|
|
28
26
|
PLATFORMS
|
29
27
|
ruby
|
data/hubcap.gemspec
CHANGED
@@ -7,14 +7,14 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.description = 'Create a hub for your server configuration. '+
|
8
8
|
'Use it with Capistrano, Puppet and others.'
|
9
9
|
gem.summary = 'Hubcap Capistrano/Puppet extension'
|
10
|
-
gem.homepage = ''
|
11
|
-
|
10
|
+
gem.homepage = 'https://github.com/joseph/hubcap'
|
11
|
+
gem.licenses = 'MIT'
|
12
12
|
gem.files = `git ls-files`.split($\)
|
13
13
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
14
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
15
|
gem.name = 'hubcap'
|
16
16
|
gem.require_paths = ['lib']
|
17
17
|
gem.version = Hubcap::VERSION
|
18
|
-
gem.add_dependency('capistrano')
|
18
|
+
gem.add_dependency('capistrano', '~> 2.13')
|
19
19
|
gem.add_development_dependency('rake')
|
20
20
|
end
|
data/lib/hubcap/group.rb
CHANGED
@@ -324,6 +324,7 @@ class Hubcap::Group
|
|
324
324
|
def update_with_stringified_keys(dest, src)
|
325
325
|
src.each_pair { |k, v|
|
326
326
|
v = update_with_stringified_keys({}, v) if v.is_a?(Hash)
|
327
|
+
v = v.to_s if v.kind_of?(Symbol) # ensure strings not symbols
|
327
328
|
dest.update(k.to_s => v)
|
328
329
|
}
|
329
330
|
dest
|
@@ -6,6 +6,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
6
6
|
set(:puppet_repository) { raise "Required variable: puppet_repository" }
|
7
7
|
end
|
8
8
|
set(:puppet_branch, 'master')
|
9
|
+
set(:puppet_version, '3.6.2')
|
9
10
|
set(:puppet_path, '/var/www/provision/puppet')
|
10
11
|
set(:puppet_git_password) { Capistrano::CLI.password_prompt }
|
11
12
|
set(:puppet_manifest_path) { "#{puppet_path}/puppet/host.pp" }
|
@@ -59,13 +60,11 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
59
60
|
'fi'
|
60
61
|
].join(' '))
|
61
62
|
|
62
|
-
# 3.0.0-rc5 is the last version that a) runs on Ruby 1.9 and b) works.
|
63
|
-
ppt_ver = '3.0.0.rc5'
|
64
63
|
sudo_bash([
|
65
|
-
"if [[ `gem q -i -n \"^puppet$\" -v #{
|
64
|
+
"if [[ `gem q -i -n \"^puppet$\" -v #{puppet_version}` =~ \"true\" ]]; then",
|
66
65
|
'echo "Puppet verified";',
|
67
66
|
'else',
|
68
|
-
"gem install puppet -v #{
|
67
|
+
"gem install puppet -v #{puppet_version} --no-rdoc --no-ri;",
|
69
68
|
'fi'
|
70
69
|
].join(' '))
|
71
70
|
|
data/lib/hubcap/version.rb
CHANGED
data/test/unit/test_server.rb
CHANGED
@@ -66,6 +66,21 @@ class Hubcap::TestServer < Test::Unit::TestCase
|
|
66
66
|
assert_equal(['1', '2', 'everything.test'], hash['parameters'].values.sort)
|
67
67
|
end
|
68
68
|
|
69
|
+
def test_param_converts_symbols_to_strings
|
70
|
+
hub = Hubcap.hub {
|
71
|
+
server('test') {
|
72
|
+
param(:foo => 1, 'bar' => '2', :baz => :baz)
|
73
|
+
}
|
74
|
+
}
|
75
|
+
hash = YAML.load(hub.servers.first.yaml)
|
76
|
+
%w(foo bar baz).each { |i|
|
77
|
+
assert(hash['parameters'].keys.include?(i), "expected keys to include #{i}")
|
78
|
+
}
|
79
|
+
[1, '2', 'baz'].each { |i|
|
80
|
+
assert(hash['parameters'].values.include?(i), "expected values to include #{i}")
|
81
|
+
}
|
82
|
+
end
|
83
|
+
|
69
84
|
def test_yaml_server_name
|
70
85
|
hub = Hubcap.hub {
|
71
86
|
group('everything') {
|
@@ -143,7 +158,7 @@ class Hubcap::TestServer < Test::Unit::TestCase
|
|
143
158
|
|
144
159
|
def test_host_lookup_handle_circular_reference
|
145
160
|
assert_raises(Hubcap::HostCircularReference) {
|
146
|
-
|
161
|
+
Hubcap.hub {
|
147
162
|
host('some.other.thing' => 'g1.t1')
|
148
163
|
group('g1') {
|
149
164
|
host('g1.t1' => 'some.other.thing')
|
metadata
CHANGED
@@ -1,38 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hubcap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Joseph Pearson
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: capistrano
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
19
|
+
version: '2.13'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.13'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
description: Create a hub for your server configuration. Use it with Capistrano, Puppet
|
37
42
|
and others.
|
38
43
|
email:
|
@@ -70,29 +75,29 @@ files:
|
|
70
75
|
- test/unit/test_hub.rb
|
71
76
|
- test/unit/test_hubcap.rb
|
72
77
|
- test/unit/test_server.rb
|
73
|
-
homepage:
|
74
|
-
licenses:
|
78
|
+
homepage: https://github.com/joseph/hubcap
|
79
|
+
licenses:
|
80
|
+
- MIT
|
81
|
+
metadata: {}
|
75
82
|
post_install_message:
|
76
83
|
rdoc_options: []
|
77
84
|
require_paths:
|
78
85
|
- lib
|
79
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
87
|
requirements:
|
82
|
-
- -
|
88
|
+
- - '>='
|
83
89
|
- !ruby/object:Gem::Version
|
84
90
|
version: '0'
|
85
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
92
|
requirements:
|
88
|
-
- -
|
93
|
+
- - '>='
|
89
94
|
- !ruby/object:Gem::Version
|
90
95
|
version: '0'
|
91
96
|
requirements: []
|
92
97
|
rubyforge_project:
|
93
|
-
rubygems_version:
|
98
|
+
rubygems_version: 2.0.14
|
94
99
|
signing_key:
|
95
|
-
specification_version:
|
100
|
+
specification_version: 4
|
96
101
|
summary: Hubcap Capistrano/Puppet extension
|
97
102
|
test_files:
|
98
103
|
- test/data/example.rb
|