Skip to content
Snippets Groups Projects
README.md 2.57 KiB
Newer Older
Adam Lewenberg's avatar
Adam Lewenberg committed
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [Stanford ACS OpenLDAP Puppet Module](#stanford-acs-openldap-puppet-module)
  - [Introduction](#introduction)
  - [Usage](#usage)
    - [OpenLDAP Installation and Configuration](#openldap-installation-and-configuration)
      - [Hosting Model](#hosting-model)
      - [OpenLDAP Version](#openldap-version)
  - [Schema Files](#schema-files)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

Stanford ACS OpenLDAP Puppet Module
===================================

Introduction
------------

Puppet module to manage Stanford's OpenLDAP service. Supports both
traditional servers and containers.

## Usage ##

### OpenLDAP Installation and Configuration ###

The main class `ldap` supports the installation of OpenLDAP and some of
OpenLDAP's configuration. The simplest installation (which accepts all the
defaults) is:

    class { 'ldap':
    }

This assumes installation on a traditional Debian server and will install
whichever version of OpenLDAP is current for that version of Debian.

#### Hosting Model

If you are installing onto a container, use the parameter `hosting_model`
and set to `container`:

    class { 'ldap':
      hosting_model => 'container',
    }

The only two acceptable values for `hosting_model` are "`traditional`" and
"`container`".

#### OpenLDAP Version

As mentioned above, the default is to install whichever version of
OpenLDAP `apt` thinks should be installed. This will, of course, depend on
the version of Debian underlying the host.

However, you can override this by using the `install_archive` and
`install_distro`. If the distribution you want to use is already in
included in the APT sources via `/etc/apt/sources.list.d` then use
`install_distribution` to specify the distribution:

    # Use the "testing" distribution
    class { 'ldap':
      install_distribution => 'testing',
    }

If the distribution is _not_ already included in `/etc/apt/sources.list.d`
then you can use `install_repository` to add a `.list` file to
`/etc/apt/sources.list.d` that tells `apt` where to look for the
distribution. For example,

    # Use the "stretch-prod" distribution.
    class { 'ldap':
      install_distribution => 'stretch-prod',
      install_repository   => 'https://debian.stanford.edu/debian-stanford',
    }

Adam Lewenberg's avatar
Adam Lewenberg committed
## Schema Files
Adam Lewenberg's avatar
Adam Lewenberg committed

Adam Lewenberg's avatar
Adam Lewenberg committed
We keep the definitive source for Stanford's LDAP schema files in the
directory `files/schema`.