Currently there is no functional bootstrap for CentOS comparable to Ubuntu/Debian.
After considerable time I've got a functioning pure rpm bootstrap for chef+apache2+mod_passenger on CentOS finished. See the instructions here http://chef.viviti.com/
.
These changes are broken into two parts:
1) The apache2 changes contained in COOK-75. These changes (hopefully) should be fine to merge regardless of this ticket. If those get in the changeset for 2) is much smaller.
2) Another branch @ http://github.com/mdkent/cookbooks/commits/el5
which
- Adds a 'packages' recipe with a dist_only? lib and attribute to indicate the desire for 'distribution' packages (rpm in our case) rather than calling for gems directly (defaults to false).
- Modifies chef server/client and stompserver to make runit conditional on platform. Instead we toss in some redhat style init scripts for appropriate platforms.
- Tweaks mod_rails/passenger to use the rpms based on dist_only?.
These changes are all conditional and don't (to my knowledge) get in the way of the current default Ubuntu bootstrap. I've tested these changes successfully on vanilla centos and ubuntu 9.04 virtual machines.
The only wrinkle is the requirement for external repositories, EPEL and ELFF. This is unfortunately a necessary evil it seems as CentOS has neither rubygems, couchdb, or the correct version of ruby that merb requires (as jtimberman pointed out). Fortunately I run the ELFF repo and am able to package most things.
I would very much like to make this the default method for chef on CentOS/RHEL and am willing to volunteer some time to keep it current.
Is it possible to merge these changes?
Looking for feedback.