Skip to content

voxpupuli/puppet-prosody

Repository files navigation

Prosody

Build Status

Puppet module for the Prosody Jabber/XMPP server.

This module is a fork of rtyler/puppet-prosody because the upstream is dead. A bunch of features were added and bugs were fixed.

If you want to use Prosody in a production environment, this is the Puppet module to use.

Using

Note: This module has currently been tested on CentOS 7, Ubuntu and OpenBSD.

node myserver {

  class { 'prosody':
    user              => 'prosody',
    group             => 'prosody',
    community_modules => ['mod_auth_ldap'],
    authentication    => 'ldap',
    components => {
      'conference'        => {
        'name'   => 'conf.example.org',
        'type'   =>'muc',
        'options => {
          'modules_enabled' => [
            'muc_mam',
            'vcard_muc',
          ],
      },
      'bridge'            => {
        'name'   => 'bridge.example.org',
        'secret' =>  'mysupersecret',
      },
      'focus'             => {
        'name'   => 'focus.example.org',
        'secret' => 'anothersupersecret',
      }
    },
    custom_options    => {
                            'ldap_base'     => 'OU="accounts",DC="mydomain",DC="com"',
                            'ldap_server'   => 'ldapserver1:636 ldapserver2:636',
                            'ldap_rootdn'   => 'DN="prosody",OU="accounts",DC="mydomain",DC="com"',
                            'ldap_password' => hiera(prosody-ldap-password),
                            'ldap_scope'    => 'subtree',
                            'ldap_tls'      => 'true',
                          },
  }

  prosody::virtualhost {
    'mydomain.com' :
      ensure   => present,
      ssl_key  => '/etc/ssl/key/mydomain.com.key',
      ssl_cert => '/etc/ssl/crt/mydomain.com.crt',
  }

  prosody::user { 'foo':
    host => 'mydomain.com',
    pass => 'itsasecret',
  }
}

Support

Please file bugs and enhancement requests in the GitHub issue tracker