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

RSS

s3fs (12) Versions 3.0.1

Mount one or more S3 buckets to the filesystem.

Policyfile
Berkshelf
Knife
cookbook 's3fs', '~> 3.0.1', :supermarket
cookbook 's3fs', '~> 3.0.1'
knife supermarket install s3fs
knife supermarket download s3fs
README
Dependencies
Quality 17%

s3fs cookbook

Install the S3FS driver for one or more of your Amazon S3 buckets. The cookbook supports using an encrypted data bag to keep data safe in shared situations.

The latest community release can be found at http://community.opscode.com/cookbooks/s3fs.

What does it do?

It will install S3FS on your server, then it will create folders in the /mnt directory named the same as each bucket listed in the data bag. Lastly, it will create an S3FS mount for each S3 bucket specified in your configuration.

The recipe will handle encrypted data bags, and uses the Chef::EncryptedDataBagItem.load with default decryption key file.

Requirements

Platform:

  • CentOS
  • RHEL
  • Ubuntu
  • Debian

Usage

To use, create a data bag per each unique S3FS configuration. Here's an example:

{
  "id": "deploy_key",
  "buckets": [ "bucket1", "bucket2" ],
  "access_key_id": "ABCDEFGHIJKLMNOPQRST",
  "secret_access_key": "abcdefghijklmnopqrstuvwxyz01234567890ABC"
}

Then, for each node to run this configuration, use a role like this:

"run_list": [
  "recipe[s3fs]",
  ...
],
"override_attributes": [
  "s3fs": {
    "data_bag": {
      "name": "s3_keys",
      "item": "deploy_key"
    }
  },
  ...
}

It is encouraged, however, to build a wrapper cookbook to specify the necessary attributes, rather than using roles, following the Berkshelf model.

Multi User Support

If you have multiple AWS IAM users with different keys and multiple buckets that need mounted, you can use node['s3fs']['multi_user']. By setting this attribute to true, it will allow you to mount multiple buckets across as many user accounts (with different keys) as you want.

Instead of using node["s3fs"]["data_bag"]["item"] to specify which data bag item to load, you create one or more data bags under node["s3fs"]["data_bag"]["name"] for each unique AWS IAM user you need to use. The data bag format is otherwise the same.

And example of two separate data bag items in the same data bag:

{
  "id": "s3fs_iam_1",
  "buckets": [ "bucket1", "bucket2" ],
  "access_key_id": "ABCDEFGHIJKLMNOPQRST",
  "secret_access_key": "abcdefghijklmnopqrstuvwxyz01234567890ABC"
}

{
  "id": "s3fs_iam_2",
  "buckets": [ "bucket1", "bucket2" ],
  "access_key_id": "ABCDEFGHIJKLMNOPQRST",
  "secret_access_key": "abcdefghijklmnopqrstuvwxyz01234567890ABC"
}

Attributes

See attributes/default.rb for defaults generated per platform.

  • node["s3fs"]["packages"] - Set of packages needed to install S3FS
  • node["fuse"]["version"] - The version of FUSE to install
  • node["s3fs"]["version"] - The version of S3FS to install
  • node["s3fs"]["mount_root"] - The root path for any mounted S3 buckets
  • node["s3fs"]["multi_user"] - Enable multi-user support
  • node["s3fs"]["options"] - Options to set when mounting a bucket to the filesystem

Recipes

default

The default recipe installs a set of packages necessary to build S3FS from source, installs FUSE, then builds and installs S3FS.

It then configures and mounts one of more S3 buckets, specified in a data bag's item or items, with the associated AWS credentials.

Author

Author:: Tom Wilson tom@jackhq.com

Copyright:: 2011 Tom Wilson

see LICENSE

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Collaborator Number Metric
            

3.0.1 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

3.0.1 failed this metric

FC022: Resource condition within loop may not behave as expected: s3fs/recipes/default.rb:145
FC022: Resource condition within loop may not behave as expected: s3fs/recipes/default.rb:155
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

3.0.1 passed this metric

Testing File Metric
            

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number