Class: Dropsonde
- Inherits:
-
Object
show all
- Defined in:
- lib/dropsonde.rb,
lib/dropsonde/version.rb
Overview
This class handles caching module process, generate reports, fetchs all plugins defined in lib/dropsonde/metrics and also handle connection and request to PuppetDB.
Defined Under Namespace
Classes: Cache, Metrics, Submitter
Constant Summary
collapse
- VERSION =
'0.1.0'
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.settings ⇒ Object
Returns the value of attribute settings.
62
63
64
|
# File 'lib/dropsonde.rb', line 62
def settings
@settings
end
|
Class Method Details
.generate_example(size, filename) ⇒ Object
96
97
98
99
100
101
102
103
104
|
# File 'lib/dropsonde.rb', line 96
def self.generate_example(size, filename)
metrics = Dropsonde::Metrics.new
File.open(filename, 'w') do |file|
(0...size).each do |_i|
file.write(metrics.example.to_json)
file.write("\n")
end
end
end
|
.generate_report(format, puppetdb_session = nil) ⇒ Object
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/dropsonde.rb', line 74
def self.generate_report(format, puppetdb_session = nil)
case format
when 'json'
puts JSON.pretty_generate(Dropsonde::Metrics.new.report(puppetdb_session))
when 'human'
puts
puts Dropsonde::Metrics.new.preview(puppetdb_session)
else
raise 'unknown format'
end
end
|
.generate_schema ⇒ Object
65
66
67
|
# File 'lib/dropsonde.rb', line 65
def self.generate_schema
puts JSON.pretty_generate(Dropsonde::Metrics.new.schema)
end
|
.puppet_settings_overrides ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/dropsonde.rb', line 26
def self.puppet_settings_overrides
overrides = []
if (confdir = ENV['PUPPET_CONFDIR'])
overrides << '--confdir'
overrides << confdir
end
if (codedir = ENV['PUPPET_CODEDIR'])
overrides << '--codedir'
overrides << codedir
end
if (vardir = ENV['PUPPET_VARDIR'])
overrides << '--vardir'
overrides << vardir
end
if (logdir = ENV['PUPPET_LOGDIR'])
overrides << '--logdir'
overrides << logdir
end
overrides
end
|
.submit_report(options) ⇒ Object
Instance Method Details
#puppet_db ⇒ Object
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# File 'lib/dropsonde.rb', line 106
def puppet_db
return @pdbclient if @pdbclient
config = File.join(Puppet.settings[:confdir], 'puppetdb.conf')
return unless File.file? config
server = IniFile.load(config)['main']['server_urls'].split(',').first
@pdbclient = PuppetDB::Client.new({
server: server,
pem: {
'key' => Puppet.settings[:hostprivkey],
'cert' => Puppet.settings[:hostcert],
'ca_file' => Puppet.settings[:localcacert],
},
})
end
|