monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Time to create a monotone cluster?


From: Richard Levitte - VMS Whacker
Subject: [Monotone-devel] Time to create a monotone cluster?
Date: Fri, 23 Mar 2007 03:28:59 +0100 (CET)

Hello,

I believe I've just finished the framework for a simple monotone
cluster.  It's all in the following scripts:

        contrib/monotone-mirror.sh
                A script that mirrors a set of databases.  Can be used
                to mirror a local server's database for further
                processing through post actions.
        contrib/monotone-mirror.lua
                A lua hook that spawns monotone-mirror.sh any time new
                data has come in and been stored (through the
                note_netsync_end() hook).
        contrib/monotone-mirror-postaction-push.sh
                A postaction script that's designed to be called by
                monotone-mirror.sh during the postaction phase.

Setup should be easy.  I haven't had the time to test thoroughly, but
something like this should be possible to play with on any node (I'm
using default paths here, but you can of course place things wherever
you wish, as long as you remember to tweak things in the right
places), well, actually, all participating nodes:

---------- START /etc/monotone/mirror.rc ----------
mirror localhost 'BRANCH*'
# The key statement only affects subsequent statements
key /var/lib/monotone/keys address@hidden
postaction /var/lib/monotone/mirror/monotone-mirror-postaction-push.sh 
/etc/monotone1/push.rc
---------- END /etc/monotone/mirror.rc ----------

---------- START /etc/monotone/push.rc ----------
REMOTEHOST 'BRANCH*'
---------- END /etc/monotone/push.rc ----------

Oh, right, it requires creating the key address@hidden and place it
in /var/lib/monotone/keys, and to have the administrators of
REMOTEHOST add it to their database and add the identity to their
read-permissions or other hook method.

That's about it.

As far as I can figure, topology shouldn't matter much, since netsync
works as it does.  A bit of care should be used of you're worried
about congestion, of course.

Oh, yeah, you can of course have multiple lines in push.rc, and
multiple statements in mirror.rc, so there's nothing stopping you from
having a central hub and a star topology of you wish.

I'm more or less falling asleep at this point, and I'm sure my bugs
are full of yet undiscovered bugs, so if anyone wants to have a look,
feel free!  I'll probably write a wiki page about this when I'm more
awake and have a moment.

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis




reply via email to

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