On Mar 9, 2010, at 7:56 PM, Nigel Kersten wrote:

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

+1

--
I was an only child... eventually. -- Stephen Wright
---------------------------------------------------------------------
Luke Kanies  -|-   http://reductivelabs.com   -|-   +1(615)594-8199

--
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.

Reply via email to