O'Reilly logo

Learning Chef by Mischa Taylor, Seth Vargo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 overview
Figure 15-1. Environments overview

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required