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


opsworks_ruby (45) Versions 1.7.1

Set of chef recipes for OpsWorks based Ruby projects

cookbook 'opsworks_ruby', '= 1.7.1', :supermarket
cookbook 'opsworks_ruby', '= 1.7.1'
knife supermarket install opsworks_ruby
knife supermarket download opsworks_ruby
Quality 71%

opsworks_ruby Cookbook

Chef cookbook
Build Status
Coverage Status
Documentation Status
Commitizen friendly

A chef cookbook to deploy Ruby applications to Amazon OpsWorks.

Quick Start

Refer to Getting Started
guide in documentation.


You can either install eveyrthing locally using rvm and pip
or use the Docker container which includes all necessary dependencies inside it.

Unit Testing and Linting

docker-compose run -e SKIP="AuthorName AuthorEmail" cookbook \
bash -c "overcommit --sign && overcommit -r && rspec"

Integration Testing

To run integration tests you need Chef Development Kit.
After installing it, invoke:

chef exec bundle install -j 4 --path vendor
sudo chef exec bundle exec rake integration:docker

Build documentation

docker-compose run cookbook bash -c "cd docs && make html"


for details.

Author and Contributors

Author: Igor Rzegocki (@ajgon)



License: MIT

Dependent cookbooks

deployer >= 0.0.0
chef_nginx >= 0.0.0
logrotate >= 0.0.0
ruby-ng >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

<a name="1.7.1"></a>

1.7.1 (2017-09-22)

Bug Fixes

  • webserver: do not unnecessarily restart webserver (db15b26), closes #114
  • webserver: Only remove default enabled sites (ef085a0), closes #111


  • webserver: remove version info on Apache/Nginx (6aba9f3)

<a name="1.7.0"></a>

1.7.0 (2017-09-05)

