94 lines
3.5 KiB
Puppet
94 lines
3.5 KiB
Puppet
# PRIVATE CLASS: do not use directly
|
|
class mongodb::params inherits mongodb::globals {
|
|
$ensure = true
|
|
$service_status = $service_status
|
|
$ensure_client = true
|
|
|
|
# Amazon Linux's OS Family is 'Linux', operating system 'Amazon'.
|
|
case $::osfamily {
|
|
'RedHat', 'Linux': {
|
|
|
|
if $mongodb::globals::manage_package_repo {
|
|
$user = pick($user, 'mongod')
|
|
$group = pick($group, 'mongod')
|
|
if $::mongodb::globals::version {
|
|
$server_package_name = "mongodb-org-server-${::mongodb::globals::version}"
|
|
$client_package_name = "mongodb-org-${::mongodb::globals::version}"
|
|
} else {
|
|
$server_package_name = 'mongodb-org-server'
|
|
$client_package_name = 'mongodb-org'
|
|
}
|
|
$service_name = pick($service_name, 'mongod')
|
|
$config = '/etc/mongod.conf'
|
|
$dbpath = '/var/lib/mongo'
|
|
$logpath = '/var/log/mongodb/mongod.log'
|
|
$pidfilepath = '/var/run/mongodb/mongod.pid'
|
|
$bind_ip = pick($bind_ip, ['127.0.0.1'])
|
|
$fork = true
|
|
} else {
|
|
# RedHat/CentOS doesn't come with a prepacked mongodb
|
|
# so we assume that you are using EPEL repository.
|
|
$user = pick($user, 'mongodb')
|
|
$group = pick($group, 'mongodb')
|
|
$server_package_name = pick($server_package_name, 'mongodb-server')
|
|
$client_package_name = pick($client_package_name, 'mongodb')
|
|
|
|
$service_name = pick($service_name, 'mongod')
|
|
$config = '/etc/mongodb.conf'
|
|
$dbpath = '/var/lib/mongodb'
|
|
$logpath = '/var/log/mongodb/mongodb.log'
|
|
$bind_ip = pick($bind_ip, ['127.0.0.1'])
|
|
$pidfilepath = '/var/run/mongodb/mongodb.pid'
|
|
$fork = true
|
|
$journal = true
|
|
}
|
|
}
|
|
'Debian': {
|
|
if $mongodb::globals::manage_package_repo {
|
|
$user = pick($user, 'mongodb')
|
|
$group = pick($group, 'mongodb')
|
|
if $::mongodb::globals::version {
|
|
$server_package_name = "mongodb-10gen=${::mongodb::globals::version}"
|
|
} else {
|
|
$server_package_name = 'mongodb-10gen'
|
|
}
|
|
$service_name = 'mongodb'
|
|
$config = '/etc/mongodb.conf'
|
|
$dbpath = '/var/lib/mongodb'
|
|
$logpath = '/var/log/mongodb/mongodb.log'
|
|
$bind_ip = ['127.0.0.1']
|
|
} else {
|
|
# although we are living in a free world,
|
|
# I would not recommend to use the prepacked
|
|
# mongodb server on Ubuntu 12.04 or Debian 6/7,
|
|
# because its really outdated
|
|
$user = pick($user, 'mongodb')
|
|
$group = pick($group, 'mongodb')
|
|
$server_package_name = pick($server_package_name, 'mongodb-server')
|
|
$client_package_name = pick($client_package_name, 'mongodb')
|
|
$service_name = pick($service_name, 'mongodb')
|
|
$config = '/etc/mongodb.conf'
|
|
$dbpath = '/var/lib/mongodb'
|
|
$logpath = '/var/log/mongodb/mongodb.log'
|
|
$bind_ip = pick($bind_ip, ['127.0.0.1'])
|
|
$pidfilepath = undef
|
|
}
|
|
# avoid using fork because of the init scripts design
|
|
$fork = undef
|
|
}
|
|
default: {
|
|
fail("Osfamily ${::osfamily} and ${::operatingsystem} is not supported")
|
|
}
|
|
}
|
|
|
|
case $::operatingsystem {
|
|
'Ubuntu': {
|
|
$service_provider = pick($service_provider, 'upstart')
|
|
}
|
|
default: {
|
|
$service_provider = undef
|
|
}
|
|
}
|
|
|
|
}
|