Puppet Class: dovecot

Inherited by:
dovecot::install
dovecot::poolmon
dovecot::service
dovecot::configuration
Defined in:
manifests/init.pp

Summary

This class allows simple configuration of the dovecot server.

Overview

There is no semantic abstraction done in this class, all config parameters are passed directly to dovecot via config files.

Examples:

Using a profile to load merged values from hiera:

$config = hiera_hash("${title}::config", {})
$configs = hiera_hash("${title}::configs", {})
$plugins = hiera_array("${title}::plugins", undef)
class { 'dovecot':
  plugins => $plugins,
  config => $config,
  configs => $configs,
}

Parameters:

  • config (Hash)

    A hash of config file entries, with nested hashes parsed as sections.

  • config_path (String)

    The path to the dovecot config dir.

  • configs (Hash)

    A hash of conf.d file names to $config-style hashes.

  • configs_mode (String)

    The file permissions that should be applied.

  • directory_private_manage (Boolean)

    Whether to manage the private directory.

  • extconfigs (Hash)

    A hash of external config files.

  • extconfigs_mode (String)

    The file permissions that should be applied.

  • package_ensure (String)

    Whether to install the dovecot package, and what version to install. Values: ‘present’, ‘latest’, or a specific version number. Default value: ‘present’.

  • package_manage (Boolean)

    Whether to install the dovecot core and plugin packages.

  • package_name (Array[String])

    The name of the main dovecot package.

  • plugin (Hash)

    Contains a package_name parameter for each plugin (if available).

  • plugins (Array[String[1]])

    The list of plugins to install.

  • poolmon_archive_params (Hash)

    Additional parameters that should be passed through to the ‘archive` resource.

  • poolmon_basepath (String)

    The base path for installing poolmon.

  • poolmon_config (Hash)

    A list of config options.

  • poolmon_config_file (String)

    The path and filename of the configuration file.

  • poolmon_exec (String)

    The path to the poolmon binary.

  • poolmon_manage (Boolean)

    Whether to manage the poolmon service. Default value: false.

  • poolmon_service_enable (Boolean)

    Whether the poolmon service should be configured for automatic startup.

  • poolmon_service_ensure (Enum['running', 'stopped'])

    The desired state for the service.

  • poolmon_service_file (String)

    The path to the service file.

  • poolmon_service_mode (String)

    File permissions for the service file.

  • poolmon_service_provider (Enum['init', 'rc', 'systemd'])

    The provider used to handle services, e.g. systemd.

  • poolmon_version (String)

    The version of poolmon that should be installed.

  • purge_unmanaged (Boolean)

    Whether to purge all unmanaged files in the dovecot directory.

  • service_enable (Boolean)

    Whether to enable the dovecot service at boot. Default value: true.

  • service_ensure (Enum['running', 'stopped'])

    Whether the dovecot service should be running. Default value: ‘running’.

  • service_manage (Boolean)

    Whether to manage the dovecot service.

  • service_name (String)

    The dovecot service to manage. Default value: varies by operating system.

  • sievec (Stdlib::Absolutepath)

    The path to the sievec binary.

Author:

  • Bernhard Frauendienst <puppet@nospam.obeliks.de>



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'manifests/init.pp', line 109

class dovecot (
  Hash $config,
  String $config_path,
  Hash $configs,
  String $configs_mode,
  Hash $extconfigs,
  String $extconfigs_mode,
  String $package_ensure,
  Boolean $package_manage,
  Array[String] $package_name,
  Hash $poolmon_archive_params,
  String $poolmon_basepath,
  Hash $poolmon_config,
  String $poolmon_config_file,
  String $poolmon_exec,
  Boolean $poolmon_manage,
  Boolean $poolmon_service_enable,
  Enum['running', 'stopped'] $poolmon_service_ensure,
  String $poolmon_service_file,
  String $poolmon_service_mode,
  Enum['init', 'rc', 'systemd'] $poolmon_service_provider,
  String $poolmon_version,
  Boolean $purge_unmanaged,
  Boolean $directory_private_manage,
  Hash $plugin,
  Array[String[1]] $plugins,
  Boolean $service_enable,
  Enum['running', 'stopped'] $service_ensure,
  Boolean $service_manage,
  String $service_name,
  Stdlib::Absolutepath $sievec,
) {
  contain dovecot::install
  contain dovecot::configuration
  contain dovecot::service
  contain dovecot::poolmon

  Class['dovecot::install']
  -> Class['dovecot::configuration']
  ~> Class['dovecot::service']
  ~> Class['dovecot::poolmon']
}