On Tue, Mar 9, 2010 at 5:52 PM, Luke Kanies <[email protected]> wrote: > On Mar 9, 2010, at 5:09 AM, Michael DeHaan wrote: > >>> { >>> "facts": { >>> "network": { >>> "interface": "eth0", >>> "ip": "192.168.0.1", >>> "netmask": "255.255.255.0", >>> }, >>> "disk": { >>> "name": "sda1", >>> "size": "1000", >>> } >>> }, >>> } >> >> >> Yep, that's pretty much what I was proposing. I'm a big fan of >> structured stdin/stdout interfaces for quick extensibiility (and >> JSON). >> >> We could start by doing something that supports non-datastructured >> facts now, and add datastructures later. >> For now, it could just assert in the code that the type of each hash >> key was a string or int. > > I concur on the basic plan. > > I'd add that having some plain data, like /etc/facter.d/foo, wouldn't be all > bad, either, so you could just statically declare facts.
++ I reckon something like: /etc/facter/facter.conf (main config file) /var/lib/facter/data.d/ (plain text files containing fact values) /var/lib/facter/plugins.d/ (foreign language executables returning fact values) The natural location for all these things differs across platforms, so it should be added to the install.rb script to make them configurable... http://projects.reductivelabs.com/issues/3361 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
