A Puppet Module for installing the Aegir backend on multiple servers

Events happening in the community are now at Drupal community events on www.drupal.org.
bwood's picture

I just published my Puppet code. Any of you already using Puppet (http://projects.reductivelabs.com/projects/puppet/wiki/)?

http://github.com/bwood/puppet-aegir

Features of my module:

  • Provides some distro-specific customization for
    Debian/Ubuntu/RHEL/CentOS. (Only tested with RHEL.)
  • Creates the user Aegir
  • Installs aegir's public key
  • Adds host key for aegir frontend server to known hosts
  • Installs git and unzip
  • Downloads the aegir install script
    ** patches the aegir install script: http://drupal.org/node/736794
    (add -y argument)
  • Runs the aegir install script with the -b flag to install the "backend"
  • Create a symlink to Aegir's apache.conf
  • Creates directories for Aegir platforms (locations where Drupal is installed).
    ** Each platform directory can contain multiple subdirectories for "environments"
    such as "dev" "qa" "testing" "prod"
  • Deploys one or more tarballs of drupal core on each platform
  • Restarts apache
    ** restart apache whenever changes to apache configuration files are detected.

"Bonus Features"
* Installs mig5's backup script and sets up a cronjob to run it.
** http://www.mig5.net/content/aegir-batch-site-backup-script
** Optionally, prune backup files after a certain period.
* Checkout SVN-managed sites/all/modules collections for each server.
** These are the modules always present in our default Drupal site
installation.

Comments

Very cool! Im looking to do

Macronomicus's picture

Very cool!
Im looking to do something similar with bcfg2 since im using that anyhow with the Mercury stuff.
Is there any particular reason you chose puppet over bcfg2?

I was already working with

bwood's picture

I was already working with Puppet and liked it. I know that Josh Koenig at ChapterThree.com is using bcfg2 so it would probably be a good match for Mercury--in fact I think he may have some code written.... I want to take a look at Mercury when I get my basic server config solid. Maybe I'll port your bcfg2 stuff to Puppet at some point so that people have options. Be sure to let us know when you publish.

Yeah he's got it posted

Macronomicus's picture

Yeah he's got it posted already and it works quite well. Although there is not an aegir branch yet, it does do a fantastic job of configuring the system memcached, solr, varnish & all those other goodies. Aegir is pretty easy to install from that start point so I haven't tried to tweak the bcfg2 setup myself, should only be a minor adjustment though. It's been great following along with pantheons dev those guys rock!

I'll have to check out puppet, at first glance it seems like bcfg2 might be more flexible but ive not really had a good test run of puppet yet.

Cheers!
Joshua

Pushed new version

bwood's picture
  • Can install 0.3, 0.4 or HEAD
  • Support for platform/environments see README
  • Deploy multiple drupal core versions onto a platform environment
  • Drupal cores managed in version control. Tarball option scrapped.
  • Improved management of sites/all/modules collections
  • Beginnings of frontend installation classes
  • Refactored a bunch

More detail in the README: http://github.com/bwood/puppet-aegir

Very exciting

forestmars's picture

Will be using this, seems like teh Awesome Sauce

Aegir hosting system

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: