Spin up a local Cloud Foundry installation using Vagrant, in a variety of topologies.
Supported topologies:
- all components on a single node;
- a single DEA;
- more coming soon.
Install Librarian-Chef
$ gem install librarian
Then pull all the dependant cookbooks (as specified in chef/Cheffile)
$ cd $YOUR_BASE_FOLDER/chef
$ librarian-chef install
Start up your virtualbox via Vagrant
$ cd $YOUR_BASE_FOLDER/single-node
$ vagrant up
This will take quite a while, so go grab a coffee
When done, you have a running Cloud Foundry VM running; which can be accessed via the localhost:9080 NAT created by vagrant.
Follow these instructions to try out your setup, remembering that your API url is: http://api.vcap.me:9080
You can fine-tune your Cloud Foundry installation by setting a few attributes:
node['cloudfoundry_cloud_controller']['server']['services']
- an Array of services that you want to support in your setup.
Some attributes control more advanced aspects of your cluster; you should be careful when changing those, and make sure you understand the consequences:
node['cloudfoundry_cloud_controller']['server']['api_url']
- internal URL for Cloud Foundry components that need to connect to thecloud_controller
. This may be different from the public URL, depending on your topology. Defaults tohttp://api.vcap.me:9200
.
The underlying cookbooks declare a lot more tunable attributes. Some of them are relevant for a production setup, and they will be documented in this document in the near future; others are internal or very advanced. You can find a complete list of tunable attributes by perusing the documentation for each cookbook:
- general;
- cloud_controller;
- health_manager;
- router and the underlying nginx;
- stager;
- DEA and the supported runtimes:
- ruby;
- services:
- filesystem;
- mongodb;
- rabbitmq.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request