Adoptable Cookbooks List

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.

This example will create two vhosts; inviqa and inviqa.ssl. inviqa.ssl will be configured to respond on port 443 with some sensible SSL default settings (including limiting to secure protocols and ciphersuites).

It is assumed that projects that use this cookbook also use the data-bag-merge cookbook from https://cookbooks.opscode.com/cookbooks/data-bag-merge. This cookbook merges encrypted data bags in to your chef attributes to enabled encrypted attributes for cookbooks that do not directly support them.

Server params

To add fastcgi_param for Nginx or SetEnv for Apache use php_server_variables under sites key, like in this example for apache (it's similiar for nginx):

A shared_folders folder containing a '.' will apply permissions recursively
from the dot onwards, and not preceding directory names. A shared_folder section
that doesn't have owner or group will inherit the top-level owner and group.

This will create a firewall with http port 8080, along with the default ssh port
as inherited from the cookbook attributes, leaving the https port blocked.

Mysql databases

The mysql database helper enables you to create mysql databases from attributes. It proxies the attributes to the mysql_database resource defined by the database cookbook here: https://github.com/opscode-cookbooks/database#database. This means that any attributes valid there are valid here.

Add config-driven-helper::mysql-databases to enable it.

The following example creates the database my_database with no additional options.

{
"mysql": {
"databases": {
"my_database": { }
}
}
}

Additional Packages

The packages helper simply enables you to define a list of packages to install. Due to the way that chef merges array attributes you should take care to define all packages at the same precedence level. We may in the future support hash lists to enable purges too.

Add config-driven-helper::packages-additional to enable it.

The following example installs both git and java packages.

{
"packages-additional": {
"git": "install",
"java": "install"
}
}

Services

The services helper enables you to perform simple actions on pre-defined services such as start / stop / enable / disable them. Note that the service name should be name used by chef, not that of the underlying OS (though they are often the same).

Add config-driven-helper::services to enable it.

The following example shows how to make sure that the mysql service is both enabled and started.

"services": {
"mysql": [ "enable", "start" ]
}

Mysql ruby

This recipe is primarily for internal use by the mysql helpers. It forces the install of the mysql gem in to the chef ruby. This is provided because chef_gem is not an appropriate solution where mysql is installed in the same run and depends on a different version of mysql-libs (or your OS equivalent) to the version of MySQL being installed. A simple example of this is installing Percona on CentOS 6.5.

Add config-driven-helper::mysql-ruby to enable it (although it is explicitly included by the mysql helpers so this should only be necessary if used standalone).

Contributing

Fork the repository on Github

Create a named feature branch (like add_component_x)

Write you change

Write tests for your change (if applicable)

Run the tests, ensuring they all pass

Submit a Pull Request using Github

Supermarket share

stove is used to create git tags and
publish the cookbook on supermarket.chef.io.

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

1.5.0 (10 November 2015)

Separate includes into includes_first and include_last for greater control

1.4.3 (8 September 2015)

IMPROVEMENTS:

Fix specs/tests

Add Chef 12 compatibility for nginx-sites/apache-sites

BUG FIXES:

Remove obsolete chef-solo-search and users dependencies

1.4.2 (9 August 2015)

BUG FIXES:

Retag due to 1.4.1 missing metadata version update

1.4.1 (9 July 2015)

BUG FIXES:

Fix issue with custom user databag name not working

1.4.0 (3 July 2015)

IMPROVEMENTS:

Add support for encrypted user databags on chef-solo

Collaborator Number Metric

3.0.0 passed this metric

Contributing File Metric

3.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 https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric

3.0.0 failed this metric

FC122: Use the build_essential resource instead of the recipe: config-driven-helper/recipes/mysql-ruby.rb:2Run with Foodcritic Version 14.0.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

3.0.0 passed this metric

Publish Metric

3.0.0 passed this metric

Supported Platforms Metric

3.0.0 passed this metric

Testing File Metric

3.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 https://github.com/user/repo, and your repo must contain a TESTING.md file