Rollout is a system developed to automate system administration on UNIX servers. It is primarily focused towards Linux, but could be adapted to Solaris, HP-UX, AIX, etc.
It is written purely in Perl, and the configuration is also a Perl source file. Some Perl knowledge is required to edit the configuration, but copy-and-paste may suffice.
System Administration can generally be reduced to a set of steps, which must be completed in order. Some example steps include:
- Copy files, create symlinks
- Edit configuration files
- Start / stop services
- Add / modify users & groups
- Install applications
The idea behind Rollout is to automate all these steps in a configurable way. Rollout is by design idempotent - it can be run many times on a single server and produce the same results.
There is a certain amount of overlap between this and other projects such as puppet and cfengine. They all have similar goals. Rollout is designed to be very easy to extend (as long as you can cope with Perl) and very fast.
You can get rollout from my git repository at
http://git.dparrish.com/rollout. If you’re using Cogito, you can run:
cg clone http://git.dparrish.com/rollout
This is the first public release, and as such is not expected to be everything to everybody. However it is in active production use and hasn’t destroyed anything yet. Use it at your own risk. The documentation included contains instructions on setting up a server and configuring clients.
Also, I’m enabling comments on this post (and I feel dirty doing it) so that people can submit bugs/patches/requests/complaints.