This page is intended to provide an overview of the process by which Flexiant Cloud Orchestrator offers integration with Chef and the capabilities of this integration.
Chef is an open source configuration management application developed by a company called Opscode. Chef enables you to manage the configurations of servers in one place using Recipes, which provide servers with instructions on which packages to install and which services to start. For more details about Chef, see http://www.opscode.com/chef/.
How Chef integration works
Flexiant Cloud Orchestrator integrates with Chef using the following process:
- Flexiant Cloud Orchestrator's integration with Chef involves sending data to a Chef server and using this to retrieve the appropriate server configuration. To determine the data that is sent to the Chef server, keys must be set on the following resources:
- Deployment instance
- Deployment template
Key values can overwrite each other. For information about which keys overwrite which, see Chef settings hierarchy.
For information about how to set Chef settings on a resource, refer to the appropriate resource in the Creating and Managing Resources section of the User Guide.
The keys are set using information from an existing Chef account. The following keys are required:
Whether or not to enable Chef.
All except BE/MBE
Chef repository URL
URL of the Chef repository.
Chef server URL
URL of the Chef server.
Chef PGP key
Authentication for the Chef repository.
BE, MBE, Image, Customer
Display name for the server in Chef.
Nodes (resources) are grouped by environment in Chef.
The account name for your Chef account.
All except server
The password for your Chef account.
All except server
Recipes define portions of configuration passed to a server.
Roles are used to set precedence for configurations.
The cloud-init part must contain all the settings indicated by a Yes value in the Required? column. If any of the required keys are not present, the cloud-init part is not sent to the Chef server.
- When a server for which Chef settings have been specified boots for the first time, the keys are composed into a cloud-init part by an inbuilt trigger.
- The cloud-init part is sent to the Chef server specified by the Chef Server URL key.
- The Chef server installs a Chef client on each server the cloud-init part applies to.
- The Chef server selects the appropriate Recipe (server configuration) based on information in the cloud-init part and passes the configuration to the Chef clients installed on the servers.
- The configuration of the server is updated by the Chef client.