One issue we've run into lately is that keeping documentation up to date with the proper configs is somewhat painful. As a little background, our network is separated into ~40 individual network segments, which yes, that means I would need about ~40 puppet master servers. Luckily, we have ways of copying configs automatically out to the puppetmasters.
I read through the http://reductivelabs.com/trac/puppet/wiki/DocumentingManifests and http://reductivelabs.com/trac/puppet/wiki/ModuleDocumentationStandards but it's not really fleshed out. However, neither is really concerned with the documentation of the actual host, but rather seem to be concentrating on the documentation of the manifests and modules. In any case, we've run into an issue that we need to be able to build documentation properly, and I thought it might be a good idea to be able to generate the documentation from puppet itself for a 'server build doc', so to speak. We've run into this issue for three reasons - 1) It's hard to keep docs up to date with configs - you are basically updating information in two places 2) Documents are required by audit, even if we don't use them 3) In certain networks, we *do* need documents, because we don't have puppetmasters. Any idea how easy this would be to do? I had two thoughts on it and I've been trying to go through the code, but to a relatively newcomer to Ruby, it's not the easiest project. :) Thought 1 Modify the 'noop' feature to be able to run on a fake node and assume that every part of the manifest for that node must be applied. This would net you the result of all changes that must be made to a host and you could just include it in a document. Thought 2 Modify the providers to include a 'doc' attribute and an option to print out the documentation for a certain node. Generate the manifest and print out the doc attributes. This could probably even go into the type, rather than the provider, depending on how detailed the documentation needs to be - do you need 'useradd -u 551 shajducko' or do you just need 'Add user shajducko'? Again, I have no idea how difficult these would be, but at this point, keeping documentation up to date for server builds plus the manifests and their documentation isn't working. And, unfortunately, it doesn't fly with auditors when you say 'Well, I just install a base system and then run puppet'. :/ At this point, I've had to code a simple ruby script that puts together a bunch of yaml files ( with an abundance of merge keys ) for specific hostnames and then spits out the combined yaml as a document - but again, still have to update the documentation separate from the configs. Any thoughts welcome. sh --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
