└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Chef [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | > A curated list of amazingly awesome open source Chef resources. [Chef](http://chef.io) is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure. 4 | 5 | ## Table of Contents 6 | * [Basics](#basics) 7 | * [Cookbooks](#cookbooks) 8 | * [Resources](#resources) 9 | * [Podcasts](#podcasts) 10 | * [Chef handlers](#chef-handlers) 11 | * [Add-ons](#add-ons) 12 | * [Books](#books) 13 | * [Newsletters](#newsletters) 14 | * [Articles](#articles) 15 | 16 | See [Contribution Guidelines](#contribution-guidelines) 17 | 18 | ## Basics 19 | * [Chef (software)](https://en.wikipedia.org/wiki/Chef_(software)) - An article in Wikipedia. 20 | * [An Overview](https://docs.chef.io/chef_overview.html) - by official chef.io. 21 | * [Chef Workstation](https://docs.chef.io/workstation.html) - Knife, chef-repo, Chef DK etc by official chef.io. 22 | * [Chef Server](https://docs.chef.io/chef_server.html) - Chef server components. 23 | * [Chef Node](https://docs.chef.io/nodes.html) - How chef-client runs, run-list, node names, etc. 24 | * [Cookbook](https://docs.chef.io/cookbooks.html) - What is a cookbook and its components (metadata, recipe, resource, attributes, templates, etc). 25 | * [Attribute](https://docs.chef.io/attributes.html) - attibutes defined by type (default, normal, automatic), by useage (node, role, environment). 26 | * [Resource](https://docs.chef.io/resources.html) - Chef resource which is a building block of a recipe. 27 | * [Data Bag](https://docs.chef.io/data_bags.html) - Data bag and its usage. 28 | 29 | ## Tutorials 30 | * [A Beginner’s Guide to Chef](https://www.linode.com/docs/applications/chef/beginners-guide-chef) - A short descriptoions for key concepts of Chef 31 | * [Getting started with Chef](http://gettingstartedwithchef.com/) - Learn how to configure, manage and provision cloud servers with Chef by following practical examples with real world applications. 32 | 33 | ## Cookbooks 34 | 35 | > A cookbook is the fundamental unit of configuration and policy distribution in Chef. Each cookbook defines a scenario, such as everything needed to install and configure MySQL, and then it contains all of the components that are required to support that scenario. Chef maintains a collection of cookbooks that are important to Chef and are widely used by the Chef community. - [What is a cookbook?](https://supermarket.chef.io/cookbooks-directory) 36 | 37 | ### Docker 38 | * [docker](https://supermarket.chef.io/cookbooks/docker) 39 | 40 | ### Ruby 41 | * [chruby](https://supermarket.chef.io/cookbooks/chruby_install) 42 | * [rbenv](https://supermarket.chef.io/cookbooks/rbenv) - configure [rbenv](https://github.com/rbenv/rbenv). 43 | * [ruby_build](https://supermarket.chef.io/cookbooks/ruby_build) 44 | * [rvm](https://supermarket.chef.io/cookbooks/rvm) 45 | * [unicorn](https://supermarket.chef.io/cookbooks/unicorn) - Deprecated 46 | * [xml::ruby](https://supermarket.chef.io/cookbooks/xml#ruby) - Installs the nokogiri gem into Chef's Ruby environment. 47 | 48 | ### Java 49 | * [java](https://supermarket.chef.io/cookbooks/java) 50 | * [maven](https://supermarket.chef.io/cookbooks/maven) 51 | * [tomcat](https://supermarket.chef.io/cookbooks/tomcat) 52 | * [weblogic](https://supermarket.chef.io/cookbooks/weblogic) 53 | 54 | ### PHP 55 | * [composer](https://github.com/escapestudios-cookbooks/composer) 56 | * [php](https://supermarket.chef.io/cookbooks/php) 57 | 58 | ### Language Runtimes 59 | * [erlang](https://supermarket.chef.io/cookbooks/erlang) 60 | * [nodejs](https://supermarket.chef.io/cookbooks/nodejs) 61 | * [perl](https://supermarket.chef.io/cookbooks/perl) 62 | * [python](https://supermarket.chef.io/cookbooks/python) 63 | 64 | ### Web Server 65 | * [apache2](https://supermarket.chef.io/cookbooks/apache2) - Apache HTTP server v2.x. 66 | * [nginx](https://supermarket.chef.io/cookbooks/nginx) 67 | * [passenger_apache2](https://supermarket.chef.io/cookbooks/passenger_apache2) - [Passenger](https://www.phusionpassenger.com/library) for Apache2. 68 | 69 | ### Database 70 | * [couchdb](https://supermarket.chef.io/cookbooks/couchdb) 71 | * [hadoop](https://supermarket.chef.io/cookbooks/hadoop) - Hadoop 2.0+. 72 | * [mariadb](https://supermarket.chef.io/cookbooks/mariadb) 73 | * [mongodb](https://github.com/chef-brigade/mongodb-cookbook/) 74 | * [mysql](https://supermarket.chef.io/cookbooks/mysql) 75 | * [percona](https://supermarket.chef.io/cookbooks/percona) - [Percona XtraDB Cluster](https://www.percona.com/software/mysql-database/percona-xtradb-cluster) and other components. 76 | * [oracle](https://supermarket.chef.io/cookbooks/oracle) 77 | * [postgresql](https://supermarket.chef.io/cookbooks/postgresql) 78 | * [redis](https://supermarket.chef.io/cookbooks/redisio) 79 | * [riak](https://supermarket.chef.io/cookbooks/riak) - [Riak](http://basho.com/products/) 80 | 81 | ### Loadbalancer, Cache, Proxy and Message Queue 82 | * [activemq](https://supermarket.chef.io/cookbooks/activemq) - [ActiveMQ](http://activemq.apache.org/) 83 | * [haproxy](https://supermarket.chef.io/cookbooks/haproxy) 84 | * [memcached](https://supermarket.chef.io/cookbooks/memcached) 85 | * [rabbitmq](https://supermarket.chef.io/cookbooks/rabbitmq) 86 | * [varnish](https://supermarket.chef.io/cookbooks/varnish) 87 | 88 | ### Web Applications 89 | * [elasticsearch](https://github.com/elastic/cookbook-elasticsearch) 90 | * [elkstack](https://github.com/rackspace-cookbooks/elkstack) - [ELK stack](https://www.elastic.co/webinars/introduction-elk-stack) Combine Elasticsearch, Logstash and Kibana. 91 | * [gitlab](https://github.com/atomic-penguin/cookbook-gitlab) 92 | * [jenkins](https://github.com/chef-cookbooks/jenkins) 93 | * [postfix](https://github.com/chef-cookbooks/postfix) 94 | * [wordpress](https://github.com/brint/wordpress-cookbook) 95 | 96 | ### Building/Installing Software 97 | * [build-essential](https://github.com/chef-cookbooks/build-essential) - gcc, make, autoconf, bison, gettext etc. 98 | * [git](https://github.com/chef-cookbooks/git) 99 | * [xml](https://github.com/chef-cookbooks/xml) - Installs development package for [libxml](http://xmlsoft.org/). 100 | 101 | ### Service Discovery 102 | * [consul](https://github.com/johnbellone/consul-cookbook) - [Hashicorp Consul](https://www.consul.io/) 103 | * [consul-template](https://github.com/adamkrone/chef-consul-template) 104 | * [etcd](https://github.com/chef-cookbooks/etcd) - [etcd](https://coreos.com/etcd/) is a distributed key value store that provides a reliable way to store data across a cluster of machines. 105 | * [zookeeper](https://github.com/SimpleFinance/chef-zookeeper) - [Apache Zookeeper](https://zookeeper.apache.org/) 106 | 107 | ### Logging/Monitoring 108 | * [collectd](https://github.com/hectcastro/chef-collectd.git) - [Collectd](http://collectd.org) 109 | * [datadog](https://github.com/DataDog/chef-datadog) - [DataDog](https://www.datadoghq.com/) 110 | * [fail2ban](https://github.com/chef-cookbooks/fail2ban) - [Fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page) 111 | * [grafana](https://github.com/dzautner/grafana-cookbook) - [Grafana](http://grafana.org/) (A Graphite Dashboard and Graph Editor) 112 | * [graphite](https://github.com/hw-cookbooks/graphite) - [Graphite](http://graphite.wikidot.com/) 113 | * [graphitus](https://github.com/kisoku/graphitus-chef) - [Graphitus](https://github.com/ezbz/graphitus) 114 | * [graylog](https://github.com/Graylog2/graylog2-cookbook) - [Graylog](https://www.graylog.org/) 115 | * [icinga](https://github.com/Bigpoint/icinga) - [Icinga](https://www.icinga.org/)/[CheckMK](https://mathias-kettner.de/check_mk.html) 116 | * [kibana](https://github.com/realityforge/chef-kibana) - [Kibana](https://www.elastic.co/products/kibana) 117 | * [logrotate](https://github.com/stevendanna/logrotate) 118 | * [logstash](https://github.com/lusis/chef-logstash) 119 | * [nagios](https://github.com/schubergphilis/nagios) 120 | * [newrelic](https://github.com/escapestudios-cookbooks/newrelic) 121 | * [newrelic_plugins](https://github.com/newrelic-platform/newrelic_plugins_chef) 122 | * [munin](https://github.com/jesseadams/munin) - [Munin](http://munin-monitoring.org/) 123 | * [monit](https://github.com/phlipper/chef-monit) - [Monit](https://mmonit.com/monit/) 124 | * [rsyslog](https://github.com/chef-cookbooks/rsyslog) 125 | * [sensu](https://github.com/sensu/sensu-chef) - [Sensu](https://sensuapp.org/) 126 | * [splunk](https://github.com/BestBuy/splunk_cookbook) - [Splunk](http://www.splunk.com/) 127 | * [zabbix](https://github.com/laradji/zabbix) - [Zabbix](http://www.zabbix.com/) 128 | 129 | ### Network/Security 130 | * [iptables](https://github.com/chef-cookbooks/iptables) 131 | * [ntp](https://github.com/gmiranda23/ntp) 132 | * [openldap](https://github.com/chef-cookbooks/openldap) 133 | * [openssh](https://github.com/chef-cookbooks/openssh) 134 | * [openvpn](https://github.com/xhost-cookbooks/openvpn) 135 | * [resolver](https://github.com/chef-cookbooks/resolver) - Configures ```/etc/resolv.conf``` via attributes. 136 | * [ssh-key](https://github.com/nickola/chef-ssh-keys) - Creates ```authorized_keys``` in user ```~/.ssh``` directory from a data bag (encrypted data bag supported). 137 | 138 | ### File System/Storage 139 | * [ceph_cephfs](https://github.com/ceph/ceph-chef#ceph_cephfs) 140 | * [nfs](https://github.com/atomic-penguin/cookbook-nfs) 141 | 142 | ## Resources 143 | When you write wrapper cookbooks, use following resources. The list includes both Chef's built in resources and LWRP of community/open source cookbooks. 144 | 145 | ### Commands/Scripts 146 | * [cron](https://docs.chef.io/resource_cron.html) - Chef builtin resource. 147 | * [cron_d](https://github.com/chef-cookbooks/cron#cron_d) - LWRP to manage files in ```/etc/cron.d``` 148 | * [execute](https://docs.chef.io/resource_execute.html) - Chef builtin resource. 149 | * [magic_shell_alias, magic_shell_environment](https://github.com/customink-webops/magic_shell#usage) - Create a command alias or shell environment variable. 150 | * [script](https://docs.chef.io/resource_script.html) - Chef builtin resource. 151 | 152 | ### Files/Directories 153 | * [ark](https://github.com/burtlo/ark#resources) - extract/build/configure. 154 | * [cookbook_file](https://docs.chef.io/resource_cookbook_file.html) - Chef builtin resource. 155 | * [directory](https://docs.chef.io/resource_directory.html) - Chef builtin resource. 156 | * [file](https://docs.chef.io/resource_file.html) - Chef builtin resource. 157 | * [link](https://docs.chef.io/resource_link.html) - Chef builtin resource. 158 | * [remote_file](https://docs.chef.io/resource_remote_file.html) - Chef builtin resource. 159 | * [rsync_serve](https://github.com/chef-cookbooks/rsync#resourcesproviders) - rsync server module. 160 | * [s3_file](https://github.com/adamsb6/s3_file/#usage) - fetch files from AWS S3. 161 | * [template](https://docs.chef.io/resource_template.html) - Chef builtin resource. 162 | * [append_if_no_line, replace_or_add, delete_lines, add_to_list, delete_from_list](https://github.com/someara/line-cookbook#usage) - Edit lines in a file rather than replacing whole file. 163 | 164 | ### User Management/Authorization 165 | * [group](https://docs.chef.io/resource_group.html) - Chef builtin resource. 166 | * [user_ulimit](https://github.com/bmhatfield/chef-ulimit#usage) - [User limits](http://ss64.com/bash/ulimit.html) 167 | * [user](https://docs.chef.io/resource_user.html) - Chef builtin resource, manage user. 168 | * [users_manage](https://github.com/chef-cookbooks/users#users_manage) - manage user using data bag search. 169 | * [sudo](https://github.com/chef-cookbooks/sudo#lwrp) 170 | 171 | ### Security 172 | * [certificate_manage](https://github.com/atomic-penguin/cookbook-certificate#resourcesproviders) - Manages x509 certificates and keys from encrypted Data Bags. 173 | * [firewall](https://github.com/chef-cookbooks/firewall#firewall) 174 | * [firewall_rule](https://github.com/chef-cookbooks/firewall#firewall_rule) 175 | * [letsencrypt_certificate](https://github.com/schubergphilis/letsencrypt#usage) - Automatically get/renew free and trusted certificates from [Let's Encrypt](https://letsencrypt.org). 176 | * [random_password](https://github.com/chef-cookbooks/openssl#random_password-opensslcookbookrandompassword) - useing openssl. 177 | * [openssl_dhparam](https://github.com/chef-cookbooks/openssl#openssl_dhparam) 178 | * [openssl_rsa_key](https://github.com/chef-cookbooks/openssl#openssl_rsa_key) 179 | * [openssl_x509](https://github.com/chef-cookbooks/openssl#openssl_x509) - Generates self-signed, PEM-formatted x509 certificates. 180 | * [selinux_state](https://github.com/skottler/selinux#selinux_state) 181 | * [simple_iptables_rule](https://github.com/rtkwlf/cookbook-simple-iptables#simple_iptables_rule-resource) 182 | * [ssh_known_hosts_entry](https://github.com/chef-cookbooks/ssh_known_hosts#lwrp) 183 | 184 | ### Deployment 185 | * [git](https://docs.chef.io/resource_git.html) - Chef builtin resource. 186 | * [deploy](https://docs.chef.io/resource_deploy.html) - Chef builtin resource. 187 | * [application](https://github.com/poise/application) 188 | * [application_git](https://github.com/poise/application_git) 189 | * [application_javascript](https://github.com/poise/application_javascript) 190 | * [application_nodejs](https://github.com/mburns/application_nodejs) 191 | * [application_php](https://github.com/poise/application_php) 192 | * [application_python](https://github.com/poise/application_python) 193 | * [application_ruby](https://github.com/poise/application_ruby) 194 | 195 | ### Apache HTTP Server Config 196 | * [php_fpm_pool](https://github.com/chef-cookbooks/php#php_fpm_pool) 197 | * [web_app](https://github.com/svanzoest-cookbooks/apache2#web_app) - setup Apache HTTP server v2.x virtual host. 198 | 199 | ### Database Config/Management 200 | * [database, mysql_database, postgresql_database](https://github.com/chef-cookbooks/database#examples) 201 | * [flywaydb](https://github.com/dhoer/chef-flywaydb#examples) 202 | 203 | ### Packages/Package Repositories 204 | * [package](https://docs.chef.io/resource_package.html) - Chef builtin resource. 205 | * [apt_repository](https://github.com/chef-cookbooks/apt#resourcesproviders) 206 | * [yum_repository](https://github.com/chef-cookbooks/yum#yum_repository) 207 | 208 | ### Service Management/Init System 209 | * [runit_service](https://github.com/hw-cookbooks/runit#resourceprovider) - Configure [runit](http://smarden.org/runit/). 210 | * [service](https://docs.chef.io/resource_service.html) - Chef builtin resource. 211 | * [supervisor_service](https://github.com/poise/supervisor#resourcesproviders) - [(Python) supervisor](http://supervisord.org/). 212 | 213 | ### Operating System Configuration 214 | * [hostsfile_entry](https://github.com/customink-webops/hostsfile#hostsfile-lwrp) - /etc/hosts file. 215 | * [mount](https://docs.chef.io/resource_mount.html) - Chef builtin resource. 216 | * [lvm_physical_volume](https://github.com/chef-cookbooks/lvm#lvm_physical_volume) 217 | * [lvm_logical_volume](https://github.com/chef-cookbooks/lvm#lvm_logical_volume) 218 | * [route](https://docs.chef.io/resource_route.html) - Chef builtin resource, manage system's routing table. 219 | * [sysctl_param](https://github.com/svanzoest-cookbooks/sysctl/#using-lwrps) - set the kernel parameter. 220 | * [vim](https://github.com/chef-cookbooks/vim) 221 | * [zsh](https://github.com/chef-cookbooks/zsh) 222 | 223 | ## Chef for Windows 224 | List of cookbooks and resources which supports windows. 225 | 226 | ### Application Cookbooks - Language Runtime 227 | * [java](https://github.com/agileorbit-cookbooks/java) 228 | * [php](https://github.com/chef-cookbooks/php) 229 | 230 | ### Application Cookbooks - Software 231 | * [iis](https://supermarket.chef.io/cookbooks/iis) - Microsoft Internet Information Services. 232 | * [sql_server](https://github.com/chef-cookbooks/sql_server) - Microsoft SQL Server 2008 R2 and Microsoft SQL Server 2012 server and client. 233 | * [7-zip](https://github.com/sneal/7-zip) 234 | 235 | ### Resources - Files/Directories 236 | * [cookbook_file](https://docs.chef.io/resource_cookbook_file.html) - Chef builtin resource. 237 | * [directory](https://docs.chef.io/resource_directory.html) - Chef builtin resource. 238 | * [file](https://docs.chef.io/resource_file.html) - Chef builtin resource. 239 | * [link](https://docs.chef.io/resource_link.html) - Chef builtin resource. 240 | * [mount](https://docs.chef.io/resource_mount.html) - Chef builtin resource. 241 | * [remote_file](https://docs.chef.io/resource_remote_file.html) - Chef builtin resource. 242 | * [template](https://docs.chef.io/resource_template.html) - Chef builtin resource. 243 | 244 | ### Resources - Command Execution / Launching Software 245 | * [batch](https://docs.chef.io/resource_batch.html) - Chef builtin resource, manage batch script. 246 | * [windows_auto_run](https://github.com/chef-cookbooks/windows#windows_auto_run) - Configure an software to run at login. 247 | 248 | ### Resources - Package/Software Installation 249 | * [chocolatey_package](https://docs.chef.io/resource_chocolatey_package.html) - Chef builtin resource. Manage packages using. [Chocolatey](https://chocolatey.org/) windows package management system. 250 | * [env](https://docs.chef.io/resource_env.html) - Chef builtin resource, manage environment keys in Microsoft Windows. 251 | * [powershell](https://github.com/chef-cookbooks/powershell) 252 | * [reboot](https://docs.chef.io/resource_reboot.html) - Chef builtin resource. 253 | * [windows_feature](https://github.com/chef-cookbooks/windows#windows_feature) 254 | * [windows_package](https://docs.chef.io/resource_windows_package.html) - Chef builtin resource. 255 | 256 | ### Resources - OS configuration 257 | * [user](https://docs.chef.io/resource_user.html) - Chef builtin resource, Windows compatible 258 | * [windows_certificate](https://github.com/chef-cookbooks/windows#windows_certificate) - Installs a certificate into the Windows certificate store from a file. 259 | * [windows_path](https://github.com/chef-cookbooks/windows#windows_path) 260 | * [registry_key](https://docs.chef.io/resource_registry_key.html) 261 | * [windows_registry](https://github.com/chef-cookbooks/windows#windows_registry) 262 | * [windows_service](https://docs.chef.io/resource_windows_service.html) - Chef builtin resource. 263 | * [windows_task](https://github.com/chef-cookbooks/windows#windows_task) 264 | 265 | ### Resources - Application configuration 266 | * [sql_server_database](https://github.com/chef-cookbooks/database#examples) 267 | 268 | ## Chef handlers 269 | 270 | > A handler is used to identify situations that may arise during a chef-client run, and to then instruct the chef-client how to handle these situations, should they occur. — [Handlers](https://docs.chef.io/handlers.html) 271 | 272 | * [About Handlers](https://docs.chef.io/handlers.html) - Official reference page 273 | * [Supermarket](https://supermarket.chef.io/tools?q=handler) - Handlers registered in [Supermarket](https://supermarket.chef.io/). 274 | * [Chef Elapsed Time Handler](https://supermarket.chef.io/tools/20-chef-elapsed-time-handler) - A chef handler that reports on per-resource elapsed times in a simple graphical form. 275 | * [Chef Datadog Handler](https://supermarket.chef.io/tools/chef-handler-datadog) - Get Chef stats directly into Datadog. Add the gem as an execution and report handler to your Chef run. 276 | * [Chef SNS Handler](https://github.com/onddo/chef-handler-sns) - Chef report handler to send Amazon SNS notifications on failures or changes, includes IAM roles support. 277 | * [Chef Users Handler](https://supermarket.chef.io/tools/chef-handler-users) - A dead simple Chef handler to report changes in users. Can send emails using the Pony gem. 278 | * [Chef Zookeeper Handler](https://supermarket.chef.io/tools/chef-handler-zookeeper) - A simple Chef report handler to send notifications to ZooKeeper about Chef runs. 279 | * [Chef Airbrake Handler](https://github.com/morgoth/airbrake_handler) - Chef handler for sending exceptions to Airbrake. 280 | * [Chef Zabbix Handler](https://github.com/TYPO3-cookbooks/zabbix-custom-checks/blob/master/templates/chef-client/chef-client-handler.rb) - Send chef-client statistics to zabbix using a report handler. 281 | * [Chef Campfire Handler](https://github.com/jjasghar/chef-handler-campfire) - Chef Exception & Reporting Handler for Campfire 282 | * [Chef Cookbook Version Handler](https://github.com/juliandunn/cookbook_versions_handler) - This cookbook installs a Chef report handler to log the cookbooks and versions run on the node as part of the Chef run. 283 | * [Chef Flowdock Handler](https://github.com/mmarschall/chef-handler-flowdock) - A Chef handler that collects exception and report handler data and reports it to Flowdock, a web-based team inbox and chat tool. 284 | * [Chef Graphite Handler](https://github.com/imeyer/chef-handler-graphite) - Simple handler to send data to Graphite about your node's Chef runs, including elapsed time, total number of resources, number of resources updated, and success or failure. 285 | * [Chef Graylog2/Gelf Handler](https://github.com/jellybob/chef-gelf/) - A Chef handler that reports to Graylog2 servers. 286 | * [Chef Growl Handler](https://github.com/jtimberman/chef-handler-growl) - A simple Chef report handler using ruby_gntp to send growl notifications. 287 | * [Chef HipChat Handler](https://github.com/mojotech/hipchat/blob/master/lib/hipchat/chef.rb) - A handler that collects exception and report handler data and then sends it as a Growl notification. 288 | * [Chef IRC Snitch Handler](https://github.com/portertech/chef-irc-snitch) - An exception handler for OpsCode Chef runs, GitHub Gist & IRC. 289 | * [Chef Librato Handler](https://github.com/bscott/chef-handler-librato) - A handler that sends Chef run metrics to Librato. 290 | * [Chef Mail Handler](https://github.com/kisoku/chef-handler-mail) - A simple chef report handler that uses the Pony gem to send email reports generated from an Erubis template. 291 | * [Chef Splunk Storm Handler](https://github.com/ampledata/chef-handler-splunkstorm) - A Chef Exception & Reporting Handler for Splunk Storm. 292 | * [Chef Syslog Handler](https://github.com/jblaine/syslog_handler) - Syslog report and error handler for Chef. 293 | * [Chef Updated Resources Handler](https://github.com/jtimberman/chef-handler-updated-resources) - Simple Report Handler of Updated Resources. 294 | 295 | ## Add-ons 296 | 297 | * [Chef Rewind](https://github.com/bryanwb/chef-rewind) - Monkeypatch chef to edit existing resources in place. 298 | * [Chef Sugar](https://github.com/sethvargo/chef-sugar) - Chef Sugar is a Gem & Chef Recipe that includes series of helpful sugar of the Chef core and other resources to make a cleaner, more lean recipe DSL, enforce DRY principles, and make writing Chef recipes an awesome experience! 299 | * [Knife Spork](https://github.com/jonlives/knife-spork) - A workflow plugin to help many devs work with cookbooks and environments at once. 300 | * [Knife Flip](https://github.com/jonlives/knife-flip) - A knife plugin to quickly move a node between environments. 301 | * [Chef Whitelist](https://github.com/etsy/chef-whitelist) - Simple library to enable host based rollouts of changes. 302 | * [Poise Appenv](https://github.com/poise/poise-appenv) - Helpers for application-specific envronment settings in Chef. 303 | * [Chef-Guard](https://github.com/xanzy/chef-guard) - An add-on that protects your Chef server from untested and uncommitted (i.e. potentially dangerous) cookbooks. 304 | 305 | 306 | ## Podcasts 307 | 308 | ### Chef podcast 309 | 310 | * [Food Fight Show](http://foodfightshow.org/) - The Podcast where DevOps chefs do battle. 311 | 312 | ### DevOps podcast 313 | 314 | * [DevOps Cafe Podcast](http://devopscafe.org/) - 315 | * [Ops All The Things!](http://www.opsallthethings.com/) - A Podcast about all things Operations, DevOps and Systems Administration. 316 | * [Arrested DevOps](http://www.arresteddevops.com/) - There's always DevOps in the banana stand. 317 | 318 | ## Books 319 | 320 | * [Chef Infrastructure Automation Cookbook](https://www.packtpub.com/networking-and-servers/chef-infrastructure-automation-cookbook) - For systems administrators and developers this book could revolutionize your cloud and server infrastructure through automation. Packed with real world situations and practical recipes, it’s a dazzling insight into Chef. 321 | * [Customizing Chef](http://shop.oreilly.com/product/0636920032984.do) - Getting the Most Out of Your Infrastructure Automation. Take advantage of Chef’s highly customizable design to tackle specific automation issues that you can’t solve by simply using Chef’s tools, resources, and services out of the box. 322 | * [Learning Chef](http://shop.oreilly.com/product/0636920032397.do) - A Guide to Configuration Management and Automation. 323 | * [Test-Driven Infrastructure with Chef](http://shop.oreilly.com/product/0636920020042.do) - Bring behaviour-driven development to infrastructure as code. 324 | * [Test-Driven Infrastructure with Chef, 2nd Edition](http://shop.oreilly.com/product/0636920030973.do) - Bring Behavior-Driven Development to Infrastructure as Code. 325 | * [Managing Windows Servers with Chef](https://www.packtpub.com/networking-and-servers/managing-windows-servers-chef) - Harness the power of Chef to automate management of Windows-based systems using hands-on examples. 326 | * [The chef-book](https://github.com/jjasghar/chef-book) - People Keep Asking Me How to Start With Chef. 327 | * [Getting started with Chef](http://gettingstartedwithchef.com/) - Learn how to configure, manage and provision cloud servers with Chef by following practical examples with real world applications. 328 | 329 | ## Newsletters 330 | 331 | * [UsingChef Newsletter](http://usingchef.com/) - This newsletter is intended for the Chef practitioner who uses Chef every day and wants to learn something new, make their lives easier, and stay up to date. 332 | 333 | ## Articles 334 | 335 | * [Secrets Management and Chef](https://coderanger.net/chef-secrets/) - Everyone has secrets. Database passwords, API credentials, recovery questions. These secrets need to be stored somewhere, and then made available to servers that use them. 336 | * [How to Write Reusable Chef Cookbooks, Gangnam Style](http://devopsanywhere.blogspot.fr/2012/11/how-to-write-reusable-chef-cookbooks.html) - 337 | 338 | # Contribution Guidelines 339 | 340 | Please ensure your pull request adheres to the following guidelines: 341 | 342 | * Please search previous suggestions before making a new one, as yours may be a duplicate. 343 | * Please make an individual pull request for each suggestion. 344 | * Use the following format: \[RESOURCE\]\(LINK\) - DESCRIPTION. 345 | * Keep descriptions short and simple. 346 | * End all descriptions with a full stop/period. 347 | * Check your spelling and grammar. 348 | * New categories, or improvements to the existing categorisation are welcome. 349 | 350 | Thank you for your suggestions! 351 | --------------------------------------------------------------------------------