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


openldap (50) Versions 3.0.3

Installs and configures OpenLDAP (slapd) an open source implementation of LDAP.

cookbook 'openldap', '= 3.0.3', :supermarket
cookbook 'openldap', '= 3.0.3'
knife supermarket install openldap
knife supermarket download openldap
Quality 100%

openldap Cookbook

Build Status Cookbook Version

Configures a server to be an OpenLDAP master or replication slave. Also includes a recipe to install the client libs, but not to setup actual LDAP auth as there are several ways to do this. We recommend looking at our sssd_ldap cookbook



  • Ubuntu
  • Debian
  • FreeBSD
  • RHEL/CentOS
  • Fedora
  • openSUSE Leap


  • Chef 12.1+


  • dpkg_autostart


This is not an exhaustive list of attributes as most are directly comparable to their OpenLDAP equivalents.


  • openldap['rootpw']

This should be a password hash generated from slappasswd. The default slappasswd command will generate a salted SHA1 hash:

$ slappasswd -s "secretsauce"

Set this via a node/role/env attribute or in a wrapper cookbook with an encrypted data_bag. OpenLDAP will fail to start
if this is not set.


  • openldap['package_install_action'] - The action to be taken for all packages in the recipes. Defaults to :install, but can also be set to :upgrade to upgrade all packages referenced in the recipes.

General configuration

  • openldap['schemas'] - Array of ldap schema file names to load
  • openldap['modules'] - Array of slapd modules names to load


If openldap['ldaps_enabled'] or openldap['tls_enabled'] are set, then openldap['tls_cert']
and openldap['tls_key'] must also be set and the files must exist prior to execution. Depending
on the certificates, openldap['tls_cafile'] may also need to be set. See the test cookbook for an example.

  • openldap['ldaps_enabled'] - listen on LDAPS (636) true | false (default)
  • openldap['tls_enabled'] - true | false (default)
  • openldap['tls_cert'] - full path to your SSL certificate
  • openldap['tls_key'] - full path to your SSL key
  • openldap['tls_cafile'] - full path to your CA certificate (or intermediate authorities), if needed.
  • openldap['tls_ciphersuite'] - OpenSSL cipher suite specification to use, defaults to none (use system default)


Attributes related to replication (syncrepl). Only used if a provider or consumer.

  • openldap['slapd_type'] - 'provider' | 'consumer', default is nil
  • openldap['slapd_provider'] - hostname of slapd provider
  • openldap['slapd_replpw'] - replication password
  • openldap['slapd_rid'] - unique integer ID, required if type is consumer
  • openldap['syncrepl_interval'] - interval for the sync. Defaults to 1 day
  • openldap['syncrepl_type'] - defaults to 'refreshAndPersist'
  • openldap['syncrepl_filter'] - search filter to use in the replication
  • openldap['syncrepl_use_tls'] - yes | no (default)
  • openldap['syncrepl_cn'] - the CN (only) of the user to use as binddn as consumer



Install and configure OpenLDAP (slapd).

License & Authors

