Extending Serverspec resources for audit cookbook


#1

This may be a case of trying to run before I can walk, but being fairly new to Chef and Ruby, I am looking for some guidance.At this time we do not run an internal supermarket or gem server. So I am reliant on gems that are integrated with the client or that I can obtain from rubygems.

We are primarily a Windows/IIS shop. I am looking to create an audit cookbook to audit as much of the configuration as possible. From basic Windows configuration to the final application server configuration.

Working within the existing serverspec resources I have been able to accomplish a good amount of what I have been attempting to do. However I am finding the iis related sperverspec resources to only have some of the IIS configuration that I am seeking. So I grabbed the serverspec and specinfra code and have been able to make several additions to some of the existing code as well as add some of my own. So basically I am simply making the updates to the already installed gems on my test node (which currently can’t go get rubygem updates due to internet proxy issues).

This however is not practical it would seem to be modifying existing gems that ultimately will be updated from rubygems and what not.I am not comfortable contributing them back to GitHub yet for consideration at this point as I am still fine tuning them and making them logical and proficient with that is already offered in serverspec.

So what I am looking for is how can I extend the serverspec and specinfra gems within my environment to offer additional resources? Is there something I can do to extend these modules and classes within my audit cookbook? Or would I need to create and additional gem package to install with these modifications?

I have been able to create LWRPs within other cookbooks I have been working on but with the audit mode using rspec and serverspec, it is just enough of a different animal that I am not quite sure how to extend it.

Thanks