-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Disco Node Configuration (Parameters, ENC)
Disco Balls - How to Deploy Stuff
Disco Balls - Shrink-Wrapped (Built-In) Disco Balls
How to use Disco - A complete example
Because puppet, chef, cfengine, etc, are all great tools, but they all fall short of the mark, in terms of simplicity, ease of use, and reliability. None of them really follow the UNIX philosophy of "do one thing, do it well, and don't reinvent the wheel".
I wanted an acronym based off of "Dead Simple Continuous Integration", and this was the closest I found.
DISCO assumes that you:
- have at least one server capable of running rsyncd, sshd and a recent GNU
- have one or more clients capable of running ssh, rsync, fuse-unionfs, and recent GNU
While that's a very simple requirements list, it currently restricts it to recent Linux systems. You may or may not be able to use this tool on FreeBSD or Mac OS X, I haven't tried. Due to the way it executes, this tool will probably never, ever execute properly on Windows.
Because if we try to do everything and the kitchen sink, for every OS out there, we run the risk of falling short in the same ways the other CI tools have. By limiting our scope and problem space to recent GNU/Linux systems, we can write a much simpler tool in a much shorter amount of time that is much simpler to understand.
DISCO uses rsync(+ssh) with SSH keys, so the answer is, "we don't establish it" - SSH handles that for us by the server allowing or denying the key. The only issue with this, vs the puppet model of auto signing keys, is that clients can't auto-register themselves. At least, not currently. Perhaps there will be such a mechanism in the near future.