lib/puppet-ghostbuster/puppetdb.rb in puppet-ghostbuster-0.9.0 vs lib/puppet-ghostbuster/puppetdb.rb in puppet-ghostbuster-1.1.0
- old
+ new
@@ -1,33 +1,48 @@
require 'puppetdb'
+require 'puppet'
class PuppetGhostbuster
class PuppetDB
+ Puppet.initialize_settings
+
+ begin
+ require 'puppet/util/puppetdb'
+ @@puppetdb = Puppet::Util::Puppetdb.config.server_urls[0]
+ rescue LoadError
+ @@puppetdb = "https://#{Puppet[:server]}:8081"
+ end
+
def self.client
@@client ||= ::PuppetDB::Client.new({
- :server => "#{ENV['PUPPETDB_URL'] || 'http://puppetdb:8080'}",
- :pem => {
- 'key' => ENV['PUPPETDB_KEY_FILE'],
- 'cert' => ENV['PUPPETDB_CERT_FILE'],
- 'ca_file' => ENV['PUPPETDB_CACERT_FILE'],
- }
- }, 4)
+ server: ENV['PUPPETDB_URL'] || @@puppetdb,
+ pem: {
+ 'key' => ENV['PUPPETDB_KEY_FILE'] || Puppet[:hostprivkey],
+ 'cert' => ENV['PUPPETDB_CERT_FILE'] || Puppet[:hostcert],
+ 'ca_file' => ENV['PUPPETDB_CACERT_FILE'] || Puppet[:localcacert],
+ },
+ }, 4)
end
def client
self.class.client
end
def self.classes
- @@classes ||= client.request('', 'resources[title] { type = "Class" and nodes { deactivated is null } }').data.map { |r| r['title'] }.uniq
+ @@classes ||= client.request('',
+ 'resources[title] { type = "Class" and nodes { deactivated is null } }').data.map do |r|
+ r['title']
+ end.uniq
end
def classes
self.class.classes
end
def self.resources
- @@resources ||= client.request('', 'resources[type] { nodes { deactivated is null } }').data.map { |r| r['type'] }.uniq
+ @@resources ||= client.request('', 'resources[type] { nodes { deactivated is null } }').data.map do |r|
+ r['type']
+ end.uniq
end
def resources
self.class.resources
end