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