Chef is an open source systems integration framework and configuration management system. It’s written in Ruby, a reflective object-oriented programming language. Chef provides a Ruby library and API that can be used to bring the benefits of configuration management to an entire infrastructure.
Chef works by allowing the administrator to write recipes that describe how an element of a server (e.g Apache or MySQL) should be configured. The recipes use a pure Ruby DSL.
The recipes describe a series of resources that should be in a particular state. For example, what packages need to be installed, what services should be running. The software then ensures that each resource is configured correctly, fixing any problems which are identified. This ensures that the configured servers are always running exactly how the user needs them.
Recipes may be grouped together in roles. Applying a role to a node ensures that the node receives all the recipes. Recipes can reference attributes in other recipes, and also apply other recipes.
Chef can be used as a client-server tool, or run as a standalone tool.
- Uses Ruby as the configuration language
- Designed from the ground up to integrate with other tools
- Applies resources in the order they are specified in your Recipes – there is no dependency management
- Mutual authentication
- Cookbooks are available for more than 70 different parts of the infrastructure
|Chef also works on BSD, HP-UX, Solaris, and other operating systems.
License: Apache License 2.0
Written in: Ruby, Erlang