Chef is a much older, mature solution to configure management. Unlike Ansible, it does require an installation of an agent on each server, named chef-client. Also, unlike Ansible, it has a Chef server that each client pulls configuration from. We will not install the complete Chef server, because doing so could take up the rest of the chapter. If you know and use Chef, then keep reading. If you don't, skip to the next section.
There are two places where Chef APIs are used in Terraform:
- A Chef provisioner
- A Chef provider
A Chef provisioner allows you to specify all the details to connect to a Chef server, an initial set of attributes, and the run list. Once an instance is created, Terraform will SSH into it, install ...