Author: Cookbook Engineering Team (

Copyright: 2008-2017, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

openldap Cookbook CHANGELOG

This file is used to list changes made in each version of the openldap cookbook.

v3.0.3 (2017-04-04)

Full Changelog

  • Break rhelish 6 and 7 sysconfig templates out separately #89 (cheeseplus)
  • Fixing CentOS and Amazon Linux support #88 (jpooler)

v3.0.2 (2017-03-27)

  • Change /var/cache/local/preseeding resource configuration to be mode '0755'

v3.0.1 (2017-03-27)

  • Update metadata to improve search query on supermarket for ldap.
  • Standardize license string in metadata.

v3.0.0 (2017-03-16)

This version has several major breaking changes that you will need to be aware of.

  • cn=config via slapd.d never worked and thus the 'support' has been removed - it may return but it will be a new feature
  • All auth logic has been removed from this cookbook. This cookbook now only configures the server side of openldap. We highly recommend configuring LDAP auth using our sssd_ldap cookbook, which functions much better than the previous PAM config.
  • A config hash have been added to add arbitrary files to the ldap.config and slapd.config files. This eliminates much of the need for forking this cookbook to meet your environment's needs. See the readme for detailed information on how these hashes are converted to ldap configs.
  • Many attributes are no longer present or have had name/value changes
  • There is now only one recipe and it is default
  • Properly supporting all platforms listed as supported
  • Adoption of provider and consumer terminology

Other Changes

  • Documented the current process for managing certs
  • Remove old Ubuntu initial run steps from the Readme
  • Ship with more sane logging levels
  • Don't manage ssl out of the box.
  • Remove a duplicate ERB that wasn't called anywhere
  • Rearrange the attributes file to make more sense
  • Updates to the provider setup with syncrepl to make it actually work
  • Add new attributes to provide better control of replication
  • Add unit and lint testing in Travis CI
  • Add basic convergence Chefspec
  • TLS config fixes, use uri over host+port, include client_config_hash in both config files
  • Add new supermarket metadata
  • Add chef_version metadata
  • Resolve all cookstyle warnings
  • Add maintainers files
  • Fix recipe is expecting an attribute named "system_user", but attributes are configured to provide "system_acct".
  • Add TLSCipherSuite to slapd.conf
  • Remove node name from all configs
  • Log a warning error if someone tries to use the default recipe since it doesn't do anything

v2.2.0 (2015-04-16)

  • Added support for FreeBSD
  • Improved support for RHEL platforms
  • Removed the attributes from the metadata.rb file since they were outdated

v2.1.0 (2015-03-10)

  • Resolve the one and only Food Critic warning
  • Remove legacy LDAP Apache2 attributes that aren't used in this cookbook or in the Apache2 cookbook
  • Add an attribute for schemas to enable in the slapd config
  • Add an attribute for the modules to load in the slapd config
  • Make the cn used an attribute

v2.0.0 (2015-03-06)

  • Added URI to the client config so clients can communicate with the LDAP server
  • Change all package resource actions from upgrade -> install and introduce and attribute if you want to change it back. Upgrading openldap when a new package comes out is not a desired action on production systems.
  • Update the "Generated by Chef for xyz" comment blocks in the config templates to be consistent. This will result in config changes / service restarts due to notification
  • Install the most recent version of the Berkeley DB utils package. This adds support for Trusty and RHEL, but will result in a newer version of the bd-util package being installed on Precise systems.
  • Added new attributes to set the cookbook and source path for the SSL keys and certs. This reduces the need to fork / modify this cookbook
  • Added a new attribute for controlling the log level of the server
  • Make the ldap client package an attribute with support for RHEL
  • Fix the search logic in the slave recipe to not fail
  • Converted the cookbook to platform_family to better support Ubuntu. This means the cookbook will no longer work on Chef versions prior to 0.10.10
  • Updated Gemfile with up to date dependency versions
  • Updated Contributing doc to match the current process
  • Added a chefignore file to prevent ds_store files from ending up in /usr/local/bin
  • Switched all modes to strings to preserve the leading 0
  • Added a rubocop.yml file and resolved the majority of rubocop complaints
  • Updated platforms in the kitchen.yml file

v1.12.13 (2015-02-18)

  • reverting OpenSSL module namespace change

v1.12.12 (2015-02-17)

  • Updating to work with latest openssl cookbook

v1.12.10 (2014-04-09)

  • [COOK-4239] - Service enable/start resource moved to end
  • [COOK-4239] - Fix sslfiles + ubuntu fix

v1.12.8 (2014-01-03)

Merged nildomain branch

v1.12.6 (2014-01-03)

adding checks for node['domain'].nil? in attributes


  • [COOK-3772] - nscd clears don't work
  • [COOK-411] - Openldap authentication should validate server certificate



  • COOK-3699 - OpenLDAP Cookbooks - add extra options

u tv0.12.0

New Feature

  • COOK-3561 - Support out of band SSL certificates in openldap::server


  • COOK-3548 - Fix an issue where preseeding may fail if directory does not exist
  • COOK-3543 - Do not try to set up as a slave
  • COOK-3351 - Fix a typo in ldap-ldap.conf.erb template





  • [COOK-2496]: openldap: rootpw is badly set in attributes file
  • [COOK-2970]: openldap cookbook has foodcritic failures


  • [COOK-1588] - general cleanup/improvements
  • [COOK-1985] - attributes file has a search method


  • [COOK-307] - create directory with attribute


  • Initial/Current release

Collaborator Number Metric

3.0.3 passed this metric

Contributing File Metric

3.0.3 passed this metric

Foodcritic Metric

3.0.3 passed this metric

License Metric

3.0.3 passed this metric

No Binaries Metric

3.0.3 passed this metric

Testing File Metric

3.0.3 passed this metric

Version Tag Metric

3.0.3 passed this metric