Skip to main content

Chef Infra Server

[edit on GitHub]

Overview

The Chef Infra Server page (Infrastructure > Chef Servers) lets you connect existing Chef Infra Servers to Chef Automate, view all of the connected Chef Infra Servers, and manage all of the objects on your connected Chef Infra Servers.

The Chef Infra Server acts as a hub for configuration data. The Chef Infra Server stores cookbooks, the policies that are applied to nodes, and metadata that describes each registered node that is being managed by Chef Infra Client.

Nodes use Chef Infra Client to ask the Chef Infra Server for configuration details, such as recipes, templates, and file distributions. Chef Infra Client then does as much of the configuration work as possible on the nodes themselves (and not on the Chef Infra Server).

This scalable approach distributes the configuration effort throughout the organization.

Chef Infra Server Page

The objects that you can manage from the Chef Infra Server are:

  • Cookbooks
  • Roles
  • Environments
  • Data Bags
  • Clients

Connect Chef Infra Servers to Chef Automate

The Chef Infra Server panel starts out with an empty list of servers.

To add existing Chef Infra Servers to the Chef Automate infrastructure, select Add Chef Server which will request the name, FQDN, and IP address of your Chef Infra Server:

Add Chef Server Form

Chef Automate will warn you if you enter an invalid FQDN or IP address:

Add Chef Server Form

Once you are finished, select Add Chef Server and you will see your server in the list of Chef Infra Servers.

Connect a Chef Organization to a Chef Infra Server

To see a list of existing organizations that are applied to a Chef Infra Server, select a Chef Infra Server from the Chef Servers list, then select the Orgs tab. Refer to the image below:

Chef Infra Server Organization

To create a new organization, see the documentation on setting up a Chef Infra Server.

To add an existing organization, select Add Chef Organization which will open a popup menu as shown below:

Add Chef Organization Form

Enter the Name, Projects, Admin User, and Admin Key fields using the same values that were provided when the organization was configured using Knife. Copy the contents of the ~/.chef/USER.pem file and paste it into the Admin Key field. Then select Add Chef Organization to add the organization to the Chef Infra Server.

Access Chef Infra Server components

The following Chef Infra Server components for an organization can be managed using Chef Automate:

  • Cookbooks
  • Roles
  • Environments
  • Data Bags
  • Clients

To access these components for an organization, select Chef Servers > Organizations and then select an organization. Refer to the image below:

Chef Infra Server Objects

Cookbooks

A cookbook is the fundamental unit of configuration and policy distribution. Include recipes and other files, components, or directories.

Roles

Roles let you define patterns and processes that exist across nodes in an organization as belonging to a single job function. Each role consists of zero (or more) attributes and a run-list.

Environments

An environment can be used to map an organization’s real-life workflow to what can be configured and managed when using Chef Infra. This mapping is accomplished by setting attributes and pinning cookbooks at the environment level.

Data Bags

Data bags store global variables as JSON data. Data bags are indexed for searching and can be loaded by a cookbook or accessed during a search.

Clients

Chef Infra Clients provide secure API access to the Chef Infra Server.

Troubleshoot

While fetching any objects like cookbooks, you might face an error Could not get cookbooks: organization 'no-org' does not exist, which means the provided organization does not exist on Chef Infra Server.

Could not get cookbooks: Organization

Create the organization using the knife command, knife opc org create or the Chef Infra Server CLI command, chef-server-ctl org-create, then add the Name, Projects, Admin User, and Admin Key to fetch the objects.

Was this page helpful?