Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


s3_dir (10) Versions 1.4.1

Installs/Configures s3_dir

cookbook 's3_dir', '= 1.4.1', :supermarket
cookbook 's3_dir', '= 1.4.1'
knife supermarket install s3_dir
knife supermarket download s3_dir
Quality 0%

Cookbook Version
Build Status
Coverage Status


This cookbook leverages the s3_file cookbook to recursively download all of the files in a specified S3 “directory.” It uses the et_fog cookbook cookbook to retrieve a listing of said “directories”.


Firstly, you will need to include et_fog in your recipe in order to install the Fog library in Chef, e.g.:

include_recipe 'et_fog'

s3_dir Resource

s3_dir '/local/path' do
  bucket            ''
  dir               's3_directory'
  owner             'root'
  group             'root'
  mode              '0755'
  recursive         true
  region            'us-east-1'
  access_key_id     'ACCESS_KEY'
  secret_access_key 'SECRET_ACCESS_KEY'
  • name - The local path where the files should be downloaded to
  • bucket - The S3 bucket name you want to download from
  • dir - The directory within the bucket where the files will come from
  • owner - What you want the local file/directory owner to be set to. Defaults to root.
  • group - What you want the local file/directory group to be set to. Defaults to root.
  • mode - File permissions. Created directories will inherit these permissions plus executability. Defaults to '0755'
  • recursive - Whether parent directories of name should be created recursively
  • region - AWS Region. Defaults to us-east-1.
  • access_key_id - AWS Access Key ID
  • secret_access_key - AWS Secret Key

AWS Permissions

The following minimum AWS permissions are required for s3_dir to work:

"Action": [
"Resource": [

However it is recommended that you request a more permissive set of permissions so as to avoid unpredictable edge cases:

"Action": [
"Resource": [


  1. Fork the repository on Github
  2. Create a named feature branch (i.e. add-new-recipe)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request

License and Authors

Author:: EverTrue, Inc. (

Dependent cookbooks

s3_file >= 2.5.0
et_fog ~> 1.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


v1.4.1 (2014-10-21)

  • Update ChefSpec matchers to follow deprecations
  • Update gems
  • Refactor Travis config
  • Update Serverspec spec_helper to work w/ Serverspec v2

v1.4.0 (2014-10-01)

  • Move test code to its own embedded cookbook
  • Allow alternate regions

v1.3.0 (2014-08-26)

  • Add non-us-east-1 region support

v1.2.3 (2014-08-26)

  • Fix the way we parse directory listings so that arrays stop turning up empty

v1.2.2 (2014-08-15)

  • Several changes to get Travis-CI working in full-convergence mode.

v1.2.1 (2014-08-14)

  • Fix the unit tests to match the code

v1.2.0 (2014-08-14)

  • Do all testing with mock instead of depending on a private external s3 bucket.

v1.1.0 (2014-07-21)

  • README cleanup
  • LICENSE and maintainer info clarified
  • Clean up testing situation
    • ChefSpec test
    • Serverspec integration tests
  • Fix FC016 by adding a default action to LWRP
  • Fix dependency on et_fog to properly resolve
  • Add default values for s3_dir attributes
  • Fix issue with mode attribute and implicit conversion b/t strings/integers

v1.0.1 (2014-06-23)

  • Real README
  • File mode parsing to make directories

v0.1.0 (2014-06-23)

  • Initial release of s3_dir

Foodcritic Metric

1.4.1 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/2f8f5a27529a0ecdeb6fb1e8/s3_dir/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/2f8f5a27529a0ecdeb6fb1e8/s3_dir/metadata.rb:1