Chapter 15. Environments
Environments are a feature of Chef Server used to model the server configurations required during each phase of your software development lifecycle, as shown in Figure 15-1.

Environments reflect your patterns and workflow, and can be used to model the life stages of your application, such as:
- Development
- Testing
- Staging
- Production
Every Chef Server starts out with a single environment, the _default environment.
Environments might include attributes necessary for configuring your infrastructure, such as:
- The URL of a payment service API
- The location of a package repository
- The version of Chef configuration files that should be used
Environments allow for isolating resources on a Chef Server because environments can contain version constraints, unlike with roles. Environments still have a use even when you have Test Kitchen at your disposal, because you’ll probably want to do some testing against servers in your production environment.
Create a Dev Environment
Environments can be created and managed in the same fashion as data bags and roles, organized in a directory under chef-playground. The directory name is environments by default.
Use the chef-playground directory you created in Chapter 11. Use the same dual command prompt setup you used there. Start the chef-zero server on an open port in one window. We will be using port ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access