Code Monkey home page Code Monkey logo

bosh-lite's Introduction

BOSH Lite

A local development environment for BOSH using Warden containers in a Vagrant box.

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.

  1. Install BOSH Lite
    1. Prepare the Environment
    2. Install and Boot a Virtual Machine
    3. Customizing the Local VM IP
  2. Deploy Cloud Foundry
  3. Troubleshooting
  4. Upgrading the BOSH Lite VM
  5. Miscellaneous

Install BOSH Lite

Prepare the Environment

  1. 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.

  2. Install Vagrant

    Known working version:

    $ vagrant --version
    Vagrant 1.6.3
    
  3. Clone this repository

    $ cd ~/workspace
    $ git clone https://github.com/cloudfoundry/bosh-lite
    

Install and Boot a Virtual Machine

Installation instructions for different Vagrant providers:

  • VirtualBox (below)
  • AWS

Using the VirtualBox Provider

  1. Make sure your machine has at least 8GB RAM, and 100GB free disk space. Smaller configurations may work.

  2. Install VirtualBox

    Known working version:

    $ VBoxManage --version
    4.3.14r95030
    

    Note: If you encounter problems with VirtualBox networking try installing Oracle VM VirtualBox Extension Pack as suggested by Issue 202.

  3. 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
    
  4. 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.

  5. 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'
    
    $ bosh login
    Your username: admin
    Enter password: *****
    Logged in as `admin'
    
  6. 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
    

Customizing the Local VM IP

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

Deploy Cloud Foundry

See deploying Cloud Foundry documentation for detailed instructions. Alternatively, check out CF Release as ~/workspace/cf-release and run ./bin/provision_cf from this repository.

Troubleshooting

Upgrading the BOSH Lite VM

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

Miscellaneous

bosh-lite's People

Contributors

cppforlife avatar krishicks avatar mkocher avatar kaixiang avatar drnic avatar mariash avatar sykesm avatar zaksoup avatar vito avatar adamstegman avatar gerhard avatar xtreme-andrei-dinin avatar phanle avatar mikegehard avatar ajackson avatar calebamiles avatar chou avatar mmb avatar maxbrunsfeld avatar thansmann avatar tjarratt avatar datianshi avatar squeedee avatar michaelklishin avatar leoross avatar jfoley avatar fhanik avatar dsboulder avatar cdavisafc avatar xchoi avatar

Watchers

Omar Elazhary avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.