Puppet, Chef or Salt?

Hey guys.

Im about to start a new project and figured I should start using Bedrock. I figure it would make sense to use the same provisioning provider/system as bedrock when Vagrant is added to the repo. So my question is will bedrock use Puppet, Chef, Salt or something else?

@swalkinshaw will correct me if I’m wrong, but I think Ansible is still the current front runner.

Here’s my really quick breakdown:

  • Chef: This is the one I know best and the one I’ve actually done most of the work with. See https://github.com/roots/wp-cookbook for details. Chef is great because of its popularity and community. There’s probably a cookbook for almost anything you need at this point. Downsides are it can get complicated, it’s built in Ruby and not that beginner friendly.

  • Puppet: Similar to Chef in popularity (maybe even more so?) and that it’s built in Ruby. I personally have never used it but I know it’s even more popular than Chef in the PHP/WP community which is a plus. I think Puppet is more beginner friendly than Chef since you can use config files like YAML instead of a pure Ruby DSL.

  • Salt: Pros are that it may be even simpler than Chef/Puppet. However I think it loses out just because its lack of popularity and community behind it.

  • Ansible: In my opinion, the simplest and easiest one to get started with. Lately it’s gotten a lot more popular which helps and better documentation.

I don’t think there’s a huge difference between Chef and Puppet. Which leads to my decision so far that Bedrock will most likely be done with Ansible. Here’s an example of an Ansible WP setup: https://github.com/ansible/ansible-examples/tree/master/wordpress-nginx

1 Like

I like Puppet - even from a beginner perspective - because it has so many examples already out in the wild.

However, if Ansible is easy and simpler then I’m all for it :smile: