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


magento-ng (10) Versions 1.0.0

Installs/Configures magento-ng

cookbook 'magento-ng', '= 1.0.0'
cookbook 'magento-ng', '= 1.0.0', :supermarket
knife cookbook site install magento-ng
knife cookbook site download magento-ng


A collection of recipes to prepare environments for hosting Magento applications.

Supported Platforms




Sets up the system cron to call the Magento cron executor for each defined Magento site.


Prepared the local.xml file for each defined Magento site.


Set up a complete Magento application server calling many of the other magento-ng recipes.


<table> <tr> <th>Key</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> <tr> <td><tt>['magento']['db']['host']</tt></td> <td>String</td> <td>Database host name / IP</td> <td><tt>localhost</tt></td> </tr> <tr> <td><tt>['magento']['db']['database']</tt></td> <td>String</td> <td>Database name</td> <td><tt>magentodb</tt></td> </tr> <tr> <td><tt>['magento']['db']['username']</tt></td> <td>String</td> <td>Database user name</td> <td><tt>magentouser</tt></td> </tr> <tr> <td><tt>['magento']['db']['password']</tt></td> <td>String</td> <td>Database user password</td> <td><tt></tt></td> </tr> <tr> <td><tt>['magento']['db']['persistant']</tt></td> <td>String</td> <td>Use persistent connections</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['db']['active']</tt></td> <td>String</td> <td>Is the database active</td> <td><tt>1</tt></td> </tr> <tr> <td><tt>['magento']['db']['model']</tt></td> <td>String</td> <td>Database type</td> <td><tt>mysql4</tt></td> </tr> <tr> <td><tt>['magento']['db']['initStatements']</tt></td> <td>String</td> <td>Database init statements</td> <td><tt>SET NAMES utf8</tt></td> </tr> <tr> <td><tt>['magento']['db']['type']</tt></td> <td>String</td> <td>PHP database driver</td> <td><tt>pdo_mysql</tt></td> </tr> <tr> <td><tt>['magento']['app']['base_path']</tt></td> <td>String</td> <td>Path to the root of the Magento files</td> <td><tt>public</tt></td> </tr> <tr> <td><tt>['magento']['app']['locale']</tt></td> <td>String</td> <td>Default locale</td> <td><tt>en_GB</tt></td> </tr> <tr> <td><tt>['magento']['app']['timezone']</tt></td> <td>String</td> <td>Default timezone</td> <td><tt>Europe/London</tt></td> </tr> <tr> <td><tt>['magento']['app']['currency']</tt></td> <td>String</td> <td>Default currency</td> <td><tt>GBP</tt></td> </tr> <tr> <td><tt>['magento']['app']['session_save']</tt></td> <td>String</td> <td>Session storage type (files|db|memcache)</td> <td><tt>db</tt></td> </tr> <tr> <td><tt>['magento']['app']['admin_frontname']</tt></td> <td>String</td> <td>URL path to the admin</td> <td><tt>admin</tt></td> </tr> <tr> <td><tt>['magento']['app']['use_rewrites']</tt></td> <td>String</td> <td>Whether to use URL rewriting</td> <td><tt>yes</tt></td> </tr> <tr> <td><tt>['magento']['app']['use_secure']</tt></td> <td>String</td> <td>Allow secure connections</td> <td><tt>yes</tt></td> </tr> <tr> <td><tt>['magento']['app']['use_secure_admin']</tt></td> <td>String</td> <td>Allow secure connections to admin</td> <td><tt>yes</tt></td> </tr> <tr> <td><tt>['magento']['app']['multi_session_save']</tt></td> <td>String</td> <td>Multi session storage type (files|db|memcache)</td> <td><tt>db</tt></td> </tr> <tr> <td><tt>['magento']['app']['session_memcache_ip']</tt></td> <td>String</td> <td>IP of session storage memcache instance</td> <td><tt></tt></td> </tr> <tr> <td><tt>['magento']['app']['session_memcache_port']</tt></td> <td>String</td> <td>Port to connect to session storage memcache</td> <td><tt>11211</tt></td> </tr> <tr> <td><tt>['magento']['app']['backend_cache']</tt></td> <td>String</td> <td>Cache storage type (apc|memcache|xcache|file|CM_Cache_Backend_Redis)</td> <td><tt>file</tt></td> </tr> <tr> <td><tt>['magento']['app']['slow_backend']</tt></td> <td>String</td> <td>Slow cache storage type (database|file)</td> <td><tt>database</tt></td> </tr> <tr> <td><tt>['magento']['redis']['host']</tt></td> <td>String</td> <td>Hostnane/IP of the Redis instance</td> <td><tt></tt></td> </tr> <tr> <td><tt>['magento']['redis']['port']</tt></td> <td>String</td> <td>Redis instance port</td> <td><tt>6379</tt></td> </tr> <tr> <td><tt>['magento']['redis']['password']</tt></td> <td>String</td> <td>Redis instance password</td> <td><tt></tt></td> </tr> <tr> <td><tt>['magento']['redis']['timeout']</tt></td> <td>String</td> <td>Redis connection timeout</td> <td><tt>2.5</tt></td> </tr> <tr> <td><tt>['magento']['redis']['database']</tt></td> <td>String</td> <td>Database to use for backend cache</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['redis']['full_page_cache_database']</tt></td> <td>String</td> <td>Database to use for full page cache</td> <td><tt>1</tt></td> </tr> <tr> <td><tt>['magento']['redis']['session_database']</tt></td> <td>String</td> <td>Database to use for session storage</td> <td><tt>2</tt></td> </tr> <tr> <td><tt>['magento']['redis']['persistent']</tt></td> <td>String</td> <td>Unique string for persistent connections</td> <td><tt>c</tt></td> </tr> <tr> <td><tt>['magento']['redis']['full_page_cache_persistent']</tt></td> <td>String</td> <td>Unique string for persistent full page cache connections</td> <td><tt>fpc</tt></td> </tr> <tr> <td><tt>['magento']['redis']['session_persistent']</tt></td> <td>String</td> <td>Unique string for persistent session connections</td> <td><tt>s</tt></td> </tr> <tr> <td><tt>['magento']['redis']['force_standalone']</tt></td> <td>String</td> <td>Enforce standalone PHP redis, 0 for phpredis</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['redis']['connect_retries']</tt></td> <td>String</td> <td>Reduces errors due to random connection failures</td> <td><tt>1</tt></td> </tr> <tr> <td><tt>['magento']['redis']['automatic_cleaning_factor']</tt></td> <td>String</td> <td>Enable automatic cleaning (not recommended)</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['redis']['compress_data']</tt></td> <td>String</td> <td>Enable data compression</td> <td><tt>1</tt></td> </tr> <tr> <td><tt>['magento']['redis']['compress_tags']</tt></td> <td>String</td> <td>Enable tag compression</td> <td><tt>1</tt></td> </tr> <tr> <td><tt>['magento']['redis']['compress_threshold']</tt></td> <td>String</td> <td>Minimum string size for compression</td> <td><tt>2040</tt></td> </tr> <tr> <td><tt>['magento']['redis']['compression_lib']</tt></td> <td>String</td> <td>Compression library (gzip|lzf|l4z|snappy)</td> <td><tt>gzip</tt></td> </tr> <tr> <td><tt>['magento']['redis']['lifetime_limit']</tt></td> <td>String</td> <td>Lifetime for cache record</td> <td><tt>57600</tt></td> </tr> <tr> <td><tt>['magento']['redis']['log_level']</tt></td> <td>String</td> <td>Logging level</td> <td><tt>4</tt></td> </tr> <tr> <td><tt>['magento']['redis']['max_concurrency']</tt></td> <td>String</td> <td>Maximum number of processes that can wait for a lock</td> <td><tt>6</tt></td> </tr> <tr> <td><tt>['magento']['redis']['break_after_frontend']</tt></td> <td>String</td> <td>Seconds to wait for a session lock</td> <td><tt>5</tt></td> </tr> <tr> <td><tt>['magento']['redis']['fail_after']</tt></td> <td>String</td> <td>Seconds to wait before bailing (in addition to break after time)</td> <td><tt>10</tt></td> </tr> <tr> <td><tt>['magento']['redis']['break_after_adminhtml']</tt></td> <td>String</td> <td>Seconds to wait for a session lock in admin</td> <td><tt>30</tt></td> </tr> <tr> <td><tt>['magento']['redis']['first_lifetime']</tt></td> <td>String</td> <td>Lifetime of session for non-bots</td> <td><tt>600</tt></td> </tr> <tr> <td><tt>['magento']['redis']['bot_first_lifetime']</tt></td> <td>String</td> <td>Lifetime of session for bots on first write</td> <td><tt>60</tt></td> </tr> <tr> <td><tt>['magento']['redis']['bot_lifetime']</tt></td> <td>String</td> <td>Lifetime of session for bots on subsequent writes</td> <td><tt>7200</tt></td> </tr> <tr> <td><tt>['magento']['redis']['disable_locking']</tt></td> <td>String</td> <td>Disable session locking entirely</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['redis']['min_lifetime']</tt></td> <td>String</td> <td>Minimum session lifetime</td> <td><tt>60</tt></td> </tr> <tr> <td><tt>['magento']['redis']['max_lifetime']</tt></td> <td>String</td> <td>Maximim session lifetime</td> <td><tt>2592000</tt></td> </tr> <tr> <td><tt>['magento']['redis']['use_lua']</tt></td> <td>String</td> <td>Enable Lua for some operations</td> <td><tt>0</tt></td> </tr> <tr> <td><tt>['magento']['global']['extra_params']</tt></td> <td>Object</td> <td>Key/value parameter pairs</td> <td><tt> { 'skip_process_modules_updates' => 1, 'skip_process_modules_updates_dev_mode' => 1 } </tt></td> </tr> </table>


  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write you change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

