jraine/munkiserver — Issue #93: MunkiServer Computer Reporting
Author: rickychilcott
Created: 2011-10-30 18:21:36+00:00
State: open
Labels: awaiting feedback, feature

I've been trying to think about the best way to do reporting for various different items of a system. Right now, I like that we can see printers, system details, the latest report, etc. But it is not extensible. For instance, what if someone wants to see what version of ruby or python is installed? Energy saver settings, security setting values, computer names, etc. There is currently no extensible way to do this.

What I'd like to propose is tackle this utilizing a puppet labs project, Facter (https://github.com/puppetlabs/facter) to gather the data for us and then we report it via the munki client in a postflight script. Then we can have dynamic forms that pull from this information to develop some standard reports. This will allow us to, eventually, provide a way for users of MunkiServer to write their own 'facts' and custom reports, without digging into the MunkiServer internals.

I still think the managed_install_plist logic would still exist, but I think we will move away from the other report you generate, and instead rely on Facter to do the data aquisition for us. This _will_ require us to install Facter for this functionality, but ultimately, I think it is worth it and they package it up for us: https://sites.google.com/a/explanatorygap.net/puppet/.

What are people's thoughts, generally, about this? If they are positive, I can start working on mocking something up. If you need more information, let me know. To give you an idea what postflight script might look like to do reporting, check this out: https://github.com/rickychilcott/munkiserver/blob/facter_integration/script/munki_scripts/postflight.rb.