PCF Tile Developer Guide v2.0

BOSH Releases

Page last updated:

This topic provides resources for creating a BOSH release that integrates a software service with Pivotal Cloud Foundry (PCF) at the managed service level.


A BOSH release is a directory that contains the source code for your service along with everything else that BOSH needs to deploy it reproducibly to cloud VMs running a specified operating system (stemcell). These contents include but are not limited to buildpacks, start up scripts, binary artifacts, and a BOSH manifest containing configuration and deployment properties.

The BOSH manifest specifies the following major components:

  • Packages that can be installed on PCF stemcells to create virtual machine images

  • Jobs that describe how to install, run, and remove your software

  • A Monitor script, that describes how to monitor the health of your service components and stop or restart them

BOSH Resources

These topics give more details on BOSH and BOSH releases:

Creating a BOSH Release

These topics explain how to create a BOSH release:

Shortcut: Start with Docker Images

If you have already packaged your service as Docker images, you can emulate a managed service deployment using the Tile Generator’s support for docker-bosh packages. This feature lets you deploy pre-existing Docker images into BOSH managed virtual machines on the PCF infrastructure.

While this is a great, easy way to deploy your service on PCF, we don’t recommend this as a long-term, production-ready solution. There is really no benefit of running your service in containers on the VMs, and it does have a number of operational (“day 2”) drawbacks:

  • You introduce more software (Docker) which needs to be kept up-to-date, and has the potential for bugs, downtime, and security vulnerabilities.

  • You can no longer take advantage of the patching capabilities of PCF for stemcells and application dependencies, like frameworks and libraries. Instead, you become directly responsible for managing all software that is in the Docker images you deploy.

Enhancing the BOSH Release

After the basic BOSH release is in place, additional features for logging help operators run the service. For logging information, see syslog-migration-release.

Logs written under the expected BOSH location /var/vcap/sys/log are forwarded to the configured syslog server by the release. Integrating syslog forwarding into a tile should not require code changes; it only requires including the release and configuration forms in the tile.yml. For an example, see pcf-examples/tile-for-bosh-with-syslog.

Create a pull request or raise an issue on the source for this page in GitHub