Chef – Безплатна система за управление на конфигурациите, написана на Ruby и Erlang, използваща обектно-ориентиран език за описание на конфигурациите. Chef се използва за опростяване на задачите по конфигуриране и поддържане на множество сървъри и може да бъде интегрирана в облачни платформи, като Rackspace и Amazon EC2, за да се автоматизира управлението на настоящите сървъри и да се автоматизира процесът на конфигуриране на нови сървъри.
Потребителят на Chef създава специфични „рецепти“, описващи как да се управляват сървърните приложения (например Apache HTTP Server, MySQL или Hadoop) и техните настройки.
„Рецептата“ представлява описание на състоянието на системните ресурси, в което трябва да се намира системата в определен момент, включително инсталирани пакети, работещи услуги и създадени файлове. Chef проверява дали всеки от системните ресурси е конфигуриран правилно и се опитва да коригира състоянието на ресурсите, ако то не е според очакванията.
Chef може да работи както в режим клиент-сървър, така и в самостоятелен режим на конфигуриране, наречен „chef-solo“. В режим клиент-сървър клиентът изпраща на сървъра различни свойства на хоста, на който се намира. От страна на сървъра се използва Apache Solr за индексиране на свойствата и предоставяне на API на клиента за заявяване на информация. „Рецептите“ могат да правят заявки за тези свойства и да използват получените данни за конфигуриране на хоста.
Обикновено Chef се използва за управление на GNU/Linux, но последните версии поддържат Microsoft Windows.
Chef е една от най-известните системи за управление на конфигурацията в Linux, наред с други, като CFEngine, Bcfg2 и Puppet.


