Module to manage SOGo groupware
$database = 'postgresql://[email protected]/sogo'
class { 'sogo':
# postgresql support
extra_packages => ['sope4.9-gdl1-postgresql'],
config => {
'SOGoProfileURL' => "${database}/sogo_user_profile",
'OCSFolderInfoURL' => "${database}/sogo_folder_info",
'OCSSessionsFolderURL' => "${database}/sogo_sessions_folder",
'SOGoSieveScriptsEnabled' => 'YES',
'SOGoMailCustomFromEnabled' => 'YES',
'SOGoUserSources' => [
{
'type' => 'sql',
'id' => 'directory',
'viewURL' => 'postgresql://[email protected]/sogo/sogo_view',
'canAuthenticate' => 'YES',
'isAddressBook' => 'YES',
'userPasswordAlgorithm' => 'md5',
},
],
},
envconfig => {
'PREFORK' => 3,
},
}
Multiple user sources can be defined as an array of hashes
class { 'sogo':
...
config => {
'SOGoUserSources' => [
{
'type' => 'sql',
'id' => 'directory',
'viewURL' => "${database}/sogo_view",
'canAuthenticate' => 'YES',
'isAddressBook' => 'YES',
'userPasswordAlgorithm' => 'md5',
},
{
'type' => 'sql',
'id' => 'addressbook',
'viewURL' => "${database}/sogo_view_addresses",
'canAuthenticate' => 'NO',
'isAddressBook' => 'YES',
},
],
}
...
}
Multidomain example
class { 'sogo':
...
config => {
'domains' => {
'example.org' => {
'SOGoSieveScriptsEnabled' => 'NO',
'SOGoUserSources' => [
{
'type' => 'sql',
'id' => 'directory',
'viewURL' => 'postgresql://[email protected]/sogo/sogo_view',
},
],
},
'example.net' => {
'SOGoSieveScriptsEnabled' => 'YES',
'SOGoUserSources' => [
{
'type' => 'sql',
'id' => 'directory',
'viewURL' => 'postgresql://[email protected]/sogo/sogo_view',
},
],
},
},
}
...