Puppet Class: dovecot::config
- Defined in:
- manifests/config.pp
Summary
Manages all dovecot configuration files.Overview
Class: dovecot::config
This subclass manages all dovecot configuration files, from the primary
dovecot.conf to every file in the conf.d directory including custom, user-
created files. All configuration files are kept on the node unless
dovecot::package_ensure: purged
.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'manifests/config.pp', line 47
class dovecot::config {
$conf_dot_d_path = "${dovecot::config_file_path}/conf.d"
$knockout_prefix = $dovecot::config_hash_key_knockout_prefix
# Cleanly uninstall when the primary package is purged. Allow 'absent' to
# leave the configuration behind.
if 'purged' == $dovecot::package_ensure {
file { $dovecot::config_file_path:
ensure => absent,
force => true,
}
} else {
# Ensure the configuration directories exists
file { $dovecot::config_file_path:
ensure => directory,
purge => $dovecot::purge_config_file_path,
recurse => $dovecot::purge_config_file_path,
recurselimit => 2,
* => $dovecot::config_file_path_attributes,
}
-> file { $conf_dot_d_path:
ensure => directory,
* => $dovecot::config_file_path_attributes,
}
# Manage dovecot.conf
file { "${dovecot::config_file_path}/dovecot.conf":
ensure => file,
content => template("${module_name}/config-file.erb"),
* => $dovecot::config_file_attributes,
}
# Manage all auxilliary configuration files
pick($dovecot::config_files, {}).each | String $file, Hash $config, | {
file { "${conf_dot_d_path}/${file}":
ensure => file,
content => template("${module_name}/config-file.erb"),
* => $dovecot::config_file_attributes,
}
}
}
}
|