class OctofactsUpdater::Service::PuppetDB
Public Class Methods
facts(node, config = {})
click to toggle source
Get the facts for a specific node.
node - A String with the FQDN for which to retrieve facts config - An optional Hash with configuration settings
Returns a Hash with the facts (via octocatalog-diff)
# File lib/octofacts_updater/service/puppetdb.rb, line 16 def self.facts(node, config = {}) fact_obj = OctocatalogDiff::Facts.new( node: node.strip, backend: :puppetdb, puppetdb_url: puppetdb_url(config) ) facts = fact_obj.facts(node) return facts unless facts.nil? raise OctocatalogDiff::Errors::FactSourceError, "Fact retrieval failed for #{node}" end
puppetdb_url(config = {})
click to toggle source
Get the puppetdb URL from the configuration or environment.
config - An optional Hash with configuration settings
Returns a String with the PuppetDB
URL
# File lib/octofacts_updater/service/puppetdb.rb, line 32 def self.puppetdb_url(config = {}) answer = [ config.fetch("puppetdb", {}).fetch("url", nil), ENV["PUPPETDB_URL"] ].compact raise "PuppetDB URL not configured or set in environment" unless answer.any? answer.first end