2020
2121## Overview
2222
23- Installs MongoDB on RHEL/Ubuntu/Debian from OS repo, or alternatively from
24- MongoDB community/enterprise repositories.
23+ Installs MongoDB on RHEL/Ubuntu/Debian/SLES from community/enterprise repositories
24+ or alternatively from custom repositories.
2525
2626## Module Description
2727
2828The MongoDB module manages mongod server installation and configuration of the
29- mongod daemon. For the time being it supports only a single MongoDB server
30- instance, without sharding functionality.
29+ mongod daemon.
3130
32- The MongoDB module also manages Ops Manager setup and the mongdb-mms daemon .
31+ The MongoDB module also manages mongos, Ops Manager and the mongdb-mms setup .
3332
3433## Setup
3534
3635### What MongoDB affects
3736
38- * MongoDB package .
37+ * MongoDB packages .
3938* MongoDB configuration files.
40- * MongoDB service.
41- * MongoDB client.
42- * MongoDB sharding support (mongos)
43- * MongoDB apt/yum repository.
44- * Ops Manager package.
45- * Ops Manager configuration files.
39+ * MongoDB services.
40+ * MongoDB apt/yum/zypper repository.
4641
4742### Beginning with MongoDB
4843
49- If you just want a server installation with the default options you can run
44+ If you want a server installation with the default options you can run
5045` include mongodb::server ` . If you need to customize configuration
5146options you need to do the following:
5247
@@ -57,52 +52,20 @@ class {'mongodb::server':
5752}
5853```
5954
60- For Red Hat family systems, the client can be installed in a similar fashion:
55+ To install client with default options run ` include mongodb::client `
6156
62- ``` puppet
63- class {'mongodb::client':}
64- ```
65-
66- Note that for Debian/Ubuntu family systems the client is installed with the
67- server. Using the client class will by default install the server.
68-
69- If one plans to configure sharding for a Mongo deployment, the module offer
70- the ` mongos ` installation. ` mongos ` can be installed the following way :
71-
72- ``` puppet
73- class {'mongodb::mongos' :
74- configdb => ['configsvr1.example.com:27018'],
75- }
76- ```
77-
78- Although most distros come with a prepacked MongoDB server, you may prefer to
79- use a more recent version. To install MongoDB from the community repository:
57+ To override the default mongodb repo version you need the following:
8058
8159``` puppet
8260class {'mongodb::globals':
83- manage_package_repo => true,
84- version => '3.6',
85- }
86- -> class {'mongodb::client': }
87- -> class {'mongodb::server': }
88- ```
89-
90- If you don't want to use the MongoDB software repository or the OS packages,
91- you can point the module to a custom one.
92- To install MongoDB from a custom repository:
93-
94- ``` puppet
95- class {'mongodb::globals':
96- manage_package_repo => true,
97- repo_location => 'http://example.com/repo'
61+ repo_version => '4.4',
9862}
9963-> class {'mongodb::server': }
10064-> class {'mongodb::client': }
10165```
10266
103- Having a local copy of MongoDB repository (that is managed by your private modules)
104- you can still enjoy the charms of ` mongodb::params ` that manage packages.
105- To disable managing of repository, but still enable managing packages:
67+ If you have a custom Mongodb repository
68+ you can opt out of repo management:
10669
10770``` puppet
10871class {'mongodb::globals':
@@ -139,6 +102,17 @@ mongodb::db { 'testdb':
139102Parameter 'password_hash' is hex encoded md5 hash of "user1:mongo: pass1 ".
140103Unsafe plain text password could be used with 'password' parameter instead of 'password_hash'.
141104
105+ ### Sharding
106+
107+ If one plans to configure sharding for a Mongo deployment, the module offer
108+ the ` mongos ` installation. ` mongos ` can be installed the following way :
109+
110+ ``` puppet
111+ class {'mongodb::mongos' :
112+ configdb => ['configsvr1.example.com:27018'],
113+ }
114+ ```
115+
142116### Ops Manager
143117
144118To install Ops Manager and have it run with a local MongoDB application server do the following:
0 commit comments