### V4 to V5
* Create the `cookbooks` directory in the **root of your application**!
* Create `cookbooks/ey-custom/recipes/after-main.rb` and `cookbooks/ey-custom/metadata.rb`
* `../after-main.rb` is now the entrypoint of custom chef recipes
* In `/ey-custom/metadata.rb` add `name 'ey-custom'`
* To use a custom cookbook, copy the file from the [list](https://github.com/engineyard/ey-cookbooks-stable-v5/tree/next-release/custom-cookbooks)
* In `/ey-custom/recipes/after-main.rb` add `include_recipe 'custom-recipe_name'`
* In `/ey-custom/metadata.rb` add `depends 'custom-recipe_name'`
* For including other recipes that have not been upgraded by EY to V5 stack or if it's somthing
you wrote:
* copy the cookbook to `/cookbooks` (cp -pr filepath1 filepath2)
* Add `cookbooks/recipe_name/metadata.rb` and as the first line inside the file `name 'recipe_name'`
* Add the `include_recipe` and `depends` to ey-custom files in step mentioned above.
* Replace `node['instance_role']`, `node['name']`, and similar code and add `['dna']`
```
cd /path/to/cookbooks.v4/ # or cookbooks/
grep -r "node\[\(:\|'\|\"\)\(applications\|engineyard\|environment\|instance_role\|members\|name\|users\|utility_instances\)" .
# node['instance_role'] on v4
node['dna']['instance_role']
# node ['name'] on v4
node['dna']['name']
```
* Change the package versions to the new V5 versions
* `memcached -> 1.4.25`
* `redis -> 3.2.0`
* (Optional) Use a string instead of symbol when accessing node attributes