On 10 March 2010 03:56, Nigel Kersten <nig...@google.com> wrote: > On Tue, Mar 9, 2010 at 5:52 PM, Luke Kanies <l...@reductivelabs.com> 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 >
I'd also love to move the default search path logic not to be $LOAD_PATH.collect { |d| File.join(d, "facter") }, so we can have a sensible (ie not everything under util/) hierachy for facter's core functionality. But that's probably a breaking change, but we can safely add say a configurable location for native facts in parallel with config, key/value fact files and executable fact files. Paul -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to puppet-...@googlegroups.com. To unsubscribe from this group, send email to puppet-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.