hubcap 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|