Supermarket share

stove is used to create git tags and publish the cookbook on

To tag/publish you need to be a contributor to the cookbook on Supermarket and run:

$ stove login --username <your username> --key ~/.chef/<your username>.pem
$ rake publish

It will take the version defined in metadata.rb, create a tag, and push the cookbook to

License and Authors

  • Author:: Andy Thompson
Copyright:: 2015 Inviqa UK LTD

See LICENSE file

Dependent cookbooks

php-fpm >= 0.0.0
logrotate >= 1.9
cron >= 1.4
config-driven-helper < 3.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

1.0.0 (27 October 2016)


  • #32 Add additional redis related settings, with sensible defaults.

0.5.1 (14 September 2016)


  • #34 Remove ignored logrotate missingok option

0.5.0 (06 May 2016)


  • #31 Update config-driven-helper to allow for version >= 1.5, < 3.0

0.4.2 (03 May 2016)


  • #25 Abbreviate copyright Limited to LTD for consistency
  • #28 Update code style and spec dependencies


  • #29 Fix an incorrectly named block parameter in etc-local

0.4.1 (28 January 2016)


  • Add additional new and existing restrictions from .htaccess

0.4.0 (10 November 2015)


  • Add a logrotate recipe to the stack for magento logs


  • Restrict access to sensitive files in root using new locations syntax

