Index
A
- Amazon EC2
- about / Amazon EC2
- working with / Amazon EC2
- knife plugin, installing / Installing the EC2 knife plugin
- authentication, setting up / Setting up EC2 authentication
- instance, provisioning / Provisioning an instance
- instance, bootstrapping / Bootstrapping the instance
- instance, terminating / Terminating the instance
- Chef node, removing / Removing the Chef node
- Amazon EC2 authentication
- setting up / Setting up EC2 authentication
- AMI ID
- URL / Provisioning an instance
- Apache Solr documentation
- URL / Querying your data
- application
- configuring / Configuring your application
- application deployment cookbook
- application run
- maintaining / Keeping your application running
- application template
- defining / Defining a full application template
- attributes / Getting to know Chef
- about / Attributes
- configuration values / Attributes
- multiple files / Multiple attribute files
- using / Using attributes
- authorized keys, SSH keys
- templating / Templating the authorized keys
- automation, Chef / Automation and integration
B
- Base64 encoding / Secret keys
- baseline role / Modeling a simple Python application
- base server role
- creating / Creating the base server role
- BASH Automated Testing System (BATS) / Writing a simple test
- bootstrap / Getting to know Chef
- bootstrap script / Getting to know Chef
- breakpoint resource, Chef shell
- using / Using the breakpoint resource
- Bundler, ChefSpec / Installing ChefSpec
C
- Capistran
- Chef, using with / Chef with Capistrano
- Chef
- terminology / Terminology
- working with / Working with Chef
- benefits / Working with Chef, Large-scale infrastructure
- chef-solo, installing / Installing chef-solo
- Ruby gem mechanism / The Ruby gem
- gems, managing / Managing gems
- chef-solo, verifying / Verifying that chef-solo works
- about / Getting to know Chef
- node / Getting to know Chef
- workstation / Getting to know Chef
- bootstrap / Getting to know Chef
- bootstrap script / Getting to know Chef
- recipe / Getting to know Chef
- cookbook / Getting to know Chef
- attributes / Getting to know Chef
- role / Getting to know Chef
- run List / Getting to know Chef
- resource / Getting to know Chef
- provider / Getting to know Chef
- data bags / Getting to know Chef
- environment / Getting to know Chef
- used, for software deployment / Deploying software with Chef
- dependencies, managing / Managing dependencies in Chef
- extending / Extending Chef
- Ohai plugin, writing / Writing an Ohai plugin
- using, with Capistran / Chef with Capistrano
- automation / Automation and integration
- integration / Automation and integration
- updates, automating / Automated updates and deployments
- chef-server-ctl, Chef server
- working / Understanding how chef-server-ctl works
- Chef-solo
- about / Vagrant and Chef-solo
- Vagrant, combining with / Combining Vagrant with Chef-solo, Configuring Chef-solo, Telling Chef-solo what to run
- limitations / Understanding the limitations of Chef-solo
- configuring / Configuring Chef-solo
- cookbooks_path / Configuring Chef-solo
- data_bags_path / Configuring Chef-solo
- roles_path / Configuring Chef-solo
- run directions, providing / Telling Chef-solo what to run
- roles, using with / Using roles and data bags with Chef-solo
- data bags, using with / Using roles and data bags with Chef-solo
- chef-solo
- installing / Installing chef-solo
- verifying / Verifying that chef-solo works
- Chef community
- URL / Managing the cookbooks
- Chef LWRP, component
- resource / Building a resource
- provider / Building a resource
- Chef node, Amazon EC2
- removing / Removing the Chef node
- Chef node, Rackspace Cloud
- removing / Removing the Chef node
- Chef server
- installing / Installing a Chef server
- URL / Getting the installer
- configuring / Configuring a Chef server
- interacting, Chef shell used / Interacting with the Chef server using the shell
- Chef server, installing on Red Hat Enterprise Linux
- package, downloading / Downloading the package
- package, downloading, URL / Downloading the package
- Chef server, installing on Ubuntu
- about / Installing on Ubuntu
- package, downloading / Downloading the package
- package, downloading, URL / Downloading the package
- package, installing / Installing the package
- Chef server configuration
- about / Configuring a Chef server
- chef-server-ctl, working / Understanding how chef-server-ctl works
- host server actions, monitoring / What's happening on my server?
- services, verifying / Verifying that the services are running
- Chef server interaction, with Chef shell
- data, interacting with / Interacting with data
- data, searching / Searching your data
- data, editing / Editing your data
- data, transforming / Transforming data
- Chef service
- about / Terminology
- validating / Validating that your service is working
- knife configuration / Ensuring that your knife configuration works
- Chef shell
- about / Getting to know the Chef shell
- using / Using the Chef shell
- standalone mode / The standalone mode
- solo mode / The solo mode
- client mode / The client mode
- used, for interacting with Chef server / Interacting with the Chef server using the shell
- used, for executing recipes / Executing recipes with Chef shell
- recipe, creating in / Creating a recipe in the shell
- used, for debugging / Debugging with the Chef shell
- breakpoint resource, using / Using the breakpoint resource
- ChefSpec
- about / Testing recipes
- and RSpec / RSpec and ChefSpec
- testing basics / Testing basics
- using / Using ChefSpec
- overview / Getting started with ChefSpec
- installing / Installing ChefSpec
- dependencies, locking in Ruby / Locking your dependencies in Ruby
- simple recipe, creating / Creating a simple recipe and a matching ChefSpec test
- ChefSpec test
- writing / Writing a ChefSpec test
- expanding / Expanding your tests
- multiple examples / Multiple examples in a spec test
- testing, for multiple platforms / Testing for multiple platforms
- Chef Supermarket
- client mode, Chef shell / The client mode
- cloud
- leveraging / Leveraging the cloud
- cloud platform providers
- Amazon EC2 / Amazon EC2
- Rackspace Cloud / Rackspace Cloud
- components, for Chef server installation / What you will be installing
- configuration blocks
- using / Using configuration blocks
- configuration data
- organizing / Organizing your configuration data
- sources / Organizing your configuration data
- attribute data example / Example attribute data
- data bags / Data bags
- cookbook / Terminology
- about / Getting to know Chef, Installing a cookbook
- installing / Installing a cookbook
- cookbook, Test Kitchen
- instance, provisioning / Provisioning the instance
- created instance, converging / Converging the newly created instance
- test, writing / Writing a simple test
- summarizing / Combining all the steps
- cookbooks
- managing / Managing the cookbooks
- URL / Managing the cookbooks
- downloading / Downloading cookbooks
- URL, for downloading / Downloading cookbooks
- database recipe, viewing / Looking at the database recipe
- application deployment cookbook, viewing / Looking at your application deployment cookbook
- directories, preparing / Preparing the directories
- Python virtual environment, constructing / Constructing your Python virtual environment
- source code, checking out / Checking the source code
- dependencies, installing / Installing any extra dependencies
- Pythons requirements file, using / Using Python's requirements file
- application, configuring / Configuring your application
- application run, maintaining / Keeping your application running
- custom definition, developing
- about / Developing a custom definition
- code, organizing / Organizing your code
- definition, writing for using PIP / Writing a definition for using PIP
- application template, defining / Defining a full application template
- custom extensions
- writing / Writing custom extensions
- resource, building / Building a resource
D
- data
- storing, in data bags / Storing data in data bags
- searching / Searching for data, Searching your data
- encrypting / Encrypting your data
- decrypting / Decrypting your data
- querying / Querying your data
- data, Chef server
- interacting / Interacting with data
- searching / Searching your data
- editing / Editing your data
- transforming / Transforming data
- data, searching
- data bags, searching with knife tool / Searching your data bags with knife
- data bags, searching from recipes / Searching your data bags from a recipe
- data, querying / Querying your data
- data bags
- about / Getting to know Chef, Data bags
- using / Knowing when to use data bags
- data, storing in / Storing data in data bags
- creating, for users / Creating a data bag for users
- working with / Working with data bags
- securing / Securing your data bags
- data, searching / Searching your data bags with knife
- multiple machines, managing with search queries / Managing multiple machines with search queries
- databags
- searching, with knife tool / Searching your data bags with knife
- searching, from recipes / Searching your data bags from a recipe
- data bags, securing
- about / Securing your data bags
- secret keys / Secret keys
- data, encrypting / Encrypting your data
- data, decrypting / Decrypting your data
- keys, storing on nodes / Storing keys on nodes
- data bags, using with Chef-solo
- about / Using roles and data bags with Chef-solo
- custom JSON data, injecting / Injecting custom JSON data
- custom node name, providing / Providing a custom node name
- database host
- configuring / Configuring the database host
- database recipe
- viewing / Looking at the database recipe
- database server role
- creating / Creating the database server role
- default action / Overriding a default behavior
- default behavior, resource
- overriding / Overriding a default behavior
- definition / Developing a custom definition
- definitions
- about / Definitions
- dependencies
- installing / Installing any extra dependencies
- managing, in Chef / Managing dependencies in Chef
- managing / Managing dependencies elsewhere
- deployment keys, SSH keys
- adding / Adding deployment keys
- deploy users / Adding deployment keys
- directories
- preparing / Preparing the directories
- driver plugins / Using Test Kitchen
- dry-run mode / Implementing the provider
E
- EC2 instances
- provisioning / Provisioning EC2 instances
- database host, configuring / Configuring the database host
- echo off state / Creating a recipe in the shell
- echo on state / Creating a recipe in the shell
- encryption key
- storing, on nodes / Storing keys on nodes
- environment
- about / Getting to know Chef
- example / Environments
- equal sign / Variable replacement
- ERB primer
- about / A quick ERB primer
- URL / A quick ERB primer
- Ruby code, executing / Executing Ruby
- Ruby code execution, variable replacement / Variable replacement
F
- fetch_from_s3 method / Implementing the provider
G
- gems
- managing, with RVM / Managing gems
- gemset / Managing gems
H
- Hosted Chef
- URL / Working with Chef
I
- Image-O-Rama / Determining which recipes you need
- image-processing role
- defining / An image-processing role
- image search role
- defining / An image search role
- infrastructure modeling
- steps / Modeling your infrastructure
- about / Modeling your infrastructure
- Chef, using / Modeling your infrastructure
- service-oriented web application, services / Modeling your infrastructure
- service-oriented architecture, advantages / Modeling your infrastructure
- role / Roles
- role, implementing / Implementing a role
- recipes, determining / Determining which recipes you need
- recipes, applying to role / Applying recipes to roles
- role, mapping to node / Mapping your roles to nodes
- role, mapping to nodes / Mapping your roles to nodes
- nodes, converging / Converging a node
- environment / Environments
- installation
- Vagrant / Installing Vagrant
- installation, Chef server
- about / Installing a Chef server
- requisites / Requirements and recent changes, Installation requirements
- components / What you will be installing
- omnibus installer, obtaining / Getting the installer
- on Ubuntu / Installing on Ubuntu
- on Red Hat Enterprise Linux / Installing on Red Hat Enterprise Linux
- instance, Amazon EC2
- provisioning / Provisioning an instance
- bootstrapping / Bootstrapping the instance
- terminating / Terminating the instance
- instance, Rackspace Cloud
- provisioning / Provisioning an instance
- terminating / Terminating an instance
- integration, Chef / Automation and integration
- integration testing
- about / Integration testing
- Test Kitchen, using / Using Test Kitchen
K
- knife-rackspace plugin / Provisioning an instance
- knife node list / Interacting with the Chef server using the shell
- knife plugin, Amazon EC2
- installing / Installing the EC2 knife plugin
- knife search node... / Interacting with the Chef server using the shell
- knife tool / Validating that your service is working
- used, for searching databags / Searching your data bags with knife
L
- large-scale infrastructure / Large-scale infrastructure
- load_current_resource method / Loading an existing resource
- local environment
- configuring / Configuring your local environment
M
- Mash, Chef / Using attributes
- matching ChefSpec test
- metadata
- about / Metadata
- mock methods / RSpec and ChefSpec
- multiple attribute files
- about / Multiple attribute files
- multiple platforms, supporting / Supporting multiple platforms
- external attributes, loading / Loading external attributes
- multiple machines
- managing, with search queries / Managing multiple machines with search queries
- mysql / Looking at the database recipe
N
- *name parameter / Writing a definition for using PIP
- new host
- provisioning, with Vagrant / Provisioning a new host with Vagrant
- node / Terminology
- about / Getting to know Chef
- role, mapping to / Mapping your roles to nodes
- converging / Converging a node
- node attributes
- defining / Defining node attributes
- setting / Setting attributes
- accessing / Accessing attributes
- node delete command / Removing the Chef node
- node hash / Using attributes
O
- Ohai plugin
- writing / Writing an Ohai plugin, A note about writing Ohai plugins
- attributes / Writing an Ohai plugin
- omnibus installation package, Chef / Requirements and recent changes
- omnibus installer, Chef server
- obtaining / Getting the installer
- outline / Installation outline
- steps / Installation outline
- OpenSSH service role
- defining / An OpenSSH service role
P
- PIP
- used, for writing definition / Writing a definition for using PIP
- postgresql / Looking at the database recipe
- PostgreSQL service role
- defining / A PostgreSQL service role
- provider / Getting to know Chef
- about / Building a resource
- implementing / Implementing the provider
- Python application
- modelling / Modeling a simple Python application
- Python requirements file
- using / Using Python's requirements file
- Python virtual environment
- constructing / Constructing your Python virtual environment
- Pythons requirements file
- using / Using Python's requirements file
R
- Rackspace Cloud
- about / Rackspace Cloud
- instance, provisioning / Provisioning an instance
- instance, terminating / Terminating an instance
- Chef node, removing / Removing the Chef node
- read-eval-print-loop (REPL) / Getting to know the Chef shell
- recipe / Terminology
- about / Getting to know Chef
- determining / Determining which recipes you need
- need for / Determining which recipes you need
- cookbook, installing / Installing a cookbook
- applying, to role / Applying recipes to roles
- executing / Starting out small
- testing / Testing recipes
- testing, with ChefSpec / Testing recipes
- building / Building your recipe
- tests, executing / Executing tests
- failures / Understanding failures
- creating, in Chef shell / Creating a recipe in the shell
- recipes
- about / Recipes, Recipes
- starting states / Recipes
- developing / Developing recipes
- writing / Writing recipes
- simple service, installing / Installing a simple service
- complicated recipe, actions / Getting more advanced
- enhancing, with search method / Searching inside recipes
- databags, searching from / Searching your data bags from a recipe
- recipes, executing with Chef shell
- about / Executing recipes with Chef shell, Interactively executing recipes
- recipe mode / Creating a recipe in the shell
- attribute mode / Creating a recipe in the shell
- node attributes, defining / Defining node attributes
- attributes, setting / Setting attributes
- attributes, accessing / Accessing attributes
- configuration blocks, using / Using configuration blocks
- Red Hat Enterprise Linux
- Chef server, installing on / Installing on Red Hat Enterprise Linux
- resource / Getting to know Chef
- building / Building a resource
- package resource / Building a resource
- defining / Defining the resource
- provider, implementing / Implementing the provider
- modifying / Modifying resources
- existing resource, loading / Loading an existing resource
- updated status, declaring / Declaring that a resource was updated
- resources
- about / Resources
- built-in resources / Resources
- using / Using resources
- default behavior, overriding / Overriding a default behavior
- reusable resources, defining in Chef
- benefits / Defining a full application template
- role
- about / Getting to know Chef, Roles
- defining / Defining roles
- implementing / Implementing a role
- applying, to recipes / Applying recipes to roles
- mapping, to node / Mapping your roles to nodes
- role, defining
- about / Defining roles
- web application service role / A web application service role
- image-processing role / An image-processing role
- image search role / An image search role
- PostgreSQL service role / A PostgreSQL service role
- Solr service role / A Solr service role
- OpenSSH service role / An OpenSSH service role
- roles
- defining / Defining roles
- base server role, creating / Creating the base server role
- database server role, creating / Creating the database server role
- web server role, creating / Creating the web server role
- roles, using with Chef-solo
- about / Using roles and data bags with Chef-solo
- custom JSON data, injecting / Injecting custom JSON data
- custom node name, providing / Providing a custom node name
- RSpec
- about / RSpec
- and ChefSpec / RSpec and ChefSpec
- testing levels / RSpec and ChefSpec
- comparing, with testing libraries / Comparing RSpec with other testing libraries
- failures / Understanding failures
- Ruby
- dependencies, locking / Locking your dependencies in Ruby
- Ruby gem mechanism / The Ruby gem
- Ruby Version Manager (RVM)
- about / The Ruby gem
- URL / Managing gems
- run list / Getting to know Chef
- runner / Testing for multiple platforms
S
- search method
- used, for enhancing recipes / Searching inside recipes
- search queries
- used, for managing multiple machines / Managing multiple machines with search queries
- secret keys, databags
- managing, with search queries / Secret keys
- server list subcommand / Terminating an instance
- service-oriented architecture (SOA) / Vagrant and Chef-solo
- setup
- describing / Describing the setup
- shell user recipe
- evolution / Evolution of a shell user recipe
- software
- deploying, with Chef / Deploying software with Chef
- deploying / Deploying your software
- software deployment
- updates, deploying manually / Manually deploying updates
- automating / Automating deployment
- solo mode, Chef shell / The solo mode
- Solr service role
- defining / A Solr service role
- source code
- checking / Checking the source code
- SSH keys
- distributing / Distributing SSH keys
- authorized keys, templating / Templating the authorized keys
- deployment keys, adding / Adding deployment keys
- standalone mode, Chef shell / The standalone mode
- supervisord service
T
- templates
- about / Templates
- need for / Why use templates?
- ERB primer / A quick ERB primer
- template resource / The template resource
- variables / The template variables
- variables, passing to / Passing variables to a template
- computed configuration, accessing / Accessing computed configurations
- searching for / Searching for templates
- search order / Searching for templates
- terminology, Chef
- node / Terminology
- Chef service / Terminology
- workstation / Terminology
- recipe / Terminology
- cookbook / Terminology
- test-driven-development (TDD) / Testing basics
- Test Kitchen
- using / Using Test Kitchen
- installing / Installing Test Kitchen
- used, for testing / Testing with Test Kitchen
- tasks / Testing with Test Kitchen
- cookbook, building / Building a simple cookbook
- cookbook, preparing for / Preparing your cookbook for the kitchen
- cookbook, testing / Testing your new cookbook
U
- Ubuntu
- Chef server, installing on / Installing on Ubuntu
- updated_by_last_action method / Declaring that a resource was updated
- user cookbook
- enhancing / Enhancing your user cookbook
- user management
- Chef / Managing users
- shell user recipe, evolution / Evolution of a shell user recipe
- data, storing in data bags / Storing data in data bags
- recipe, enhancing with search method / Searching inside recipes
- user cookbook, enhancing / Enhancing your user cookbook
- SSH keys, distributing / Distributing SSH keys
- users
- adding / Adding users
- managing / Managing users
V
- Vagrant
- about / Vagrant and Chef-solo
- installing / Installing Vagrant
- URL / Installing Vagrant
- used, for provisioning new host / Provisioning a new host with Vagrant
- image, booting / Booting your Vagrant image
- combining, with Chef-solo / Combining Vagrant with Chef-solo, Understanding the limitations of Chef-solo, Telling Chef-solo what to run
- Vagrant Cloud
- Vagrant image
- booting / Booting your Vagrant image
W
- web application service role
- defining / A web application service role
- web server
- configuring / Configuring the web server
- web server role
- creating / Creating the web server role
- why-run mechanism / Implementing the provider
- workstation / Terminology, Getting to know Chef
Y
- YAML / Deploying software with Chef