Angrist is a simple cluster node configurator. It provides files to be copied directly to the root of the node, and sets up various tasks via crontab.
- Rootfs is transferred over with mercurial. You can serve it by any means you want. (ssh/hg serve/web)
- Files are added with rsync. Any file deletions must be handled separately, in the angrist_update script
- Cron jobs take care of package installations, and self update
- Angrist just creates the infra: add your own scripts in the /usr/local/sbin and cron them if necessary.
Resources to edit:
- Names of users to be added as sudo
- contains the configuration variables. Set yours here!
- Edit this to have the initial installation commands. The script is not launched automatically.
One time installations
- the main initial install script, that sets up mount points and various basic settings the nodes. Running is NOT automatic!
Continuously run scripts
/usr/local/sbin/angrist... files contain:
- functions: functions for other scripts
- logger: tool to store cron jobs output to /var/log/angrist
- update: update self. Also, remove deleted files, and set up correct ownerships
- user_management: set up homefolder, add users to groups etc
- installs: installs all the packages needed in the system. Stores the names of the packages. Edit the file as needed.
- installs_user: Takes user defined scripts and installs packages in them. See the variable PKGBASE in configuration. Example scripts in /var/lib/angrist/shared
- apt-get: updated apt-get repository
- r_update: updates R packages
Add frequently used commands, that also can be run manually to /usr/local/sbin/angrist