cat /dev/random

Saturday, July 03, 2004

clusterfuck modules

I have version 0.1 working. It supports packing, unpacking, and executing clusterfuck tasks, which are represented as tar files containing the template filesystem (I didn't follow the first idea of having a filesystem image, and all the metadata in other files, all wrapped up in a tarball.) The new filesystem must contain the file /run, which will be executed to run the task, and the filesystem MUST NOT contain the file /.run, it will be created as the secure entrance point for the task. So now, modules. I think they will be determined by a file named "/etc/modules" which will contain a new-line delimeted list of required modules (java, perl, etc.) The /.run program will set the appropriate environment variables to make all the modules available through the path, and may setup any special environment variables needed by modules, like paths to packages in java or perl. The modules will (probably) go into either /bin/modules or /modules, whichever I decide I like better. The hope is that by having commonly used modules cached and inserted into the tasks that need them, the overall size of the task files will decrease, lowering network traffic. Sofar, here's the list of modules I think would be usefull.



  • clusterfuck (to create and submit tasks to the clusterfuck server, which still needs to be writen)

  • coreutils

  • gcc

  • java

  • perl

  • proc (just mounts the /proc filesystem; I need to check the security implications of this first.)


Any ideas on what else would be useful?