labs-vcap/dev_setup
Jennifer Hickey cc89d6bf18 Allow any whitespace between 'require' and 'sinatra'
in main Sinatra app file

Change-Id: I430575cde67eb30db059b0ece554434ee01d246f
2012-05-24 14:52:08 -07:00
..
bin Updated readme explaining exclusion of components on dev setup 2012-05-23 12:41:35 -07:00
cookbooks Allow any whitespace between 'require' and 'sinatra' 2012-05-24 14:52:08 -07:00
deployments add node06 runtime with Node.js 0.6.7 2012-01-18 11:29:50 -08:00
lib Merge "Dev setup support for memcached as a service" 2012-05-21 19:21:00 +00:00
roles Merge "Dev setup support for memcached as a service" 2012-05-21 19:21:00 +00:00
README Updated readme explaining exclusion of components on dev setup 2012-05-23 12:41:35 -07:00

README

NOTE: This is an alpha release of these scripts.

Description:
This subdirectory contains the chef cookbooks to deploy and setup Cloud Foundry
in a single or multiple host environment. The cookbooks assume that they are
running on a freshly installed Ubuntu 10.04 server.

Quick Start:
-----------
   To Deploy:
      vcap/dev_setup/bin/vcap_dev_setup

         It will download Cloud Foundry source code into
            $HOME/cloudfoundry/vcap

         It will create a default deployment named 'devbox' under
            $HOME/cloudfoundry/.deployments/devbox

   To Start:
      vcap/dev_setup/bin/vcap_dev start

   To Stop:
      vcap/dev_setup/bin/vcap_dev stop


More Options:
------------

o To use Cloud Foundry source code that you have already downloaded.
   To Deploy:
     e.g. If Cloud Foundry source is downloaded into $HOME/projects/vcap.

      $HOME/projects/vcap/dev_setup/bin/vcap_dev_setup -d $HOME/projects

        It will not download Cloud Foundry source code. It will just setup the config files to
        use the Cloud Foundry source code from $HOME/projects/vcap.

        It will create a default deployment named 'devbox' under
          $HOME/projects/.deployment/devbox

   To Start:
      $HOME/projects/vcap/dev_setup/bin/vcap_dev -d $HOME/projects start

   To Stop::
      $HOME/projects/vcap/dev_setup/bin/vcap_dev -d $HOME/projects stop

o To use a custom deployment config
  e.g. If you want to use the multihost sample config file
  $HOME/projects/vcap/dev_setup/deployments/sample/multihost_mysql/dea.yml

   To Deploy:
      $HOME/projects/vcap/dev_setup/bin/vcap_dev_setup -d $HOME/projects -c $HOME/projects/vcap/dev_setup/deployments/sample/multihost_mysql/dea.yml

        It will not download Cloud Foundry source code. It will just setup the config files to
        use the Cloud Foundry source code from $HOME/projects/vcap.

        It will create a deployment named 'dea' under
          $HOME/projects/.deployment/dea

   To Start:
      $HOME/projects/vcap/dev_setup/bin/vcap_dev -d $HOME/projects -n dea start

   To Stop:
      $HOME/projects/vcap/dev_setup/bin/vcap_dev -d $HOME/projects -n dea stop

o To use a custom domain
  e.g. If you do not want your CloudFoundry domain as vcap.me
  $HOME/projects/vcap/dev_setup/bin/vcap_dev_setup -D myowndomain.com

  Later, you will target your CloudFoundry installation with:
    vmc target api.myowndomain.com


o Excluded components:
  By default neo4j and memcached (+ a few other new services) will be excluded by default. 
  The excluded components are specified by a regex using the environment variable 
  CLOUD_FOUNDRY_EXCLUDED_COMPONENT.
  NOTE: The exclusion is on the component name. E.g. specifying memcached, will exclude memcached_node 
  and memcached_gateway but nothing else.

  To include all components, just set the environment variable to empty which will skip matching. e.g.:
  export CLOUD_FOUNDRY_EXCLUDED_COMPONENT=

  To exclude mysql, neo4j and memcached, set the variable as follows:
  export CLOUD_FOUNDRY_EXCLUDED_COMPONENT="mysql|memcached|neo4j"
  This will skip:
    Skipping excluded component: mysql_gateway
    Skipping excluded component: mysql_node
    Skipping excluded component: neo4j_gateway
    Skipping excluded component: neo4j_node
    Skipping excluded component: memcached_gateway
    Skipping excluded component: memcached_node

  To skip all node and gateway components:
  export CLOUD_FOUNDRY_EXCLUDED_COMPONENT="node|gateway"
  This will skip:
    Skipping excluded component: redis_gateway
    Skipping excluded component: redis_node
    Skipping excluded component: mongodb_gateway
    Skipping excluded component: mysql_gateway
    Skipping excluded component: mysql_node
    Skipping excluded component: neo4j_gateway
    Skipping excluded component: neo4j_node
    Skipping excluded component: mongodb_node
    Skipping excluded component: memcached_gateway
    Skipping excluded component: rabbitmq_gateway
    Skipping excluded component: memcached_node
    Skipping excluded component: rabbitmq_node

  Finally, the default list of excluded components can be restored by undefining the 
  environment variable as follows:
  unset CLOUD_FOUNDRY_EXCLUDED_COMPONENT

  To modify the default exclusion list, add the component name in dev_setup/bin/vcap to:
  DEFAULT_CLOUD_FOUNDRY_EXCLUDED_sCOMPONENT

NOTE: To learn more about custom deployment config files and multi host setups
see the README file vcap/dev_setup/deployments/README.