项目作者: voxpupuli

项目描述 :
mongodb installation
高级语言: Ruby
项目地址: git://github.com/voxpupuli/puppet-mongodb.git
创建时间: 2012-04-23T21:28:15Z
项目社区:https://github.com/voxpupuli/puppet-mongodb

开源协议:Apache License 2.0

下载


mongodb puppet module

Build Status
Release
Puppet Forge
Puppet Forge - downloads
Puppet Forge - endorsement
Puppet Forge - scores
License

Table of Contents

  1. Overview
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with mongodb
  4. Usage - Configuration options and additional functionality
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Overview

Installs MongoDB on RHEL/Ubuntu/Debian/SLES from community/enterprise repositories
or alternatively from custom repositories.

Module Description

The MongoDB module manages mongod server installation and configuration of the
mongod daemon.

The MongoDB module also manages mongos, Ops Manager and the mongdb-mms setup.

Setup

What MongoDB affects

  • MongoDB packages.
  • MongoDB configuration files.
  • MongoDB services.
  • MongoDB apt/yum/zypper repository.

Beginning with MongoDB

If you want a server installation with the default options you can run
include mongodb::server. If you need to customize configuration
options you need to do the following:

  1. class {'mongodb::server':
  2. port => 27018,
  3. verbose => true,
  4. }

To install client with default options run include mongodb::client

To override the default mongodb repo version you need the following:

  1. class {'mongodb::globals':
  2. repo_version => '4.4',
  3. }
  4. -> class {'mongodb::server': }
  5. -> class {'mongodb::client': }

If you have a custom Mongodb repository you can opt out of repo management:

  1. class {'mongodb::globals':
  2. manage_package_repo => false,
  3. }
  4. -> class {'mongodb::server': }
  5. -> class {'mongodb::client': }

Usage

Most of the interaction for the server is done via mongodb::server. For
more options please have a look at mongodb::server.
There is also mongodb::globals to set some global settings, on its own this
class does nothing.

Create MongoDB database

To install MongoDB server, create database “testdb” and user “user1” with password “pass1”.

  1. class {'mongodb::server':
  2. auth => true,
  3. }
  4. mongodb::db { 'testdb':
  5. user => 'user1',
  6. password_hash => 'a15fbfca5e3a758be80ceaf42458bcd8',
  7. }

Parameter ‘password_hash’ is hex encoded md5 hash of “user1:mongo:pass1”.
Unsafe plain text password could be used with ‘password’ parameter instead of ‘password_hash’.

Sharding

If one plans to configure sharding for a Mongo deployment, the module offer
the mongos installation. mongos can be installed the following way :

  1. class {'mongodb::mongos' :
  2. configdb => ['configsvr1.example.com:27018'],
  3. }

Ops Manager

To install Ops Manager and have it run with a local MongoDB application server do the following:

  1. class {'mongodb::opsmanager':
  2. opsmanager_url => 'http://opsmanager.yourdomain.com'
  3. mongo_uri => 'mongodb://yourmongocluster:27017,
  4. from_email_addr => 'opsmanager@yourdomain.com',
  5. reply_to_email_addr => 'replyto@yourdomain.com',
  6. admin_email_addr => 'admin@yourdomain.com',
  7. $smtp_server_hostname => 'email-relay.yourdomain.com'
  8. }

The default settings will not set useful email addresses. You can also just run include mongodb::opsmanager
and then set the emails later.

Ops Manager Usage

Most of the interaction for the server is done via mongodb::opsmanager. For
more options please have a look at mongodb::opsmanager.

Limitations

Look at metadata.json for tested OSes.

Development

This module is maintained by Vox Pupuli. Voxpupuli
welcomes new contributions to this module, especially those that include
documentation and rspec tests. We are happy to provide guidance if necessary.

Please see CONTRIBUTING for more details.

Authors

  • Puppetlabs Module Team
  • Voxpupuli Team

We would like to thank everyone who has contributed issues and pull requests to this module.
A complete list of contributors can be found on the
GitHub Contributor Graph
for the puppet-mongodb module.