fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] idempotency contrib


From: Ronan Amicel
Subject: Re: [Fab-user] idempotency contrib
Date: Wed, 19 Oct 2011 13:13:57 +0200

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

-- 
Ronan Amicel
http://topixtream.com/

On Tue, Oct 18, 2011 at 22:27, Jeff Schwaber <address@hidden> 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
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fab-user
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]