Hi Ronan! On Wed, Oct 19, 2011 at 1:13 PM, Ronan Amicel <[email protected]> wrote: > Hi Jeff and everyone, > > After writing several fabfiles myself, I felt the need to factor out a > number of commonly needed operations (creating files, users, etc.), > and I put them in a module that I called "fabtools". > > I'm also a fan of idempotency (as found in more heavy-weight > configuration management tools like Chef), and I built an additional > idempotent layer in fabtools called "icanhaz". > > The idea is that you can write declarative configuration requirements like > this: > >>>> icanhaz.deb.package('foo') >>>> icanhaz.user('bar') > > I hope some of you will find it useful. It's available on GitHub, so > comments, bug reports and pull requests are welcome: > https://github.com/ronnix/fabtools
That looks quite useful. Have you considered publishing this in PyPI (along with an initial release)? Best regards, Niklas > -- > Ronan Amicel > http://topixtream.com/ > > On Tue, Oct 18, 2011 at 22:27, Jeff Schwaber <[email protected]> wrote: >> Hey folks, >> >> I'm new to this mailing list, so apologies if I'm in the wrong place >> or anything. =) >> >> I recently rewrote my fabfile that I use for a bunch of different >> projects, and noticed, as I was writing it, that I was doing a lot of >> little stuff to try to maintain idempotency so that I could run the >> script over and over when something went wrong. I thought it might be >> useful to push that out into a library, and so I did so, putting it in >> a module in the contrib directory in my fork of fabric. I haven't gone >> very far with it -- I built Directory and Symlink objects, and started >> work on a GitRepository object, since that's the majority of what my >> fabfile code uses, but before I went farther, I thought I'd find out >> what people think. The repo's below, and I'd welcome feedback on >> anything you think of. One thing I might like to refactor is to pull >> the tests out of the main test area and have a contrib test area. >> >> In so doing this, the only code of the current fabric project that I >> touched was the contrib.files code, where I added is_dir and >> is_symlink along the lines of exists, and refactored exists so they >> could all use some of the same underlying code. This doesn't change >> the exists API, just adds the two functions to the files API. >> >> https://github.com/freyley/fabric >> >> Thanks! >> >> Jeff >> >> _______________________________________________ >> Fab-user mailing list >> [email protected] >> https://lists.nongnu.org/mailman/listinfo/fab-user >> > > _______________________________________________ > Fab-user mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/fab-user > _______________________________________________ Fab-user mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/fab-user
