Project

General

Profile

Json-fact-format » History » Revision 6

Revision 5 (Greg Sutcliffe, 10/18/2013 09:12 AM) → Revision 6/8 (Marek Hulán, 12/17/2013 01:37 PM)

h1. Json-fact-format 

 h3. how to send facts 

 * Foreman reports need to be sent to /api/hosts/facts 
 * Following headers needs to be present:  
 <pre> 
   "Accept: application/json,version=2" 
   "Content-Type: application/json" 
 </pre> 

 h3. facts JSON format 

 <pre> 
 { 
   "name"       => "fqdn.example.com", 
   "certname" => "optional.certname.for.this.host", 
   "facts"      => { 
                   "fact1"                    => "value", 
                   "fact2"                    => "value", 
                   "fact2::nested:fact"       => "value", 
                   "_timestamp"               => "2013-10-18 07:47:45 +0000", 
                   "_type"                    => "puppet" 
                   "operatingsystem"          => 'Debian', 
                   "operatingsystemrelease" => '7.0' 
                 } 
 } 
 </pre> 

 Note that _timestamp, operatingsystem and operatingsystemrelease are mandatory. Certname is optional, but if provided it will be preferred over name to identify the host object in the db. _type identifies source of fact, currently only puppet is supported by Foreman core and is also a default value if unspecified. If you want to add another fact type, you can register your importer class in FactImporter.register_fact_importer. For more info and example see https://github.com/ares/foreman_chef