thor77-sogo

Puppet module to manage SOGo


Keywords
hacktoberfest, puppet, sogo
License
MIT
Install
puppet module install thor77-sogo --version 1.0.0

Documentation

puppet-sogo

Build Status Puppet Forge Puppet Forge Downloads

Module to manage SOGo groupware

Example

$database = 'postgresql://sogo@127.0.0.1/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://sogo@127.0.0.1/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://sogo@127.0.0.1/sogo/sogo_view',
            },
          ],
        },
        'example.net' => {
          'SOGoSieveScriptsEnabled' => 'YES',
          'SOGoUserSources' => [
            {
              'type' => 'sql',
              'id' => 'directory',
              'viewURL' => 'postgresql://sogo@127.0.0.1/sogo/sogo_view',
            },
          ],
        },
      },
    }
...