roundcube
: the main roundcube classroundcube::config
: roundcube configurationroundcube::db
: configure databaseroundcube::db::mysql
: crate a mysql db for roundcuberoundcube::install
: install roundcube packagesroundcube::vhost
: creates a vhost for roundcuberoundcube::vhost::apache
: internal class that installs an apache vhost Parameters are inherited from roundcube::vhost
roundcube::plugin
: configures plugins
the main roundcube class
The following parameters are available in the roundcube
class:
Data type: Boolean
if true a database is created Defaults to false
Default value: false
Data type: Boolean
if true a virtualhost is created Defaults to false
Default value: false
roundcube configuration
The following parameters are available in the roundcube::config
class:
Data type: String
configuration file to use
Default value: '/etc/roundcube/config.inc.php'
Data type: Hash
Hash of configuration variables to set. Defaults to {}
Default value: {}
Data type: String
owner of the config file
Default value: 'root'
Data type: String
group of the config file
Default value: 'www-data'
Data type: String
mode of the config file
Default value: '0640'
Data type: String
Default value: '/etc/roundcube/debian-db-roundcube.php'
Data type: Hash
plugings with configuration to generate (uses create_resources for roundcube::plugin define, simplifies hiera usage !)
Default value: {}
Data type: String
the default config directory to use for plugins only used if roundcube::config::plugins parameter is used
Default value: '/etc/roundcube/plugins'
configure database
The following parameters are available in the roundcube::db
class:
Data type: String
password to connect to the database.
Default value: 'CHANGEME'
Data type: String
database type to use currently only mysql is supported. defaults to 'mysql'
Default value: 'mysql'
Data type: String
name of the database defaults to: 'roundcube'
Default value: 'roundcube'
Data type: String
username to connect to the database. defaults to: 'roundcube'
Default value: 'roundcube'
Data type: Optional[String]
basepath for database, defaults to undef
Default value: undef
Data type: String
port to connect to db defaults to '3306' (mysql)
Default value: '3306'
Data type: String
host that is allowed to connect defaults to 'localhost'
Default value: 'localhost'
Data type: String
where to write the db config. defaults to '/etc/roundcube/debian-db.php' if you do not want to write, set it to ''
Default value: '/etc/roundcube/debian-db.php'
crate a mysql db for roundcube
The following parameters are available in the roundcube::db::mysql
class:
Data type: String
the name of the database
Default value: $roundcube::db::dbname
Data type: String
db user
Default value: $roundcube::db::dbuser
Data type: String
password for the user
Default value: $roundcube::db::dbpass
Data type: String
database host
Default value: $roundcube::db::host
Data type: Optional[String[1]]
set collate
Default value: undef
Data type: Optional[String[1]]
set charset
Default value: undef
install roundcube packages
The following parameters are available in the roundcube::install
class:
Data type: Array
the packages to install
Default value: ['roundcube']
Data type: String
what to ensure for packages
Default value: 'installed'
This class chooses the type of vhost to run webserver
The following parameters are available in the roundcube::vhost
class:
vhosttype
servername
serveraliases
docroot
ssl
ssl_cert
ssl_key
ssl_chain
redirect_to_ssl
create_resources
Data type: String
type of vhost to run. currently only apache supported (default)
Default value: 'apache'
Data type: String
Servername (defaults to $::fqdn)
Default value: $facts['networking']['fqdn']
Data type: Array
Array of Serveraliasess to listen to (default [])
Default value: []
Data type: Stdlib::Absolutepath
Document root
Default value: '/var/lib/roundcube'
Data type: Boolean
If true, use ssl (defaults to false) If true, you also need to set cert, key and chain.
Default value: false
Data type: Optional[Stdlib::Absolutepath]
ssl cert to use
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
ssl key to use
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
ssl chain to use
Default value: undef
Data type: Boolean
if true, redirects all non https requests to https defaults to true.
Default value: true
Data type: Hash
a Hash of Hashes to create additional resources eg. to retrieve a certificate. Defaults to {} (do not create any additional resources) Example (hiera):
roundcube::vhost::create_resources: sslcert::get_cert: get_my_roundcube_cert: private_key_path: '/etc/roundcube/ssl/key.pem' cert_path: '/etc/roundcube/ssl/cert.pem'
Will result in executing:
sslcert::get_cert{'get_my_roundcube_cert': private_key_path => '/etc/roundcube/ssl/key.pem' cert_path => '/etc/roundcube/ssl/cert.pem' }
Default value: {}
internal class that installs an apache vhost Parameters are inherited from roundcube::vhost
The following parameters are available in the roundcube::vhost::apache
class:
Data type: String
Default value: $roundcube::vhost::servername
Data type: Array
Default value: $roundcube::vhost::serveraliases
Data type: Stdlib::Absolutepath
Default value: $roundcube::vhost::docroot
Data type: Hash
Default value: {}
Data type: Boolean
Default value: $roundcube::vhost::ssl
Data type: Optional[Stdlib::Absolutepath]
Default value: $roundcube::vhost::ssl_cert
Data type: Optional[Stdlib::Absolutepath]
Default value: $roundcube::vhost::ssl_key
Data type: Optional[Stdlib::Absolutepath]
Default value: $roundcube::vhost::ssl_chain
Data type: Boolean
Default value: $roundcube::vhost::redirect_to_ssl
configures plugins
The following parameters are available in the roundcube::plugin
defined type:
Data type: String
directory
Data type: Hash
the configurations
Default value: {}
Data type: String
name of the plugin
Default value: $title
Data type: String
owner of the config file
Default value: 'root'
Data type: String
group of the config file
Default value: 'root'
Data type: String
mode of the config file
Default value: '0644'