4 ms·
So the actual process management stuff is built on top of runit? Is this a Linuxey only sort of thing or are FreeBSD/OpenBSD/OpenSolaris/OpenIndiana invited to
by ssmoot 16y ago
So the actual process management stuff is built on top of runit?
Is this a Linuxey only sort of thing or are FreeBSD/OpenBSD/OpenSolaris/OpenIndiana invited to the party?
- pquerna 16y agoRunit runs just fine on top of FreeBSD and OSX (and Should work on OpenSolaris / OpenIndinana, though i don't have personal experience). 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.
- ssmoot 16y agoI don't suppose you have any hints for getting runit installed/running on FreeBSD? There's a runit port, but it doesn't auto-start that I've been able to figure out and I never have found any real documentation on it. 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?
- russell_h 16y agoYou're pretty much correct, but the building/installing step is responsible for a lot more Cast code than the runit part is. 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
- tomazmuraus 16y agoService management part is also abstracted away pretty well, so it should be fairly easy to write a new backend for your favorite service manager (supervisor, upstart, etc.).
- ssmoot 16y agoDon't get me wrong. I love runit. Simple and effective. Runs on all my deployments, which is a lot nicer than rc scripts for FreeBSD (which isn't really comparable anyway), Upstart for Ubuntu, this for this and that for that. Consistency is nice. Just never figured out how to get it to start on boot in FreeBSD (it's not just runsvdir_enable="YES").