Pivotal Cloud Foundry 1.6 ships with .NET support / by Mark Kropf

Last week Pivotal shipped the 1.6 release of its enterprise distribution of Cloud Foundry (PCF). This release is a really big deal for a number of reasons such as: spring cloud services, diego, docker, and .NET. The Pivotal team in NYC was able to GA the .NET support delivered in PCF at the same time as the new Elastic Runtime (Diego) was integrated into PCF. This marks a major milestone for PCF customers by adding native support for .NET developers that leverages containers we've implemented on Windows 2012. 

While this is the first release for the .NET support on Windows, we've put a lot of time into polishing the experience of deploying Windows cells without bosh being supported yet. To deploy Windows capacity, first deploy or upgrade an OpsManager install with the latest 1.6 release. Use OpsManager to deploy or upgrade the Elastic Runtime tile to the 1.6 release. It is important when deploying the 1.6 release of Elastic Runtime, that "diego" vm's are added to the installed capacity. 

Now with a fully function PCF 1.6 environment installed with diego capacity, the Windows capacity can be added using the following steps.


  • A Windows Server 2012R2 VM instance that is routable to your Diego deployment
  • See recommended instance types in the GitHub Diego release repo for details.
  • If you are creating a new Windows image, and not using one predefined and supplied by your IaaS, we recommend using this ISO image as a starting point.
  • A new subnet for the Windows cell
  • You should place the Windows cell and BOSH in separate subnets to avoid potential conflicts. A BOSH deploys fails if the Windows cell uses an IP address that BOSH needs.

Step 1: Configure the Windows Cell

Follow the instructions below to download and configure the Windows cell.

  1. From your Windows cell, log in to the Pivotal Network.

  2. Download the setup.ps1 file from the DiegoWindows folder in Elastic Runtime.

  3. Open File Explorer.

  4. Right-click on the setup.ps1 file and select Run with PowerShell. The setup.ps1 script configures Windows features, DNS settings, and the firewall for your Windows cell.

Step 2: Run the Install Script Generator

  1. Download generate.exe from the DiegoWindows folder in Elastic Runtime.

    Note: If you download the file using Internet Explorer, the .exe extension will be removed. You must rename the file to add the .exe extension.

  2. From a command prompt, run generate.exe with the following arguments: $ generate.exe -boshUrl https://username:password@bosh-director.example.com:25555 -windowsUsername=Administrator -windowsPassword=Password123 -outputDir C:\diego-windows

    • boshUrl: Find your boshUrl in the troubleshooting documentation.
    • windowsUsername: Used to run Containerizer. The user provided must be a member of the Administrators group. All other services will run as the SYSTEM user.
    • outputDir: This specifies the directory that will contain the required certificates and a script to run the installers.

Step 3: Install the MSI

  1. Download both DiegoWindows.msi and GardenWindows.msi from the DiegoWindows folder in Elastic Runtime to the outputDir that you specified above.

  2. Run install.bat from the outputDir.

At this point you should have a completed install of PCF 1.6 with .NET support installed. Pushing .NET applications uses the same CF client that works with linux development stacks. A good sample application to push to PCF can be found here: https://github.com/Pivotal-Field-Engineering/pcf-dotnet-environment-viewer

We're excited to finally deliver support to our large community of .NET developers with this release. We'd also like to thank all of our Alpha & Beta customers that helped provide the requirements that defined this first release.