<commit_before>---
title: Initializing BOSH environment on SoftLayer
---

This document shows how to initialize new [environment](terminology.html#environment) on SoftLayer.

## <a id="create-manifest"></a>Step 1: Create a Deployment Manifest

1. Create a deployment directory.

    <pre class='terminal'>
    $ mkdir ~/my-bosh
    </pre>

1. Create a deployment manifest file named `bosh.yml` in the deployment directory based on the template below.

    <p class="note"><strong>Note</strong>: The example below uses several predefined passwords. We recommend replacing them with passwords of your choice.</p>

<pre id="manifest">
---
name: bosh

releases:{{ range .Releases }}
- name: {{ .Name }}
  url: {{ .UserVisibleDownloadURL }}
  sha1: {{ .TarballSHA1 }}{{ end }}

resource_pools:
- name: vms
  network: default
  stemcell:
    url: file://./light-bosh-stemcell-3169-softlayer-esxi-ubuntu-trusty-go_agent.tgz # <--- Replace with the one in bosh.io when it come to public
  cloud_properties:
    Domain: softlayer.com
    VmNamePrefix: bosh-softlayer
    EphemeralDiskSize: 100
    StartCpus: 4
    MaxMemory: 8192
    Datacenter:
      Name: SOFTLAYER-DATACENTER-NAME # <--- Replace with the datacenter (like lon02) for your environment
    HourlyBillingFlag: true
    PrimaryNetworkComponent:
      NetworkVlan:
        Id: SOFTLAYER-PUBLIC-VLAN # <--- Replace with the public vlan id for your environment
    PrimaryBackendNetworkComponent:
      NetworkVlan:
        Id: SOFTLAYER-PRIVATE-VLAN # <--- Replace with the private vlan id for your environment
    NetworkComponents:
    - MaxSpeed: 1000

disk_pools:
- name: disks
  disk_size: 40_000

networks:
- name: default
  type: dynamic
  dns: 
  - 8.8.8.8

jobs:
- name: bosh
  instances: 1

  templates:
  - {name: nats, release: bosh}
  - {name: postgres, release: bosh}
  - {name: blobstore, release: bosh}
  - {name: director, release: bosh}
  - {name: health_monitor, release: bosh}
  - {name: powerdns, release: bosh}
  - {name: softlayer_cpi, release: bosh-softlayer-cpi}

  resource_pool: vms
  persistent_disk_pool: disks

  networks:
  - name: default

  properties:
    nats:
      user: nats
      password: <PASSWORD>
      auth_timeout: 3
      address: 127.0.0.1
      listen_address: 0.0.0.0
      port: 4222
      no_epoll: false
      no_kqueue: true
      http:
        port: 9222

    postgres: &20585760
      user: postgres
      password: <PASSWORD>
      host: 127.0.0.1
      database: bosh
      adapter: postgres

    blobstore:
      address: 127.0.0.1
      director:
        user: director
        password: <PASSWORD>
      agent:
        user: agent
        password: <PASSWORD>
      port: 25250
      provider: dav

    director:
      cpi_job: softlayer_cpi
      address: 127.0.0.1
      name: bosh
      db:
        adapter: postgres
        database: bosh
        host: 127.0.0.1
        password: <PASSWORD>
        user: postgres
      enable_virtual_delete_vms: true

    hm:
      http:
        user: hm
        password: <PASSWORD>
        port: 25923
      director_account:
        user: admin
        password: <PASSWORD>
      intervals:
        log_stats: 300
        agent_timeout: 180
        rogue_agent_alert: 180

    dns:
      address: 127.0.0.1
      domain_name: microbosh
      db: *20585760
      webserver:
        port: 8081
        address: 0.0.0.0

    softlayer: &softlayer
      username: SOFTLAYER-USER-ID # <--- Replace with your softlayer user id
      apiKey: SOFTLAYER-API-KEY # <--- Replace with your softlayer api key

    agent: {mbus: "nats://nats:nats-password@127.0.0.1:4222"}

    ntp: &ntp []

cloud_provider:
  template: {name: softlayer_cpi, release: bosh-softlayer-cpi}

  # Tells bosh-init how to contact remote agent
  mbus: https://admin:admin-password@bosh-softlayer.softlayer.com:6868
<commit_msg>Change 127.0.0.1 to the director ip 10.1.2.3<commit_after>---
title: Initializing BOSH environment on SoftLayer
---

This document shows how to initialize new [environment](terminology.html#environment) on SoftLayer.

## <a id="create-manifest"></a>Step 1: Create a Deployment Manifest

1. Create a deployment directory.

    <pre class='terminal'>
    $ mkdir ~/my-bosh
    </pre>

1. Create a deployment manifest file named `bosh.yml` in the deployment directory based on the template below.

    <p class="note"><strong>Note</strong>: The example below uses several predefined passwords. We recommend replacing them with passwords of your choice.</p>

<pre id="manifest">
---
name: bosh

releases:{{ range .Releases }}
- name: {{ .Name }}
  url: {{ .UserVisibleDownloadURL }}
  sha1: {{ .TarballSHA1 }}{{ end }}

resource_pools:
- name: vms
  network: default
  stemcell:
    url: file://./light-bosh-stemcell-3169-softlayer-esxi-ubuntu-trusty-go_agent.tgz # <--- Replace with the one in bosh.io when it come to public
  cloud_properties:
    Domain: softlayer.com
    VmNamePrefix: bosh-softlayer
    EphemeralDiskSize: 100
    StartCpus: 4
    MaxMemory: 8192
    Datacenter:
      Name: SOFTLAYER-DATACENTER-NAME # <--- Replace with the datacenter (like lon02) for your environment
    HourlyBillingFlag: true
    PrimaryNetworkComponent:
      NetworkVlan:
        Id: SOFTLAYER-PUBLIC-VLAN # <--- Replace with the public vlan id for your environment
    PrimaryBackendNetworkComponent:
      NetworkVlan:
        Id: SOFTLAYER-PRIVATE-VLAN # <--- Replace with the private vlan id for your environment
    NetworkComponents:
    - MaxSpeed: 1000

disk_pools:
- name: disks
  disk_size: 40_000

networks:
- name: default
  type: dynamic
  dns: 
  - 8.8.8.8

jobs:
- name: bosh
  instances: 1

  templates:
  - {name: nats, release: bosh}
  - {name: postgres, release: bosh}
  - {name: blobstore, release: bosh}
  - {name: director, release: bosh}
  - {name: health_monitor, release: bosh}
  - {name: powerdns, release: bosh}
  - {name: softlayer_cpi, release: bosh-softlayer-cpi}

  resource_pool: vms
  persistent_disk_pool: disks

  networks:
  - name: default

  properties:
    nats:
      user: nats
      password: <PASSWORD>
      auth_timeout: 3
      address: 127.0.0.1
      listen_address: 0.0.0.0
      port: 4222
      no_epoll: false
      no_kqueue: true
      http:
        port: 9222

    postgres: &20585760
      user: postgres
      password: <PASSWORD>
      host: 127.0.0.1
      database: bosh
      adapter: postgres

    blobstore:
      address: 127.0.0.1
      director:
        user: director
        password: <PASSWORD>
      agent:
        user: agent
        password: <PASSWORD>
      port: 25250
      provider: dav

    director:
      cpi_job: softlayer_cpi
      address: 127.0.0.1
      name: bosh
      db:
        adapter: postgres
        database: bosh
        host: 127.0.0.1
        password: <PASSWORD>
        user: postgres
      enable_virtual_delete_vms: true

    hm:
      http:
        user: hm
        password: <PASSWORD>
        port: 25923
      director_account:
        user: admin
        password: <PASSWORD>
      intervals:
        log_stats: 300
        agent_timeout: 180
        rogue_agent_alert: 180

    dns:
      address: 127.0.0.1
      domain_name: microbosh
      db: *20585760
      webserver:
        port: 8081
        address: 0.0.0.0

    softlayer: &softlayer
      username: SOFTLAYER-USER-ID # <--- Replace with your softlayer user id
      apiKey: SOFTLAYER-API-KEY # <--- Replace with your softlayer api key

    agent: {mbus: "nats://nats:nats-password@10.1.2.3:4222"}

    ntp: &ntp []

cloud_provider:
  template: {name: softlayer_cpi, release: bosh-softlayer-cpi}

  # Tells bosh-init how to contact remote agent
  mbus: https://admin:<PASSWORD>@b<EMAIL>.<EMAIL>:6868

{'fraction_non_alphanumeric': 0.10391800726517904, 'fraction_numerical': 0.03736377789309808, 'mean_word_length': 2.5104735883424407, 'pattern_counts': {'":': 0, '<': 50, '<?xml version=': 0, '>': 38, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 23, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2853505', 'n_tokens_mistral': 2797, 'n_tokens_neox': 2553, 'n_words': 704}