I need to manage a small cloud server infrastructure. I have no intention to edit configs by hand all the time, nor write deployment scripts myself.

Instead, I’ll give a chance to Chef-Solo – a smaller sibling of well-known configuration management tool Chef.

I’m considering using a chef-client with --local-mode, which requires chef-zero which acts as local chef-server.

Chef-Solo uses a local repository to get receipts or can download receipt archive (tar.gz) from remote URL.

To manage configurations Chef uses Cookbooks and Receipts. A cookbook is the fundamental unit of configuration and policy distribution. A cookbook defines a scenario, such as install and configure MySql. A receipt is a fundamental configuration element, which defines how to configure each part of the system. Receipts are stored within a cookbooks and can be included into another receipts, allowing reuse.

OpsCode (the guys who supports Chef) supports a repository of cookbooks.