sprout-bosh

Build Status

This project uses soloist and librarian-chef to run a subset of the recipes in sprout's cookbooks.

Fork it to customize its attributes in soloistrc and the list of recipes you'd like to use for your team. You may also want to add other cookbooks to its Cheffile, perhaps one of the many community cookbooks. By default it configures an OS X Mavericks workstation for Ruby development.

Finally, if you've never used Chef before - we highly recommend you buy & watch this excellent 17 minute screencast by Ryan Bates.

Installation under Mavericks (OS X 10.9)

1. Add an ssh key to the machines ssh-agent with access to all the repos you are cloning:

The list of repos we clone can be found in the soloistrc under the key: node_attributes->sprout->git->projects

ssh-add -D
ssh-add -t 5H [path/to/private-key]

2. Clone this project

git clone https://github.com/pivotal-cf/sprout-bosh.git #note you may not have git yet, and will be prompted to install the command-line developer tools.  Go ahead and install
cd sprout-bosh

3. Install soloist & and other required gems

If you're running under rvm or rbenv, you shouldn't preface the following commands with sudo.

sudo gem install bundler
bundle

If you receive errors like this:

clang: error: unknown argument: '-multiply_definedsuppress'

then try downgrading those errors like this:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle

4. Run soloist

[The caffeinate command will keep your computer awake while installing; depending on your network connection, soloist can take from 10 minutes to 2 hours to complete.]

caffeinate bundle exec soloist

4.1 Re-run soloist untill it passes

some of the chef recipes may not pass the first time they are run (they download binaries from all over the internet, some time they don't get it all the first time) and you should try to re-run a couple of times. If the recipe repeatadly fails you may need to disable the recipe in the soloistrc and move on. You can test success by echo $? after the command finishes. if it returns 0 that is success anything else is a failure and should be retried.

caffeinate bundle exec soloist

5. Manually tweak the final set of things we don't yet have automated

  1. Mirror displays
  2. Configure Finder
  3. Add ~/pivotal to Finder sidenav (https://www.pivotaltracker.com/story/show/89970764)
  4. Add ~/pivotal/workspace to Finder sidenav (https://www.pivotaltracker.com/story/show/89970764)
  5. Remove 'All my files' from Finder sidenav and as start page (https://www.pivotaltracker.com/story/show/92454292)
  6. Configure Rubymine
  7. Update RubyMine to use Native ssh executable for git (https://www.pivotaltracker.com/story/show/89970316)
  8. Update RubyMine to use Darcula theme and Darcularge font profile
  9. Configure Intellij
  10. Update Intellij Idea to use Native ssh executable for git (https://www.pivotaltracker.com/story/show/89970316)
  11. Update Intellij Idea to use Default theme and Darcularge font profile
  12. Install 'idea' command line tool (https://www.pivotaltracker.com/story/show/89970526)
  13. Setup Intellij to work with Go plugin: 1. Install Go plugin:
    1. Enter custom plugin repository:
    1. Select only that repository in the 'Browse Repositories' window
    2. install Go
    3. restart 1. Configure Go SDK
    4. go to: project settings (cmd+;) -> Platform Settings -> SDKs
    5. Add SDK (plus icon in top of column) -> Go SDK -> select '/usr/local/Cellar/go/1.x.x/libexec' -> 'Choose' 1. Select SDK for each project
    6. go to: Project settings (cmd+;) -> Project Settings -> Project -> Project SDK
    7. choose Go 1.x.x
  14. Gem install bundler (https://www.pivotaltracker.com/story/show/90239920)

Discussion List

Join sprout-users@googlegroups.com if you use Sprout.

References