So John wrote down his experiences on deploying Drupal sites with Puppet .
It's not a secret that I've been thinking about similar stuff and how I could get to the best possible setup.
John starts of with using Puppet to download Drush... while I want to use rpm for that ...
I want my core infrastructure to be fully packaged... not downloaded and untarred. I want to be able to reproduce my platform in a couple of months , with the exact same versions I`m using now .. not with the version that happens to be on ftp.drupal.org at that point in time, or with ftp.drupal.org being down.
Now the next question off course is what's the core infrastructure.
Where does the infrastructure end and does the application start. There's little discussion about having a puppet created vhost , an apache conf.d file, a matching .htaccess file if wanted , and the appropriate settings.php for a multisite drupal config.
There's also little doubt to me on using drush to run the updates, manage the drupal site etc . Reading John's article made me think some further about what and when I want things packaged.
John's post lead to a discussion on #infra-talk on getting all drupal modules packaged for Centos with Karan and some others
In a development environment I probably want to have periodic drush updates getting the latest modules from the interwebs and potentially breaking my devs code. But making sure that when you put a site in production it will be on a fairly up to date platform, and not on the platform you started developing on 24 months ago.
In a production environment however you only want tested updates of your modules as indeed they will break code.
It's probably going to be a mix and match setup having a local rpm/deb repo with packaged modules that have been tested and validated in your setup and using drush to enable or configure them for that production setup.
But also having a CI environment wher Drush will get the new modules from the interwebs when needed. and package them for you.
To me that sounds beter than getting all the available Drupal modules and packaging them, even automated, and preparing a repository of those modules of which only a small percentage will actually be used by people.
But I need to think about it some more :)