diff --git a/mongodb/files/mongodb.conf b/mongodb/files/mongodb.conf new file mode 100644 index 0000000..060ce63 --- /dev/null +++ b/mongodb/files/mongodb.conf @@ -0,0 +1,23 @@ +# mongodb.conf + +#where to log +logpath=/var/log/mongodb/mongodb.log + +# fork and run in background +fork = true + +bind_ip = 127.0.0.1 +port = 27017 + +dbpath=/srv/mongodb + +pidfilepath=/var/run/mongodb/mongodb.pid + +# Enables periodic logging of CPU utilization and I/O wait +cpu = true + +# Turn on/off security. Off is currently the default +auth = true + +# Verbose logging output. +verbose = true diff --git a/mongodb/manifests/init.pp b/mongodb/manifests/init.pp new file mode 100644 index 0000000..5b4baa7 --- /dev/null +++ b/mongodb/manifests/init.pp @@ -0,0 +1,58 @@ +# Install mongodb client. +# +class mongodb::client { + + package { "mongodb": + ensure => installed, + } + +} + + +# Install mongodb server. +# +class mongodb::server { + + package { "mongodb-server": + ensure => installed, + } + + if $mongodb_datadir { + file { $mongodb_datadir: + ensure => directory, + mode => "0755", + owner => "mongodb", + group => "mongodb", + require => Package["mongodb-server"], + before => File["/srv/mongodb"], + } + file { "/srv/mongodb": + ensure => link, + target => $mongodb_datadir, + } + } else { + file { "/srv/mongodb": + ensure => directory, + mode => "0755", + owner => "mongodb", + group => "mongodb", + require => Package["mongodb-server"], + } + } + + file { "/etc/mongodb.conf": + ensure => present, + mode => "0644", + owner => "root", + group => "root", + source => "puppet:///modules/mongodb/mongodb.conf", + notify => Service["mongod"], + } + + service { "mongod": + ensure => running, + enable => true, + require => File["/srv/mongodb"], + } + +}