- Slack: #bosh on https://slack.cloudfoundry.org
- Mailing lists:
- CI: https://bosh-lite.ci.cf-app.com/pipelines/bosh-lite
- Roadmap: Pivotal Tracker (label:bosh-lite)
BOSH Lite is a pre-built Vagrant box which includes the Director. It uses containers (via Warden/Garden CPI) to emulate VMs which makes it an excellent choice for:
- General BOSH exploration without investing time and resources to configure an IaaS
- Development of releases (including BOSH itself)
- Testing releases locally or in CI
This readme walks through deploying Cloud Foundry with BOSH Lite. BOSH and BOSH Lite can be used to deploy just about anything once you've got the hang of it.
-
Install latest version of
bosh_cli
$ gem install bosh_cli --no-ri --no-rdoc
Refer to BOSH CLI installation instructions for more information and troubleshooting tips.
-
Install Vagrant
Known working version:
$ vagrant --version Vagrant 1.7.4
-
Clone this repository
$ cd ~/workspace $ git clone https://github.com/cloudfoundry/bosh-lite $ cd bosh-lite
Installation instructions for different Vagrant providers:
- VirtualBox (below)
- AWS
-
Make sure your machine has at least 8GB RAM, and 100GB free disk space. Smaller configurations may work.
-
Install VirtualBox
Known working version:
$ VBoxManage --version 5.1...
Note: If you encounter problems with VirtualBox networking try installing Oracle VM VirtualBox Extension Pack as suggested by Issue 202. Alternatively make sure you are on VirtualBox 5.1+ since previous versions had a network connectivity bug.
-
Start Vagrant from the base directory of this repository, which contains the Vagrantfile. The most recent version of the BOSH Lite boxes will be downloaded by default from the Vagrant Cloud when you run
vagrant up
. If you have already downloaded an older version you will be warned that your version is out of date.$ vagrant up --provider=virtualbox
-
When you are not using your VM we recommmend to Pause the VM from the VirtualBox UI (or use
vagrant suspend
), so that VM can be later simply resumed after your machine goes to sleep or gets rebooted. Otherwise, your VM will be halted by the OS and you will have to recreate previously deployed software. -
Target the BOSH Director. When prompted to log in, use admin/admin.
# if behind a proxy, exclude both the VM's private IP and xip.io by setting no_proxy (xip.io is introduced later) $ export no_proxy=xip.io,192.168.50.4 $ bosh target 192.168.50.4 lite Target set to `Bosh Lite Director' Your username: admin Enter password: ***** Logged in as `admin'
-
Add a set of route entries to your local route table to enable direct Warden container access every time your networking gets reset (e.g. reboot or connect to a different network). Your sudo password may be required.
$ bin/add-route
The local VMs (virtualbox, vmware providers) will be accessible at 192.168.50.4
. You can optionally change this IP, uncomment the private_network
line in the appropriate provider and change the IP address.
config.vm.provider :virtualbox do |v, override|
# To use a different IP address for the bosh-lite director, uncomment this line:
# override.vm.network :private_network, ip: '192.168.59.4', id: :local
end
CA certificate that can be used with the BOSH CLI is saved in ca/certs/ca.crt
. It's created for 192.168.50.4
and *.sslip.io
.
See deploying Cloud Foundry documentation for detailed instructions. Alternatively, check out CF Release as ~/workspace/cf-release
and return to the bosh-lite
repository and run ./bin/provision_cf
.
- See troubleshooting doc for solutions to common problems
If you wish to upgrade the BOSH Lite VM, you can run the following commands from the root of the bosh-lite
directory. Make sure you have the latest version of this repository checked out. WARNING: these operations are destructive, and essentially amount to starting from scratch.
$ git pull
$ vagrant box update
$ vagrant destroy
$ vagrant up --provider=DESIRED_PROVIDER
- Warden CPI's cloud properties for configuring deployment manifest
- bosh cck documentation for restoring deployments after VM reboot
- bosh ssh documentation for SSH into deployment jobs
- Offline documentation to configure BOSH lite firewall rules
- xip.io to access local IPs via DNS
- Dev documentation to find out how to build custom bosh-lite boxes