Skip to end of metadata
Go to start of metadata




Understanding and use of these essential components will provide you the capability to take advantage of the power of Chef.






 

Attributes

Node data such as the IP address, hostname, loaded kernel modules, version of programming languages available on the system and more.


Cookbooks

The fundamental units of distribution in Chef. They encapsulate all the resources you need to automate your infrastructure and are easily sharable with other Chef users.


Definitions

Allow the creation of new Resources by stringing together existing resources.


Libraries

Allow inclusion of arbitrary Ruby code, either to extend Chef's language or to implement your own classes directly. They are the secret sauce that will allow you to plug in to your existing infrastructure and utilize it to inform how your systems are configured.


Metadata

A small amount of meta-data is required in cookbooks. This information is used to provide hints to the Chef Server as to what cookbooks should be deployed to a given node, and in the future it will be integral to an automated system for discovering and installing cookbooks.


Recipes

The fundamental configuration in Chef. Recipes encapsulate collections of Resources which are executed in the order defined to configure the Nodes.


Templates

Files written in a markup language that allows one to dynamically generate the file's final content based on variables or more complex logic. Templates are commonly used to manage configuration files with Chef.


Chef Repository

The place where cookbooks, roles, config files and other artifacts for managing systems with Chef will live.


Data Bags

Provide an arbitrary stores of globally available JSON data.


Environments

Provide a mechanism for managing different environments such as production, staging, development, and testing, etc with one Chef setup (or one organization on Hosted Chef).


Exception and Report Handlers

A feature of Chef that allow you to run code in response to a Chef run succeeding or failing.


Lightweight Resources and Providers (LWRP)

Resource and providers whose implementation is quick and easy, requiring less Ruby knowledge than their heavier counterparts.


Nodes

Hosts that runs the Chef client. The primary features of a node, from Chef's point of view, are its Attributes and its run list. Nodes are the thing that Recipes and Roles are applied to.


Providers

Take a resource, compare that resource to the current state of the part of the system it is managing, and then takes the Action specified in the resource. They are the way that Chef supports multiple platforms with a single Resource.


Resources

A cross platform abstraction of the thing you're configuring on the host. For example, packages may be installed via apt, yum, or the BSD ports and packages systems, but the package resource abstracts these differences away so you can specify that a package should be installed in a cross-platform way. Chef's resources are mostly just containers for data, with some basic validation functionality.


Roles

Provide a means of grouping similar features of similar nodes, providing a mechanism for easily composing sets of functionality. At web scale, you almost never have just one of something, so you use roles to express the parts of the configuration that are shared by a group of Nodes.


Search

A feature of the Chef Server that allows you to use a full-text search engine (based on Apache Solr) to query information about your infrastructure and applications. Searches are built by the Chef Server, and allow you to query arbitrary data about your infrastructure.








Chef Concepts as UML


Attributes



Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.