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 [EMAIL PROTECTED]
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 [EMAIL PROTECTED] 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                         [EMAIL PROTECTED]
                                        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


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to