BOSH Release for Diego
Go Shell HTML Other
Latest commit 8a01c57 Feb 18, 2017 @luan luan bump buildpackapplifecycle cacheddownloader executor

Submodule src/ c02ffe7a..e1a87111:
  > Pass down a logger to downloader
Submodule src/ aee7a07b..5a3f8dfc:
  > Add logs around file cache methods
  > Accept logger paramenters on all public methods
  > Refactor cached downloader constructor
Submodule src/ c7a1848d..1abc78df:
  > Pass down a logger to downloader
  > Use new and improved cached downloader constructor

Signed-off-by: Nima Kaviani <>

Cloud Foundry Diego (BOSH release)

This repo is a BOSH release for deploying Diego and associated tasks for testing a Diego deployment. Diego is the new container runtime system for Cloud Foundry, replacing the DEAs and Health Manager.

This release relies on a separate deployment to provide Consul, NATS, and Loggregator. In practice, these typically come from cf-release.

The Diego Design Notes present an overview of Diego, and links to the various Diego components.

Table of Contents

  1. Diego Operator Resources
    1. Deployment Examples: BOSH-Lite and AWS
    2. Deployment Requirements and Constraints
    3. Deploying Diego-Backed Cloud Foundry
    4. Security Configuration
    5. Data Store Configuration
    6. Component Coordination
    7. Monitoring and Inspection
  2. CF App Developer Resources
  3. Diego Contributor Resources

Diego Operator Resources

Deployment Examples: BOSH-Lite and AWS

Deployment Requirements and Constraints

  • Required BOSH Versions details the minimum BOSH director and stemcell versions required to deploy Diego correctly.
  • Deployment Constraints describes the dependencies that must be deployed before deploying the Diego cluster and restrictions on Diego instance update order and rates to ensure correct cluster operation.

Deploying Diego-Backed Cloud Foundry

Security Configuration

  • TLS Configuration describes how to generate TLS certificates for secure communication with Consul, the Diego BBS, and the Diego cell reps.
  • Upgrading the cell rep API to mutual TLS explains how to transition an existing Diego deployment to use mutual TLS for communication to the cell rep API without incurring downtime.
  • Upgrading the auctioneer API to mutual TLS explains how to transition an existing Diego deployment to use mutual TLS for communication from the BBS to the auctioneer API without incurring downtime.
  • (Experimental) Instance Identity explains how to enable instance identity.

Data Store Configuration

  • Supported Data Stores for Diego describes how to configure Diego to use either SQL for its data store and how to arrange automatic migration of data from etcd to MySQL or Postgres for old deployment that are using etcd.
  • Data Store Encryption explains how to manage the ring of encryption keys that Diego uses to secure data at rest.

Component Coordination

  • (Experimental) Migrating from Consul to SQL Locks explains how to migrate the BBS and auctioneer from coordinating around a lock in Consul to coordinating around one stored in the Diego relational database.

Monitoring and Inspection

  • Diego Metrics lists the various metrics that Diego emits through the Loggregator system.
  • cfdot Setup shows how to set up the cfdot CF Diego Operator Tool CLI for use in inspecting and interacting with a Diego deployment.

CF App Developer Resources

  • Migrating to Diego describes how developers can switch from the DEAs to Diego and details various operational differences between the DEAs and Diego.
  • The Docker Support Notes describe how Diego runs Docker-image-based apps in Cloud Foundry.

Diego Contributor Resources

  • The Contribution Guidelines describes the developer workflow for making changes to Diego.
  • The CF Runtime Diego Pivotal Tracker project shows active areas of work for the Diego team in the backlog section.
  • The Diego Dev Notes provide a detailed explanation of how the Diego components and internal state machine interact, as well as information on development workstation setup.
  • The BBS Benchmarks provides information about results from the BBS benchmark tests that run in the Diego team's continuous integration testing pipeline.