Cast Project - The Open Deployment Platform
cast-project.org
cast-project.org
The way you define services feels a bit awkward though.
Also, it seems like install.sh scripts for various platforms would lower the barrier to entry. The installation documentation is nice enough, but really that should all just be scripted so it can be condensed to:
curl http://cast-project.org/install.sh | sh
Running runit scripts out of a user home-dir (as in the example) does feel wrong to me though.
1. downloading a tarball 2. unpacking it 3. running "scons install"
Scons (our built tool of choice) is an extra dependency, but this shouldn't be a problem since it's a prerequisite for Node.js itself (platform on which Cast is built).
I didn't try it, but probably pretty close to working. It does more than some people might want, but I didn't write it for the pedants in the crowd. ;-)
Is this a Linuxey only sort of thing or are FreeBSD/OpenBSD/OpenSolaris/OpenIndiana invited to the party?
Nothing in cast itself is really linux specific, it should all work on any Unixy-enough OS, and we have plans for how to do it on top of Windows too.
Back to Cast though, the "create instance redis0" example is basically just creating a runit script?
Understood that "just" covers a lot, including the auth, agent, etc. But the thing it's actually doing on the server (after building/installing the requested package) is adding a runit script right?
When you run "create instance redis0" the high level steps are:
1. Create a new directory structure in which to install redis.
2. Copy all the redis files into a version-specific location in that structure.
3. Process any templates (for config files, etc) that were provided.
4. Create symlinks from the version-specific install location into a version-independent data root.
5. Create various symlinks for tracking the 'current' version, etc.
6. Create the runit script.
I might be forgetting a step somewhere in there, but you get the idea.edit: fix list formatting
Consistency is nice.
Just never figured out how to get it to start on boot in FreeBSD (it's not just runsvdir_enable="YES").