This is a customised fork of EY's default cloud recipes provided at: [https://github.com/engineyard/ey-cloud-recipes] Documentation: [https://confluence.dev.bbc.co.uk/display/cps/Engine+Yard+Notes]
Main changes (this list is NOT comprehensive):
1.We are using the mongodb cookbook (cookbooks/mongodb/recipes/install.rb
)
2.We are killing the nginx server (cookbooks/main/recipes/default.rb
)
This project needs to be synched with the original repo every month like so:
git remote add upstream https://github.com/engineyard/ey-cloud-recipes
git pull upstream master
git push origin master
To apply any changes
ey recipes upload -e environment_name
ey recipes apply -e environment_name
To install the above ey tool if you don't have it:
sudo gem install engineyard
Please update the below line when you update the project.
The ey-cloud-recipes repository is a collection of chef cookbooks that setup and configure commonly used tools for ruby applications, as well as cookbooks that can be used to modify parts of the EY Cloud environment.
Note: These cookbooks are for reference, and do not indicate a supported status.
- Clone this repository
- Uncomment the recipes that you wish to use in
cookbooks/main/recipes/default.rb
- Make any changes that are mentioned in the individual cookbook's
readme.md
file - Install the engineyard gem, if you haven't already (
gem install engineyard
). - Upload your recipes to EY Cloud using
ey recipes upload -e ENVIRONMENT
, whereENVIRONMENT
is the name of your environment. - Run your recipes on the environment using
ey recipes apply -e ENVIRONMENT
A full guide to customizing your EY Cloud environment with chef can be found at the following URL:
The following pages may also be of some use:
- https://support.cloud.engineyard.com/entries/21009927-engine-yard-cli-user-guide#eyrecipesapply
- https://support.cloud.engineyard.com/entries/21406977-custom-chef-recipes-examples-best-practices
Below is a list of chef documentation pages that you may find useful, especially if you are just getting started with chef:
- http://docs.opscode.com/chef_solo.html
- http://docs.opscode.com/chef/chef_overview.html
- http://docs.opscode.com/chef/resources.html
- http://docs.opscode.com/chef/essentials_cookbook_attribute_files.html
There is also a great RailsCast on the use of chef-solo (however, it is only available to RailsCasts Pro subscribers):
We use chef-solo on EY Cloud. If you are using the new Gentoo 2012 stack, then you will be using chef 10. If you are running on an older version of the stack, then it will be chef 0.6.
You can view the recipes that have been uploaded to an environment in two ways:
- You can download the recipes for an environment using
ey recipes download
, which will be downloaded into a directory calledcookbooks
in the current directory. - You can login to any of your instances and navigate to
/etc/chef-custom/recipes/cookbooks
, which is the location that your custom cookbooks are located.
Next to each instance, on the dashboard, there are two links entitled "Base" and "Custom", the "Custom" link will take you to the chef log for the last run of your custom chef recipes, for that instance.
The chef log for your custom recipes is also located on each instance at /var/log/chef.custom.log