Aegir is a system for managing sites using Drupal and drush. We use it to manage this site in fact.
However, we use a fairly old version. As a precursor to doing some more work on the backup management I wanted to get my head around the new version of Aegir, and the object orientedness.
There's a really useful tutorial over on the Aegir community site:
That shows you how to add options to Aegir sites and pass the information into the backend.
The tutorial mentions a possible real life use of implementing HTTP basic authentication on a site. Well, in an effort to understand Aegir more, I've coded it up, and you can now really easily specify HTTP basic authentication credentials for any site managed in Aegir. This is really useful for staging sites that you need to give clients access to, but don't want the entire world seeing.
You can see the code I wrote here:
And this is what it looks like in the Aegir UI:
Next up, backup management!