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


fb_init_sample (1) Versions 0.0.1

Setup a base runlist for using Facebook cookbooks

cookbook 'fb_init_sample', '~> 0.0.1'
cookbook 'fb_init_sample', '~> 0.0.1', :supermarket
knife supermarket install fb_init_sample
knife supermarket download fb_init_sample
Quality 50%

fb_init Cookbook

This is a sample - you almost certainly want to fork this and adjust it to taste. The rest of the Facebook suite of cookbooks are designed to not be locally modified.




This cookbook includes all of the opensource Facebook cookbooks. You may not be ready to use them all, or you may want to include additional stuff, so adjust to taste.

We've gone ahead and included some extra "HERE: " comments on where we've put other cookbooks that are internal to give you a better idea of our full runlist. We hope to be able to release more of these as time allows and where appropriate.

It is highly recommended you read through the in the root of GitHub repo as well as The general idea though is that cookbooks are ordered least specific to most specific. This allows a small core team to make APIs and defaults and then let individual service owners' cookbooks at the end overwrite whatever they ened to. This also ensures that all things the service owner chooses not to bother with are setup to sane settings by the core group at your site.

The idea is that your runlists will look include this first, then everything else. This cookbook should be every "core cookbook" that provides APIs for everyone else.

It's useful to think of things in a 3-pass system: * Setup APIs This is what we do in attributes files. Create the structure in the node object for people to append to or modify. * Use APIs In recipes any cookbook can use those APIs by simply writing to the node object. The cookbooks in question can set things, but it can all be overwritten by "owners" later. This is where the ordering of our model is different from other models - we start with the most generic stuff - the cookbooks the core OS team writes that should be applicable in general to all machines unless someone has a more specific desire. Owners then can include other cookbooks that are more specific - maybe for a specific cluster, location, type of service. Finally the last cookbooks should be the most specific ones for that service or machine which gets the final say. Anytime someone removes a node assignment the next-most-specific setting will take precdent. * Consume APIs Everyone who uses any API is generally the cookbook that provides that API, so APIs must be consumed only at runtime: templates, ruby_blocks, providers, etc.

We have provided an early recipe called site-settings.rb in which you can set the defaults for your organization for all settings Facebook cookbooks provide. For example, setting all the most reasonable sysctl settings here is advisable - then let others override them in their later cookbooks. Assuming fb_init is the first thing in your runlist, this is basically the first thing, so any other cookbooks in your runlist will have time to overwrite them.

Dependent cookbooks

fb_vsftpd >= 0.0.0
fb_tmpclean >= 0.0.0
fb_timers >= 0.0.0
fb_systemd >= 0.0.0
fb_syslog >= 0.0.0
fb_sysctl >= 0.0.0
fb_swap >= 0.0.0
fb_securetty >= 0.0.0
fb_sdparm >= 0.0.0
fb_rsync >= 0.0.0
fb_rpm >= 0.0.0
fb_postfix >= 0.0.0
fb_nsswitch >= 0.0.0
fb_motd >= 0.0.0
fb_modprobe >= 0.0.0
fb_logrotate >= 0.0.0
fb_limits >= 0.0.0
fb_ldconfig >= 0.0.0
fb_launchd >= 0.0.0
fb_iproute >= 0.0.0
fb_iptables >= 0.0.0
fb_ipset >= 0.0.0
fb_hosts >= 0.0.0
fb_hostconf >= 0.0.0
fb_helpers >= 0.0.0
fb_hddtemp >= 0.0.0
fb_hdparm >= 0.0.0
fb_grub >= 0.0.0
fb_fstab >= 0.0.0
fb_ethers >= 0.0.0
fb_ebtables >= 0.0.0
fb_dracut >= 0.0.0
fb_dnsmasq >= 0.0.0
fb_cron >= 0.0.0
fb_collectd >= 0.0.0
fb_apcupsd >= 0.0.0
fb_apt >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Collaborator Number Metric

0.0.1 failed this metric

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

Contributing File Metric

0.0.1 passed this metric

Foodcritic Metric

0.0.1 failed this metric

FC064: Ensure issues_url is set in metadata: fb_init_sample/metadata.rb:1
FC066: Ensure chef_version is set in metadata: fb_init_sample/metadata.rb:1
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.0.1 passed this metric

Publish Metric

0.0.1 passed this metric

Supported Platforms Metric

0.0.1 passed this metric

Testing File Metric

0.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, and your repo must contain a file

Version Tag Metric

0.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, and your repo must include a tag that matches this cookbook version number