Distributing directory trees

You need to seed a directory tree on your nodes. It might be a static website or some backup data that is needed on your nodes. You want Chef to make sure that all the files and directories are there on your nodes. Chef offers the remote_directory resource to handle this scenario. Let's see how you can use it.

Getting ready

Make sure you have a cookbook called my_cookbook, and that the run_list of your node includes my_cookbook, as described in the Creating and using cookbooks recipe in Chapter 1, Chef Infrastructure.

How to do it…

Let's upload a directory with some files to our node:

  1. Edit your cookbook's default recipe:
    mma@laptop:~/chef-repo $ subl cookbooks/my_cookbook/recipes/default.rb
    remote_directory "/tmp/chef.github.com" ...

Get Chef Cookbook - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.