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


postfix-dkim (12) Versions 1.0.6

Installs/Configures postfix and opendkim, a postfix DKIM filter (see:

cookbook 'postfix-dkim', '= 1.0.6', :supermarket
cookbook 'postfix-dkim', '= 1.0.6'
knife supermarket install postfix-dkim
knife supermarket download postfix-dkim
Quality 100%


Installs opendkim package and basically follows this:

Installs Postfix via the official postfix cookbook and adds the following configuration:

node.default['postfix']['main']['milter_default_action'] = 'accept'
node.default['postfix']['main']['milter_protocol']       = 2
node.default['postfix']['main']['smtpd_milters']         = node['postfix_dkim']['postfix_milter_socket']
node.default['postfix']['main']['non_smtpd_milters']     = node['postfix_dkim']['postfix_milter_socket']

This has been tested on Ubuntu 10.04 and 14.04


See man 5 opendkim.conf for more info on these:

  • postfix_dkim['domain'] - Domain to sign (default: your FQDN)
  • postfix_dkim['keyfile'] - Full path to location of private key. If it doesn't exist, will use dkim-genkey to make one for you. (default: /etc/mail/dkim.key)
  • postfix_dkim['selector'] - See the section on selectors (default: mail)
  • postfix_dkim['autorestart'] - Restart on failure (default: false). Should probably flip this to true when you're sure the filter works.
  • postfix_dkim['sender_headers'] - SenderHeaders value (default: nil, will use opendkim default). See opendkim manual for more info.

For /etc/default/opendkim:

postfix_dkim['socket'] - Socket to bind to. (default: 'inet:8891@localhost')

For key generation using key-genkey:

postfix_dkim['testmode'] - Run DKIM in test mode? see "t=" on (default: true)

For Postfix's

postfix_dkim['postfix_milter_socket'] - Opendkim socket in Postfix format, see: (default: 'inet:localhost:8891')
This should mirror postfix_dkim['socket']


Set the attributes (defaults should work for most on Ubuntu), and it installs and configures postfix and the postfix filter (opendkim).

Will attempt to generate a private key for you, if it doesn't already exist (key file is specified in the postfix_dkim[:keyfile] attribute)


DKIM setup is not complete until you create the necessary TXT DNS record containing your public key, which is located in the postfix_dkim[:selector].txt file within the postfix_dkim[:keyfile] directory.

So, if you're using defaults, this will be located in /etc/mail/mail.txt. You can safely delete or move this file once you've created the DNS record.

Dependent cookbooks

postfix > 3.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Foodcritic Metric

1.0.6 passed this metric