Thanks for all your error reports, I didn't forget it. I'll cleanup my guide soon. Thanks again!

Chef cheatsheet

Chef overview

#resources
    A resource is a statement of configuration policy that:
        Describes the desired state for an item
        Declares the steps needed to bring that item to the desired state
        Specifies a resource type—such as package, template, or service
        Lists additional details (also known as attributes), if necessary
        Tells the chef-client which action to take
    Resources are grouped into recipes, which describe working configurations.
        Package to install, location of template to build a file, service to be started...
    Where a resource represents a piece of the system (and its desired state),
        provider defines the steps that are needed to bring that piece of the system
            from its current state into the desired state.
#cookbooks
    Fundamental unit of configuration and policy distribution.
    Defines a scenario
    Contains everything that is required to support that scenario
        Recipes specifying resources to use
            and the order in which they are to be applied
        Attribute values
        File distributions
        Templates
        Extensions to Chef
            libraries, definitions, and custom resources
    The chef-client uses Ruby as its reference language
        for creating cookbooks and defining recipes,
        with an extended DSL for specific resources
    The chef-client provides a reasonable set of resources
        however, this DSL can also be extended
#environment
    Map an organization’s workflow to managing with Chef server
    Begins with a single environment called the _default environment
        which cannot be modified (or deleted)
    Additional environments can be created
        To reflect each organization’s patterns and workflow.
        Example:production, staging, testing, and development environments
    Generally, an environment is also associated with one (or more) cookbook versions.
#roles
    Define nodes configuration for a job
    Consists of
        attributes
        run-list
    Each node can have 0 or more roles
    If node had defined role
        its state is brought to the role specification
    On Chef run it merges its own run-lists and attributes
        with those which are defined by a role
#data_bags
    Global variable stored as JSON
    Accessible from Chef server
    Indexed for searching
    Can be loaded in recipe or accessed on search
#scripts
    Bash or Python or other scripts

Discussion

Navigation

Learn Linux The Hard Way