Ugarit - Encrypted block storage backup in scheme!

Alaric from Kitten Technologies has written a nice backup system called ugarit. It has been inspired by plan9's venti block storage server and provides several (experimental) backends, such as venti like arenas (called logfiles), Amazon's S3 cloud service and sftp (planned). A simple session looks like this:

$ ./ugarit snapshot ugarit.conf firstone .
Archiving . to tag firstone...
Root hash: 172c5ac1dbd70461dc6f0b8c9a503999b455808596410b2c
Successfully archived . to tag firstone
Snapshot hash: c8a28f188ca4c00c40d44d9951d33a12ee21fa2e13f99a2c

The backup client also comes with a ftp like ui client, so you can walk around the nice tree:

$ ./ugarit explore ugarit.conf
> ls
firstone <tag>
> cd firstone
/firstone> ls
2009-06-21 21:12:16 <snapshot>
current <snapshot>
/firstone> cd current
/firstone/current> ls
.svn <dir>
test.scm <file>
ugarit.meta <file>
ugarit-core.scm <file>
backend-devtools.scm <file>
backend-cache.scm <file>
posixextras.scm <file>
ugarit.setup <file>
ugarit.scm <file>
backend-fs.scm <file>
ugarit.html <file>
ugarit-core.import.scm <file>
ugarit-core.so <file>
ugarit-core.import.so <file>
ugarit <file>

All this goodness has been implemented in Chicken Scheme which provides a nice backend to C (as it is a scheme to C compiler) for FFI. Chicken Scheme builds nicely on OpenBSD (at least for SHARED_ONLY atm, we sent the port update to its maintainer).

Diffs are on the way to have this integraded in the chicken4 egg index, so it will be a matter of

chicken-install ugarit

soon. Until this is possible you can grab a a collection of diffs against the Chicken3 eggs repo. Username: anonymous no password.

We will continue to play with this nice piece of software so stay tuned for further updates!

Thanks to Alaric Snell-Pym for all his support and help!

Code on this site is licensed under a 2 clause BSD license, everything else unless noted otherwise is licensed under a CreativeCommonsAttribution-ShareAlike3.0UnportedLicense