Attributes are defined by:
- The state of the node itself
- Cookbooks (in attribute files and/or recipes)
- Roles
- Environments
Attributes are always applied by the chef-client in the following order:
- A default attribute located in a cookbook attribute file
- A default attribute located in a recipe
- A default attribute located in an environment
- A default attribute located in a role
- A force default attribute located in a cookbook attribute file
- A force default attribute located in a recipe
- A normal attribute located in a cookbook attribute file
- A normal attribute located in a recipe
- An override attribute located in a cookbook attribute file
- An override attribute located in a recipe
- An override attribute located in a role
- An override attribute located in an environment
- A force override attribute located in a cookbook attribute file
- A force override attribute located in a recipe
- An automatic attribute identified by Ohai at the start of the chef-client run
where the last attribute in the list is the one that is applied to the node.