hieracles 0.3.5 → 0.3.6
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 +3 -0
- data/bin/hc +4 -1
- data/lib/hieracles/actions.rb +7 -0
- data/lib/hieracles/actions/modules.rb +7 -0
- data/lib/hieracles/registry.rb +30 -5
- data/spec/lib/options/hc_spec.rb +4 -0
- data/spec/lib/registry_spec.rb +2 -2
- metadata +45 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 580fa2b122f177f4e9a901b9dcc6940c721bf45e
|
4
|
+
data.tar.gz: c606cd77e93fd4c9d38d84a89f27790d050b8f36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1b6c1f4e57844360f5ee2c480d6bcb726f053e30e75fff0f3b18c1e55f6e8e15c4d1bced728554de3fcdf82b1f229d1d6176689b3f5a27897e581bea54926ee
|
7
|
+
data.tar.gz: b48b039da054c365cda35829a54f539de888a9192f9f12d934abfeb99596233e18383e96d7b37ce15bee1143c1eca00d9a555433850e5859784d8c7261b2bd16
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
Hieracles Changelog
|
2
2
|
=======================
|
3
3
|
|
4
|
+
### 0.3.6 - 2016-04-27
|
5
|
+
- avoid abusive caching for all farms information
|
6
|
+
|
4
7
|
### 0.3.5 - 2016-02-18
|
5
8
|
- change extraparams separator from ; to , to avoid having to quote argument
|
6
9
|
- fix merge order for extraparams to override configuration and puppetdb values
|
data/bin/hc
CHANGED
@@ -24,7 +24,10 @@ end
|
|
24
24
|
if Hieracles::Format.method_defined? command
|
25
25
|
begin
|
26
26
|
config = Hieracles::Config.new opt.options
|
27
|
-
|
27
|
+
if fqdn[/\./]
|
28
|
+
node = Hieracles::Node.new fqdn, config
|
29
|
+
else
|
30
|
+
end
|
28
31
|
rescue Exception => e
|
29
32
|
puts "*** Error: #{e.message}"
|
30
33
|
exit(1)
|
data/lib/hieracles/registry.rb
CHANGED
@@ -22,23 +22,48 @@ module Hieracles
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
26
|
-
@
|
27
|
-
@
|
25
|
+
def reload_nodes()
|
26
|
+
@_nodes_parameters = {}
|
27
|
+
@_nodes_modules = {}
|
28
|
+
end
|
29
|
+
|
30
|
+
def nodes_parameters(config, env = 'production')
|
31
|
+
@_nodes_parameters ||= {}
|
32
|
+
@_nodes_parameters[env] ||= Dir.glob(File.join(config.encpath, '*.yaml')).sort.reduce({}) do |a, f|
|
33
|
+
fqdn = File.basename(f, '.yaml')
|
34
|
+
a[fqdn] = YAML.load_file(f)['parameters']
|
35
|
+
a
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def nodes_modules(config, env = 'production')
|
40
|
+
@_nodes_modules ||= {}
|
41
|
+
@_nodes_modules[env] ||= Dir.glob(File.join(config.encpath, '*.yaml')).sort.reduce({}) do |a, f|
|
42
|
+
YAML.load_file(f)['classes'].each do |cl|
|
43
|
+
|
44
|
+
end
|
28
45
|
fqdn = File.basename(f, '.yaml')
|
29
46
|
a[fqdn] = YAML.load_file(f)['parameters']
|
30
47
|
a
|
31
48
|
end
|
32
49
|
end
|
33
50
|
|
34
|
-
def farms_counted(config, env = 'production')
|
51
|
+
def farms_counted(config, env = 'production', reload = false)
|
52
|
+
reload_nodes if reload
|
35
53
|
Dir.glob(format(config.classpath, '*')).sort.reduce({}) do |a, f|
|
36
54
|
sub = Regexp.new(".*#{config.classpath.sub(/%s/,'([^/]*)')}")
|
37
55
|
name = f.sub(sub, "\\1")
|
38
|
-
a[name] =
|
56
|
+
a[name] = nodes_parameters(config, env).select { |k, v| v['farm'] == name }.length
|
39
57
|
a
|
40
58
|
end
|
41
59
|
end
|
42
60
|
|
61
|
+
def modules_counted(config, env = 'production', reload = false)
|
62
|
+
reload_nodes if reload
|
63
|
+
Dir.glob(File.join(config.modulepath, '*')).sort.reduce({}) do |acc, mod|
|
64
|
+
acc
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
43
68
|
end
|
44
69
|
end
|
data/spec/lib/options/hc_spec.rb
CHANGED
data/spec/lib/registry_spec.rb
CHANGED
@@ -42,7 +42,7 @@ describe Hieracles::Registry do
|
|
42
42
|
it { expect(Hieracles::Registry.modules config).to eq expected }
|
43
43
|
end
|
44
44
|
|
45
|
-
describe '.
|
45
|
+
describe '.nodes_parameters' do
|
46
46
|
let(:expected) {
|
47
47
|
{
|
48
48
|
'server.example.com' => {
|
@@ -68,7 +68,7 @@ describe Hieracles::Registry do
|
|
68
68
|
}
|
69
69
|
}
|
70
70
|
let(:config) { Hieracles::Config.new options }
|
71
|
-
it { expect(Hieracles::Registry.
|
71
|
+
it { expect(Hieracles::Registry.nodes_parameters config).to eq expected }
|
72
72
|
end
|
73
73
|
|
74
74
|
describe '.farms_counted' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hieracles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mose
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -153,6 +153,8 @@ files:
|
|
153
153
|
- bin/ppdb
|
154
154
|
- hc.1
|
155
155
|
- lib/hieracles.rb
|
156
|
+
- lib/hieracles/actions.rb
|
157
|
+
- lib/hieracles/actions/modules.rb
|
156
158
|
- lib/hieracles/config.rb
|
157
159
|
- lib/hieracles/format.rb
|
158
160
|
- lib/hieracles/formats/console.rb
|
@@ -263,61 +265,61 @@ signing_key:
|
|
263
265
|
specification_version: 4
|
264
266
|
summary: CLI tool for Hiera parameters visualization.
|
265
267
|
test_files:
|
266
|
-
- spec/
|
267
|
-
- spec/files/facts.json
|
268
|
-
- spec/files/farm_modules/dev4.pp
|
269
|
-
- spec/files/farm_modules/dev2.pp
|
270
|
-
- spec/files/farm_modules/dev.pp
|
271
|
-
- spec/files/enc/server2.example.com.yaml
|
272
|
-
- spec/files/enc/server.example.com.yaml
|
273
|
-
- spec/files/enc/server3.example.com.yaml
|
274
|
-
- spec/files/enc/server4.example.com.yaml
|
275
|
-
- spec/files/config.yml
|
276
|
-
- spec/files/hiera_deep.yaml
|
277
|
-
- spec/files/params/nodes/server.example.com.yaml
|
278
|
-
- spec/files/params/farm/dev.yaml
|
279
|
-
- spec/files/params/common/common.yml
|
280
|
-
- spec/files/params/farm_datacenter/dev_dc1.yaml
|
281
|
-
- spec/files/params/farm_datacenter/dev_dc2.yaml
|
268
|
+
- spec/spec_helper.rb
|
282
269
|
- spec/files/hiera_no_yamlbackend.yaml
|
283
|
-
- spec/files/
|
284
|
-
- spec/files/
|
270
|
+
- spec/files/facts.json
|
271
|
+
- spec/files/hiera_columns.yaml
|
272
|
+
- spec/files/ssl/ca.crt
|
285
273
|
- spec/files/ssl/bad-ca.crt
|
286
274
|
- spec/files/ssl/key-pass.pem
|
287
275
|
- spec/files/ssl/cert.crt
|
288
|
-
- spec/files/ssl/
|
276
|
+
- spec/files/ssl/bad-cert.crt
|
289
277
|
- spec/files/ssl/bad-key.pem
|
278
|
+
- spec/files/ssl/key.pem
|
290
279
|
- spec/files/config_withdb.yml
|
291
|
-
- spec/files/
|
280
|
+
- spec/files/params/common/common.yml
|
281
|
+
- spec/files/params/farm_datacenter/dev_dc1.yaml
|
282
|
+
- spec/files/params/farm_datacenter/dev_dc2.yaml
|
283
|
+
- spec/files/params/farm/dev.yaml
|
284
|
+
- spec/files/params/nodes/server.example.com.yaml
|
285
|
+
- spec/files/enc/server2.example.com.yaml
|
286
|
+
- spec/files/enc/server.example.com.yaml
|
287
|
+
- spec/files/enc/server4.example.com.yaml
|
288
|
+
- spec/files/enc/server3.example.com.yaml
|
289
|
+
- spec/files/farm_modules/dev4.pp
|
290
|
+
- spec/files/farm_modules/dev.pp
|
291
|
+
- spec/files/farm_modules/dev2.pp
|
292
292
|
- spec/files/hiera_yamlbackend_notfound.yaml
|
293
|
-
- spec/files/
|
294
|
-
- spec/files/modules/fake_module/manifests/init.pp
|
293
|
+
- spec/files/hiera.yaml
|
295
294
|
- spec/files/modules/fake_module3/manifests/init.pp
|
296
|
-
- spec/files/modules/
|
295
|
+
- spec/files/modules/fake_module/manifests/init.pp
|
297
296
|
- spec/files/modules/fake_module2/manifests/init.pp
|
298
|
-
- spec/files/
|
297
|
+
- spec/files/modules/faux_module2/manifests/init.pp
|
298
|
+
- spec/files/modules/faux_module1/manifests/init.pp
|
299
299
|
- spec/files/facts.yaml
|
300
|
-
- spec/
|
301
|
-
- spec/
|
302
|
-
- spec/
|
303
|
-
- spec/lib/
|
304
|
-
- spec/lib/registry_spec.rb
|
305
|
-
- spec/lib/notification_spec.rb
|
306
|
-
- spec/lib/puppetdb/fixsslconnectionadapter_spec.rb
|
300
|
+
- spec/files/config.yml
|
301
|
+
- spec/files/hiera_deep.yaml
|
302
|
+
- spec/files/hiera_deeper.yaml
|
303
|
+
- spec/lib/node_spec.rb
|
307
304
|
- spec/lib/puppetdb/client_spec.rb
|
308
|
-
- spec/lib/puppetdb/
|
305
|
+
- spec/lib/puppetdb/fixsslconnectionadapter_spec.rb
|
309
306
|
- spec/lib/puppetdb/response_spec.rb
|
310
|
-
- spec/lib/puppetdb/query_spec.rb
|
311
307
|
- spec/lib/puppetdb/request_spec.rb
|
312
|
-
- spec/lib/
|
308
|
+
- spec/lib/puppetdb/apierror_spec.rb
|
309
|
+
- spec/lib/puppetdb/query_spec.rb
|
310
|
+
- spec/lib/hieracles_spec.rb
|
311
|
+
- spec/lib/notification_spec.rb
|
312
|
+
- spec/lib/utils_spec.rb
|
313
313
|
- spec/lib/format_spec.rb
|
314
|
-
- spec/lib/
|
315
|
-
- spec/lib/
|
316
|
-
- spec/lib/node_spec.rb
|
317
|
-
- spec/lib/hiera_spec.rb
|
318
|
-
- spec/lib/formats/csv_spec.rb
|
314
|
+
- spec/lib/config_spec.rb
|
315
|
+
- spec/lib/interpolate_spec.rb
|
319
316
|
- spec/lib/formats/rawyaml_spec.rb
|
320
317
|
- spec/lib/formats/plain_spec.rb
|
321
|
-
- spec/lib/formats/console_spec.rb
|
322
|
-
- spec/lib/formats/yaml_spec.rb
|
323
318
|
- spec/lib/formats/json_spec.rb
|
319
|
+
- spec/lib/formats/yaml_spec.rb
|
320
|
+
- spec/lib/formats/csv_spec.rb
|
321
|
+
- spec/lib/formats/console_spec.rb
|
322
|
+
- spec/lib/options/hc_spec.rb
|
323
|
+
- spec/lib/optparse_spec.rb
|
324
|
+
- spec/lib/registry_spec.rb
|
325
|
+
- spec/lib/hiera_spec.rb
|