anchor.diff:  title: BOSH Components
   ---
   
  -This topic describes the components of BOSH.
  +This topic describes the components of BOSH and provides an example component interaction.
  +
   <%= image_tag("/images/components.png") %>
   
  -## <a id="agent"></a>Agent ##
  +## <a id="list"></a>List of BOSH Components ##
  +
  +### <a id="agent"></a>Agent ###
   BOSH creates an Agent on every VM that BOSH deploys.
   A BOSH Agent listens for instructions from the BOSH Director to the VM and
   carries out those instructions.
  
positive.code: 1. The Director uses the CPI to tell the IaaS to launch a VM.
  1. The IaaS provides the Director with information (IP addresses and IDs) the
  Agent on the VM needs to configure the VM.
  1. The Director updates the BOSH Registry with the configuration information for 
  the VM.
  1. The Agent running on the VM requests the configuration information for the VM
  from the BOSH Registry.
  
negative.code: When you deploy a release, BOSH orchestrates the compilation of packages and
  stores the result in the Blobstore.
  
  ### <a id="cli"></a>BOSH Command Line Interface (CLI) ###
  The BOSH Command Line Interface (CLI) is the primary operator interface to BOSH.
  An operator uses the CLI to interact with the BOSH Director and perform actions
  on the cloud.
  
  ### <a id="database"></a>BOSH Database ###
  The BOSH Director uses a Postgres database to store information about the
  desired state of a BOSH deployment.
  This includes information about releases, packages, stemcells, and deployments.
  
  ### <a id="name-server"></a>BOSH DNS Name Server ###
  BOSH uses PowerDNS to provide DNS resolution between the VMs in a BOSH
  deployment.
  
  ### <a id="cpi"></a>Cloud Provider Interface (CPI) ###
  A Cloud Provider Interface (CPI) is an API that BOSH uses to interact with an
  Infrastructure as a Service (IaaS) provider to create and manage stemcells and
  VMs.
  A CPI abstracts the cloud infrastructure from the rest of BOSH.
  
  ### <a id="director"></a>Director ###
  The BOSH Director is the core orchestrating component in BOSH.
  The Director controls VM creation and deployment, as well as other software and
  service lifecycle events.
  