0.3.1 (02 October 2015)


  • Add support for include/exclude groups/jobs in AOE Scheduler cron

0.3.0 (21 September 2015)


  • Add support for AOE Scheduler cron and watchdog

0.2.1 (9 July 2015)


  • Fix crypt key attribute path

0.2.0 (3 July 2015)


  • Reduce duplication in database configuration
  • Reduce restirctions on dependencies

0.1.1 (1 July 2015)


  • Add stack recipe


  • Fix app attribute path
  • Use raise in place of fatal exceptions

0.1.0 (7 June 2015)


  • Initial release of magento-ng

Collaborator Number Metric

1.0.0 failed this metric

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

Contributing File Metric

1.0.0 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

Foodcritic Metric

1.0.0 failed this metric

FC075: Cookbook uses to save partial node data to the chef-server mid-run: magento-ng/recipes/etc-local.rb:44
Run with Foodcritic Version 11.1.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

License Metric

1.0.0 failed this metric

magento-ng does not have a valid open source license.
Acceptable licenses include Apache-2.0, apachev2, Apache 2.0, MIT, mit, GPL-2.0, gplv2, GNU Public License 2.0, GPL-3.0, gplv3, GNU Public License 3.0.

No Binaries Metric

1.0.0 passed this metric

Publish Metric

1.0.0 passed this metric

Supported Platforms Metric

1.0.0 failed this metric

magento-ng should declare what platform(s) it supports.

Testing File Metric

1.0.0 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.0.0 passed this metric