Skip to content


This document shows how to create new environment on SoftLayer.

Step 1: Prepare a SoftLayer Environment

To prepare your SoftLayer environment:

Create a SoftLayer account

If you do not have an SoftLayer account, create one for one month free.

Use the login credentials received in your provided email to login to SoftLayer Customer Portal.

Generate an API Key

API keys are used to securely access the SoftLayer API. Follow Generate an API Key to generate your API key.

Access SoftLayer VPN

To access SoftLayer Private network, you need to access SoftLayer VPN. Follow VPN Access to access the VPN. You can get your VPN password from your user profile. Follow VPN Access to access the VPN.

Order VLANs

VLANs provide the ability to partition devices and subnets on the network. To order VLANs, login to SoftLayer Customer Portal and navigate to Network > IP Management > VLANs. Once on the page, click the "Order VLAN" link in the top-right corner. Fill in the pop-up window to order the VLANs as you need. The VLAN IDs are needed in the deployment manifest.

Step 2: Deploy

  1. Install CLI v2.

  2. Establish VPN connection between your host and SoftLayer. The machine where to run CLI needs to communicate with the target Director VM over the SoftLayer private network.

  3. Use bosh create-env command to deploy the Director.

    # Create directory to keep state
    $ mkdir bosh-1 && cd bosh-1
    # Clone Director templates
    $ git clone
    # Fill below variables (replace example values) and deploy the Director
    $ sudo bosh create-env bosh-deployment/bosh.yml \
        --state=state.json \
        --vars-store=creds.yml \
        -o bosh-deployment/softlayer/cpi.yml \
        -v director_name=bosh-1 \
        -v internal_cidr= \
        -v internal_gw= \
        -v internal_ip= \
        -v sl_datacenter= \
        -v sl_vm_domain= \
        -v sl_vm_name_prefix= \
        -v sl_vlan_public= \
        -v sl_vlan_private= \
        -v sl_username= \
        -v sl_api_key=


    The reason why need to run bosh create-env command with sudo is that it needs to update /etc/hosts file which needs suffient permission.

  4. Connect to the Director.

    # Configure local alias
    $ bosh alias-env bosh-1 -e --ca-cert <(bosh int ./creds.yml --path /director_ssl/ca)
    # Log in to the Director
    $ export BOSH_CLIENT=admin
    $ export BOSH_CLIENT_SECRET=`bosh int ./creds.yml --path /admin_password`
    # Query the Director for more info
    $ bosh -e bosh-1 env
  5. Save the deployment state files left in your deployment directory bosh-1 so you can later update/delete your Director. See Deployment state for details.