DevOps Zone is brought to you in partnership with:

Patrick Debois has been working on closing the gap between development and operations for many years. In 2009 he organized the first devopsdays.org conference and since then the world is stuck with the term 'devops'. Always seeking for opportunities to optimize the global IT instead of local optimizations. Patrick is a DZone MVB and is not an employee of DZone and has posted 39 posts at DZone. You can read more from them at their website. View Full User Profile

Puppet Homebrew Package Provider

06.07.2011
| 9056 views |
  • submit to reddit
I've become a big fan of homebrew package system on Macosx. I moved away from macports because it allows me to easily change the way packages are compiled: sometimes I need experimental versions of software or versions that are not in macports yet. Instead of compiling them in a separate place, I can now create my own formulas and still use the repository in case I need it: this is made possible because it's all based on git and allows you to merge your changes even if upstream packages get updated.

 

Enough raving about homebrew now. I'm currently exploring Puppet , it has builtin support for macports (or as it calls it darwinports) but not for my new love. I guess it was the perfect excuse to write my own provider.

On the puppet wiki I found a document describing in generic terms what you need to do to write a custom provider. It's probably me, but I didn't get it when I read. Therefore I dug into the code of other providers. I found the gem provider most useful, but that's probably because I'm familiar with the gem command and output to see how it works.

It will only work in new versions of puppet as it uses the new directory structure lib/puppet instead of lib/plugins. There was one gotcha for me. I assumed that I needed to put my provider, well in the directory modulename/puppet/provider/ . It turns out that you need to put it in a subdirectory of the type your are implementing the provider for : module/puppet/provider/package in my case.

Code is up on github : https://github.com/jedi4ever/puppet-homebrew .

I hope one day, this provider gets into the main puppet provider list :)

References:

References
Published at DZone with permission of Patrick Debois, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Kyane Ben replied on Thu, 2012/03/15 - 12:33pm

In the early days, the sole way of unlocking a wii console was, installing a mod
chip, this implied voiding your console's warranty and not to mention the steep
prices at which mod chips were traded.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.