Bug Fixes

  • appserver: passing USER and HOME environment variables to appserver process (43210bc), closes #85
  • db: safer migration/setup command (19bf034), closes #58
  • overcommit: disable fasterer warning that was causing commits to fail (7752706)
  • missing databag caused maximum_override integration failure (1be29e1)


  • appserver+webserver: add apache2 + passenger support (43c61f9)
  • database: support null database driver (29e1040), closes #98
  • global: support per-application deploy directory (28cb797), closes #95
  • logrotate: support arbitrary logrotate customization (fa95ab0), closes #107
  • webserver: allow extensible webserver site customization (4efd130), closes #100
  • webserver: server_tokens off on Nginx (#91) (5568f6c)

<a name="1.6.0"></a>

1.6.0 (2017-06-03)

Bug Fixes

  • ubuntu: proper provisioning for ubuntu 16.04 (ea5b530), closes #81


  • webserver: Specify upgrade method for nginx (2624d04)
  • logrotate: rotate all logs in app/log (4737b49)


  • Support for all legacy distributions has been dropped off. Currently, only Ubuntu 16.04 and Amazon Linux 2017.03 are supported.

This cookbook should work on earlier versions (especially on Ubuntu),
PR with fixes to them will be accepted, however the core team won't
include any patches for those distros by they own.

<a name="1.5.0"></a>

1.5.0 (2017-04-25)


  • framework: Allow increased timeout during deploy (#76) (e216972)
  • logrotate: implement logrotate (86ebc10), closes #78

<a name="1.4.0"></a>

1.4.0 (2017-03-12)

Bug Fixes

  • Bump faraday middleware version (d508928)
  • Switched nginx cookbook to more actively developed chef_nginx (0f4f64c), closes #65


  • webserver: Add app specific error log and location for nginx (a098279)
  • worker: Safely quiet and shutdown sidekiq (c36652f)


  • nginx cookbook is not a opsworks_ruby dependency anymore. Now it's chef_nginx which is more actively developed. Please update your recipe repositories.

<a name="1.3.0"></a>

1.3.0 (2017-01-16)


  • appserver: Allowed deploy_before_restart on null appserver (b0375a6)
  • database: Added aurora as allowed engine for mysql2 adapter (a2789f0)
  • ruby: Added support for ruby 2.4 (a89451f)


  • ruby: Ruby 2.4 is now a default Ruby interpreter

<a name="1.2.1"></a>

1.2.1 (2016-11-27)

Bug Fixes

  • Fixed broken migration_command default (36cdb68), closes #58

<a name="1.2.0"></a>

1.2.0 (2016-11-02)

Bug Fixes

  • Moved global deploy parameters to app['global'] section (b4f8d6b)


  • app['create_dirs_before_symlink'], app['purge_before_symlink'], app['rollback_on_error'] and app['symlinks'] are now app['global']['create_dirs_before_symlink'], app['global']['purge_before_symlink'], app['global']['rollback_on_error'] and app['global']['symlink']. The old format still works, but it shows DEPRECATION warning. It will be removed in one of the next major releases.

<a name="1.1.2"></a>

1.1.2 (2016-10-27)

Bug Fixes

  • webserver: Improved apache2 support (4293bff)
  • node['applications'] are back (5fc42c3), closes #55


  • app['rollback_on_error'] implemented (e6934a7), closes #54

<a name="1.1.1"></a>

1.1.1 (2016-10-21)

Bug Fixes

  • deploy: Fixed deploy callbacks launching order (81d31c9)

<a name="1.1.0"></a>

1.1.0 (2016-10-21)

Bug Fixes

  • Application deployment fix (7ac4166)


  • node['applications'] becomes obsolete

<a name="1.0.0"></a>

1.0.0 (2016-10-04)

Bug Fixes

  • monit reload and monit restart order (2c4a84a), closes #29
  • appserver: Removed accept_filter from unicorn configurator (76a7f36)
  • framework: Added missing deploy_environment to null framework (673a21d)
  • framework: Fixed envs_in_console for rails (f8856c8)


  • appserver: "Puma" support added (f6e80ad), closes #38
  • appserver: "Thin" support added (9667939), closes #39
  • appserver: Switched default appserver from unicorn to puma (0e72200)
  • framework: "hanami.rb" support added (23fdd04), closes #43
  • framework: "Null" support added (b9e7b63), closes #47
  • framework: "Padrino" support added (a240d92), closes #44
  • framework: Environemnt variables in rails console (89252b3)
  • global: Moved app['environment'] to app['global']['environment'] (432a21c), closes #50
  • webserver: "Apache2" support added (1ca5b0b), closes #40
  • worker: "delayed_job" support added (7235720), closes #42
  • worker: "resque" support added (ccc13e4), closes #41

Performance Improvements

  • Added fasterer gem to overcommit (c1ed974)


  • global: If you were using an app['environment'] variable (for example to set env to staging), please update your stack/layer JSONs to app['global']['environment'].
  • appserver: Unicorn is no longer a default appserver, in favor of Puma. If you have a working instances which were relying on that, you have to either set app['appserver']['adapter'] = 'unicorn' in your stack/layer JSON file, or switch the app server in your application
  • webserver: sites-available and sites-enabled file names format changed. From this commit, the *.conf extension is appended. If you plan to update your cookbooks on productional environments, don't forget to remove the old ones, otherwise you will end up with two the same configurations in different files, which cause nginx to fail.

If you start noticing duplicate upstream errors, this is probably due
this case.

<a name="0.8.0"></a>

0.8.0 (2016-09-02)

Bug Fixes

  • Switched from nginx reload to nginx restart after succesful deploy/undeploy (16ab9d1), closes #36


  • Added GIT_SSH support for bundle install (232e8ac), closes #37
  • Caches bundler installs to speed up deployments (baa0f44)
  • Implemented configurable RAILS_ENV (2567b71), closes #34

<a name="0.7.0"></a>

0.7.0 (2016-08-29)

Bug Fixes

  • Moved extra env files creation, later in the stack (before_restart) (8a5223f)
  • Reload monit after restarting services (eaa2aab)
  • Set the default DB adapter to sqlite3 (b4b1ee4)
  • specify bundle path on bundle install (b9d4335)


  • Added support for gems like figaro and dotenv (c989494), closes #28

<a name="0.6.0"></a>

0.6.0 (2016-08-17)


  • Removed application_ruby cookbook dependency

<a name="0.5.0"></a>

0.5.0 (2016-07-21)


  • Added configuration for isolated worker servers w/o app/webserver (56642f1)
  • Added monit compatibility with amazon linux (2ef12b9)

<a name="0.4.0"></a>

0.4.0 (2016-06-16)


  • Enables drivers to be attached to before_* and after_* deploy events (fa8e605)

<a name="0.3.1"></a>

0.3.1 (2016-06-16)

Bug Fixes

  • Change path to 500.html to be in the "current" dir (4aeac7f)
  • Support for multiple RDSes with multiple applications (a23df47)

<a name="0.3.0"></a>

0.3.0 (2016-06-08)


  • eliminate RDS requirement (daa4254)


  • Sqlite3 is no longer set as the default database adapter.

In order to use sqlite as the database adapter it must be defined
in the node.

<a name="0.2.1"></a>

0.2.1 (2016-05-11)

  • Added environment variables support for assets precompile (f24e742)
  • Added optional removal of scm files (82b25ec)
  • Added support for custom configuration in nginx (448019a)
  • Fixed deploy environment (bf843aa)
  • Fixed nginx defaults order (af560db)
  • Fixed sidekiq config builder (a32b410)

<a name="0.2.0"></a>

0.2.0 (2016-04-24)

  • Added MariaDB Driver support (197b7de)
  • Added multi-platform support (6118154)
  • Added MySQL Driver support (72d4b9f)
  • Added Sqlite Driver support (3ecb321)
  • Minor bugfixes, resolves #19 (9f8615f), closes #19

<a name="0.1.0"></a>

0.1.0 (2016-04-23)

  • configure recipe initial implementation (c57f71e)
  • Added assets precompilation support. Resolves #12 (b8d8ff5), closes #12
  • Added auto-start of nginx to setup phase. Resolves #15 (fbb07dc), closes #15
  • Added basic documentation (235519f)
  • Added code quality tools (730857f)
  • Added core_ext specs. Resolves #7 (b089eb3), closes #7
  • Added DHparams and nginx version detection support. Resolves #8 and resolves #9 (4e60594), closes #8 #9
  • Added missing specs (ff85e4f)
  • Added nginx reload after deploy. Resolves #13 (f1bc277), closes #13
  • Added ruby and bundler installation to setup phase (0182e70), closes #5 #6
  • Added symlinking defaults. Resolves #16 (4a1edd9), closes #16
  • Added travis config and coveralls support (a782a64)
  • Added undeploy recipe (aba311b)
  • Added webserver setup (nginx) (1581def)
  • Added workers support. Resolves #18 (05e3a75), closes #18
  • Appserver implemented (unicorn) (bbb79cc)
  • Basic SCM support implemented (bcab3d7)
  • Finished database support in recipes (cf955a0)
  • Fixed appserver restart sequence (9a75f9c)
  • Fixed nginx defaults. Resolves #14 and resolves #17 (8320f3b), closes #14 #17
  • Fixes on bugs detected while deploying to real OpsWorks (035363b)
  • Initial commit (d8bed5c)
  • Initial version, with simple postgresql driver introduced (5d00083)
  • Moved DB packages installation from configure to setup (e23f2d4)
  • Moved libraries to flat directory structure, because AWS chef hates us (e6aa211)
  • Rails deploy hooks implemented (79d2d64)
  • Recipes cleanup: added missing actions and shutdown recipe (9eb9bb8)
  • Reorganized appserver cookbooks, added bundle install to deploy (2e9947b)

Collaborator Number Metric

1.7.1 failed this metric

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

Contributing File Metric

1.7.1 passed this metric

Foodcritic Metric

1.7.1 passed this metric

License Metric

1.7.1 passed this metric

No Binaries Metric

1.7.1 passed this metric

Testing File Metric

1.7.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

1.7.1 passed this metric