diff --git a/REFERENCE.md b/REFERENCE.md
index e7b8f7c66..2d63265a2 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -8,20 +8,18 @@
#### Public Classes
-* [`mongodb::client`](#mongodb--client): Class for installing a MongoDB client shell (CLI). == Parameters $ensure:: Desired ensure state of the package. $package_name:: Name of th
-* [`mongodb::globals`](#mongodb--globals): Class for setting cross-class global overrides. See README.md for more details.
-* [`mongodb::mongos`](#mongodb--mongos): This installs a Mongo Shard daemon. See README.md for more details.
-* [`mongodb::mongos::config`](#mongodb--mongos--config): PRIVATE CLASS: do not call directly
-* [`mongodb::mongos::install`](#mongodb--mongos--install): PRIVATE CLASS: do not call directly
+* [`mongodb::client`](#mongodb--client)
+* [`mongodb::globals`](#mongodb--globals): Class for setting cross-class global overrides.
+* [`mongodb::mongos`](#mongodb--mongos): This installs a Mongo Shard daemon.
+* [`mongodb::mongos::config`](#mongodb--mongos--config): Configs mongos
+* [`mongodb::mongos::install`](#mongodb--mongos--install): Installs mongos
* [`mongodb::mongos::params`](#mongodb--mongos--params): PRIVATE CLASS: do not use directly
-* [`mongodb::mongos::service`](#mongodb--mongos--service): PRIVATE CLASS: do not call directly
+* [`mongodb::mongos::service`](#mongodb--mongos--service): Manages the mongos service.
* [`mongodb::opsmanager`](#mongodb--opsmanager): This installs Ops Manager
-* [`mongodb::params`](#mongodb--params): PRIVATE CLASS: do not use directly
* [`mongodb::replset`](#mongodb--replset): Wrapper class useful for hiera based deployments
-* [`mongodb::repo`](#mongodb--repo): PRIVATE CLASS: do not use directly
* [`mongodb::repo::apt`](#mongodb--repo--apt): PRIVATE CLASS: do not use directly
* [`mongodb::repo::yum`](#mongodb--repo--yum): PRIVATE CLASS: do not use directly
-* [`mongodb::server`](#mongodb--server): This installs a MongoDB server. See README.md for more details.
+* [`mongodb::server`](#mongodb--server): This installs a MongoDB server.
* [`mongodb::server::config`](#mongodb--server--config): PRIVATE CLASS: do not call directly
* [`mongodb::server::install`](#mongodb--server--install): PRIVATE CLASS: do not call directly
* [`mongodb::server::service`](#mongodb--server--service): PRIVATE CLASS: do not call directly
@@ -30,11 +28,13 @@
#### Private Classes
* `mongodb::client::params`
+* `mongodb::params`: Private class to set default values.
+* `mongodb::repo`
* `mongodb::repo::zypper`: This is a repo class for zypper
### Defined types
-* [`mongodb::db`](#mongodb--db): == Class: mongodb::db Class for creating mongodb databases and users. == Parameters user - Database username. auth_mechanism - Authentic
+* [`mongodb::db`](#mongodb--db): Class for creating mongodb databases and users.
### Resource types
@@ -52,14 +52,7 @@
### `mongodb::client`
-Class for installing a MongoDB client shell (CLI).
-
-== Parameters
-
-$ensure:: Desired ensure state of the package.
-
-$package_name:: Name of the package to install the client from. Default is
- repository dependent.
+The mongodb::client class.
#### Parameters
@@ -72,7 +65,7 @@ The following parameters are available in the `mongodb::client` class:
Data type: `String[1]`
-
+Used to ensure that the package is installed, or that the package is absent/purged
Default value: `$mongodb::client::params::package_ensure`
@@ -80,14 +73,52 @@ Default value: `$mongodb::client::params::package_ensure`
Data type: `String[1]`
-
+This setting can be used to specify the name of the package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::client::params::package_name`
### `mongodb::globals`
-Class for setting cross-class global overrides. See README.md for more
-details.
+Class for setting cross-class global overrides.
+
+#### Examples
+
+##### Use a more recent MongoDB version to install from the community repository.
+
+```puppet
+
+class {'mongodb::globals':
+ manage_package_repo => true,
+ version => '3.6',
+}
+-> class {'mongodb::client': }
+-> class {'mongodb::server': }
+```
+
+##### Install MongoDB from a custom repository.
+
+```puppet
+
+class {'mongodb::globals':
+ manage_package_repo => true,
+ repo_location => 'http://example.com/repo'
+}
+-> class {'mongodb::server': }
+-> class {'mongodb::client': }
+```
+
+##### To disable managing of repository, but still enable managing packages.
+
+```puppet
+
+class {'mongodb::globals':
+ manage_package_repo => false,
+ manage_package => true,
+}
+-> class {'mongodb::server': }
+-> class {'mongodb::client': }
+```
#### Parameters
@@ -106,6 +137,7 @@ The following parameters are available in the `mongodb::globals` class:
* [`ipv6`](#-mongodb--globals--ipv6)
* [`bind_ip`](#-mongodb--globals--bind_ip)
* [`version`](#-mongodb--globals--version)
+* [`mongosh_version`](#-mongodb--globals--mongosh_version)
* [`manage_package_repo`](#-mongodb--globals--manage_package_repo)
* [`manage_package`](#-mongodb--globals--manage_package)
* [`repo_proxy`](#-mongodb--globals--repo_proxy)
@@ -121,7 +153,8 @@ The following parameters are available in the `mongodb::globals` class:
Data type: `Any`
-
+This setting can be used to override the default MongoDB server package name.
+If not specified, the module will use whatever package name is the default for your OS distro.
Default value: `undef`
@@ -129,7 +162,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to specify the name of the client package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `undef`
@@ -137,7 +171,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default management of the mongod service.
+By default the module will manage the mongod process.
Default value: `undef`
@@ -145,7 +180,7 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to specify if the service should be enable at boot
Default value: `undef`
@@ -153,7 +188,7 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to specify if the service should be running
Default value: `undef`
@@ -161,7 +196,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default MongoDB service name.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `undef`
@@ -169,7 +205,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default MongoDB service provider.
+If not specified, the module will use whatever service provider is the default for your OS distro.
Default value: `undef`
@@ -177,7 +214,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default status check command for your MongoDB service.
+ If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `undef`
@@ -185,7 +223,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default MongoDB user and owner of the service and related files in the file system.
+If not specified, the module will use the default for your OS distro.
Default value: `undef`
@@ -193,7 +232,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default MongoDB user group to be used for related files in the file system.
+If not specified, the module will use the default for your OS distro.
Default value: `undef`
@@ -201,7 +241,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting is used to configure MongoDB to turn on ipv6 support.
+If not specified and ipv6 address is passed to MongoDB bind_ip it will just fail.
Default value: `undef`
@@ -209,7 +250,9 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to configure MonogDB process to bind to and listen for connections from applications on this address.
+If not specified, the module will use the default for your OS distro.
+Note: This value should be passed as an array.
Default value: `undef`
@@ -217,21 +260,25 @@ Default value: `undef`
Data type: `Any`
+The version of MonogDB to install/manage. This is needed when managing repositories.
+If not specified, the module will use the default for your OS distro.
+Default value: `undef`
-Default value:
+##### `mongosh_version`
-```puppet
-fact('os.distro.codename') ? { # Debian 10 doesn't provide mongodb 3.6.
- 'buster' => '4.4.8',
- default => undef
-```
+Data type: `Any`
+
+The version of MonogDB-mongosh to install/manage. This package is mandatory to make this module work.
+If not specified, the module will use the default for your OS distro.
+
+Default value: `undef`
##### `manage_package_repo`
Data type: `Any`
-
+Whether to use the MongoDB software repository or the OS packages (True) or a Custom repo (False)
Default value:
@@ -245,7 +292,7 @@ fact('os.distro.codename') ? { # Debian 10 doesn't provide mongodb packages. So
Data type: `Any`
-
+wgether this module willm manage the mongoDB server package
Default value: `undef`
@@ -253,7 +300,8 @@ Default value: `undef`
Data type: `Any`
-
+This will allow you to set a proxy for your repository in case you are behind a corporate firewall.
+Currently this is only supported with yum repositories
Default value: `undef`
@@ -261,7 +309,7 @@ Default value: `undef`
Data type: `Any`
-
+This sets the username for the proxyserver, should authentication be required.
Default value: `undef`
@@ -269,7 +317,7 @@ Default value: `undef`
Data type: `Any`
-
+This sets the password for the proxyserver, should authentication be required
Default value: `undef`
@@ -277,7 +325,8 @@ Default value: `undef`
Data type: `Any`
-
+This setting can be used to override the default MongoDB repository location.
+If not specified, the module will use the default repository for your OS distro.
Default value: `undef`
@@ -285,7 +334,8 @@ Default value: `undef`
Data type: `Any`
-
+When manage_package_repo is set to true, this setting indicates if it will use the Community Edition
+(false, the default) or the Enterprise one (true).
Default value: `undef`
@@ -293,7 +343,8 @@ Default value: `undef`
Data type: `Any`
-
+Specify a file location to hold the PID or process ID of the mongod process.
+If not specified, the module will use the default for your OS distro.
Default value: `undef`
@@ -301,7 +352,7 @@ Default value: `undef`
Data type: `Any`
-
+The file mode of the pid file
Default value: `undef`
@@ -309,13 +360,25 @@ Default value: `undef`
Data type: `Any`
-
+If true, the pidfile will be managed by puppet
Default value: `undef`
### `mongodb::mongos`
-This installs a Mongo Shard daemon. See README.md for more details.
+This class should only be used if you want to implement sharding within your mongodb deployment.
+ This class allows you to configure the mongos daemon (responsible for routing) on your platform.
+
+ }
+
+#### Examples
+
+##### mongos can be installed the following way.
+
+```puppet
+class {'mongodb::mongos' :
+ configdb => ['configsvr1.example.com:27018'],
+```
#### Parameters
@@ -347,7 +410,7 @@ The following parameters are available in the `mongodb::mongos` class:
Data type: `Stdlib::Absolutepath`
-
+Path of the config file. If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::params::config`
@@ -355,7 +418,7 @@ Default value: `$mongodb::mongos::params::config`
Data type: `Optional[String[1]]`
-
+Config content if the default doesn't match one needs.
Default value: `$mongodb::mongos::params::config_content`
@@ -363,7 +426,7 @@ Default value: `$mongodb::mongos::params::config_content`
Data type: `Optional[String[1]]`
-
+Path to the config template if the default doesn't match one needs.
Default value: `$mongodb::mongos::params::config_template`
@@ -371,7 +434,7 @@ Default value: `$mongodb::mongos::params::config_template`
Data type: `Variant[String[1], Array[String[1]]]`
-
+Array of the config servers IP addresses the mongos should connect to.
Default value: `$mongodb::mongos::params::configdb`
@@ -379,7 +442,7 @@ Default value: `$mongodb::mongos::params::configdb`
Data type: `Optional[Hash]`
-
+Hash containing key-value pairs to allow for additional configuration options to be set in user-provided template.
Default value: `$mongodb::mongos::params::config_data`
@@ -387,7 +450,7 @@ Default value: `$mongodb::mongos::params::config_data`
Data type: `Boolean`
-
+Whether or not the MongoDB sharding service resource should be part of the catalog.
Default value: `$mongodb::mongos::params::service_manage`
@@ -395,7 +458,8 @@ Default value: `$mongodb::mongos::params::service_manage`
Data type: `Optional[String]`
-
+This setting can be used to override the default Mongos service provider.
+If not specified, the module will use whatever service provider is the default for your OS distro.
Default value: `$mongodb::mongos::params::service_provider`
@@ -403,7 +467,8 @@ Default value: `$mongodb::mongos::params::service_provider`
Data type: `Optional[String]`
-
+This setting can be used to override the default Mongos service name.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::params::service_name`
@@ -411,7 +476,7 @@ Default value: `$mongodb::mongos::params::service_name`
Data type: `Optional[String[1]]`
-
+Path to the service template if the default doesn't match one needs.
Default value: `$mongodb::mongos::params::service_template`
@@ -419,7 +484,7 @@ Default value: `$mongodb::mongos::params::service_template`
Data type: `Boolean`
-
+This setting can be used to specify if the service should be enable at boot
Default value: `$mongodb::mongos::params::service_enable`
@@ -427,7 +492,7 @@ Default value: `$mongodb::mongos::params::service_enable`
Data type: `Stdlib::Ensure::Service`
-
+This setting can be used to specify if the service should be running
Default value: `$mongodb::mongos::params::service_ensure`
@@ -435,7 +500,8 @@ Default value: `$mongodb::mongos::params::service_ensure`
Data type: `Optional[String]`
-
+This setting can be used to override the default status check command for your Mongos service.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::params::service_status`
@@ -443,7 +509,7 @@ Default value: `$mongodb::mongos::params::service_status`
Data type: `Variant[Boolean, String]`
-
+This setting can be used to specify if puppet should install the package or not
Default value: `$mongodb::mongos::params::package_ensure`
@@ -451,7 +517,8 @@ Default value: `$mongodb::mongos::params::package_ensure`
Data type: `String`
-
+This setting can be used to specify the name of the package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::params::package_name`
@@ -459,7 +526,7 @@ Default value: `$mongodb::mongos::params::package_name`
Data type: `Optional[Stdlib::Absolutepath]`
-
+The path for the UNIX socket. If this option has no value, the mongos process creates a socket with /tmp as a prefix.
Default value: `$mongodb::mongos::params::unixsocketprefix`
@@ -467,7 +534,8 @@ Default value: `$mongodb::mongos::params::unixsocketprefix`
Data type: `Optional[Stdlib::Absolutepath]`
-
+Specify a file location to hold the PID or process ID of the mongod process.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::params::pidfilepath`
@@ -475,7 +543,8 @@ Default value: `$mongodb::mongos::params::pidfilepath`
Data type: `Optional[Variant[Boolean, Stdlib::Absolutepath]]`
-
+Specify the path to a file name for the log file that will hold all diagnostic logging information.
+Unless specified, mongod will output all log information to the standard output.
Default value: `$mongodb::mongos::params::logpath`
@@ -483,7 +552,7 @@ Default value: `$mongodb::mongos::params::logpath`
Data type: `Optional[Boolean]`
-
+Set to true to fork server process at launch time. The default setting depends on the operating system.
Default value: `$mongodb::mongos::params::fork`
@@ -491,7 +560,8 @@ Default value: `$mongodb::mongos::params::fork`
Data type: `Optional[Array[Stdlib::IP::Address]]`
-
+Set this option to configure the mongod or mongos process to bind to and listen for connections from applications on this address.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::params::bind_ip`
@@ -499,7 +569,7 @@ Default value: `$mongodb::mongos::params::bind_ip`
Data type: `Optional[Stdlib::Port]`
-
+Specifies a TCP port for the server instance to listen for client connections.
Default value: `$mongodb::mongos::params::port`
@@ -507,13 +577,13 @@ Default value: `$mongodb::mongos::params::port`
Data type: `Boolean`
-
+Specifies whether the service should be restarted on config changes.
Default value: `$mongodb::mongos::params::restart`
### `mongodb::mongos::config`
-PRIVATE CLASS: do not call directly
+Configs mongos
#### Parameters
@@ -537,7 +607,7 @@ The following parameters are available in the `mongodb::mongos::config` class:
Data type: `Any`
-
+This setting can be used to specify if puppet should install the package or not
Default value: `$mongodb::mongos::package_ensure`
@@ -545,7 +615,7 @@ Default value: `$mongodb::mongos::package_ensure`
Data type: `Any`
-
+Path of the config file. If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::config`
@@ -553,7 +623,7 @@ Default value: `$mongodb::mongos::config`
Data type: `Any`
-
+Config content if the default doesn't match one needs.
Default value: `$mongodb::mongos::config_content`
@@ -561,7 +631,7 @@ Default value: `$mongodb::mongos::config_content`
Data type: `Any`
-
+Path to the config template if the default doesn't match one needs.
Default value: `$mongodb::mongos::config_template`
@@ -569,7 +639,7 @@ Default value: `$mongodb::mongos::config_template`
Data type: `Any`
-
+Whether or not the MongoDB sharding service resource should be part of the catalog.
Default value: `$mongodb::mongos::service_manage`
@@ -577,7 +647,7 @@ Default value: `$mongodb::mongos::service_manage`
Data type: `Any`
-
+Array of the config servers IP addresses the mongos should connect to.
Default value: `$mongodb::mongos::configdb`
@@ -585,7 +655,8 @@ Default value: `$mongodb::mongos::configdb`
Data type: `Any`
-
+Set this option to configure the mongod or mongos process to bind to and listen for connections from applications on this address.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::bind_ip`
@@ -593,7 +664,7 @@ Default value: `$mongodb::mongos::bind_ip`
Data type: `Any`
-
+Specifies a TCP port for the server instance to listen for client connections.
Default value: `$mongodb::mongos::port`
@@ -601,7 +672,7 @@ Default value: `$mongodb::mongos::port`
Data type: `Any`
-
+Set to true to fork server process at launch time. The default setting depends on the operating system.
Default value: `$mongodb::mongos::fork`
@@ -609,7 +680,8 @@ Default value: `$mongodb::mongos::fork`
Data type: `Any`
-
+Specify a file location to hold the PID or process ID of the mongod process.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::pidfilepath`
@@ -617,7 +689,8 @@ Default value: `$mongodb::mongos::pidfilepath`
Data type: `Any`
-
+Specify the path to a file name for the log file that will hold all diagnostic logging information.
+Unless specified, mongod will output all log information to the standard output.
Default value: `$mongodb::mongos::logpath`
@@ -625,7 +698,7 @@ Default value: `$mongodb::mongos::logpath`
Data type: `Any`
-
+The path for the UNIX socket. If this option has no value, the mongos process creates a socket with /tmp as a prefix.
Default value: `$mongodb::mongos::unixsocketprefix`
@@ -633,13 +706,13 @@ Default value: `$mongodb::mongos::unixsocketprefix`
Data type: `Any`
-
+Hash containing key-value pairs to allow for additional configuration options to be set in user-provided templ ate.
Default value: `$mongodb::mongos::config_data`
### `mongodb::mongos::install`
-PRIVATE CLASS: do not call directly
+Installs mongos
#### Parameters
@@ -652,7 +725,7 @@ The following parameters are available in the `mongodb::mongos::install` class:
Data type: `Any`
-
+This setting can be used to specify if puppet should install the package or not
Default value: `$mongodb::mongos::package_ensure`
@@ -660,7 +733,8 @@ Default value: `$mongodb::mongos::package_ensure`
Data type: `Any`
-
+This setting can be used to specify the name of the package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::package_name`
@@ -670,7 +744,7 @@ PRIVATE CLASS: do not use directly
### `mongodb::mongos::service`
-PRIVATE CLASS: do not call directly
+Manages the mongos service.
#### Parameters
@@ -691,7 +765,7 @@ The following parameters are available in the `mongodb::mongos::service` class:
Data type: `Any`
-
+This setting can be used to specify if puppet should install the package or not.
Default value: `$mongodb::mongos::package_ensure`
@@ -699,7 +773,7 @@ Default value: `$mongodb::mongos::package_ensure`
Data type: `Any`
-
+Whether or not the MongoDB sharding service resource should be part of the catalog.
Default value: `$mongodb::mongos::service_manage`
@@ -707,7 +781,8 @@ Default value: `$mongodb::mongos::service_manage`
Data type: `Any`
-
+This setting can be used to override the default Mongos service name.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::service_name`
@@ -715,7 +790,7 @@ Default value: `$mongodb::mongos::service_name`
Data type: `Any`
-
+This setting can be used to specify if the service should be enable at boot.
Default value: `$mongodb::mongos::service_enable`
@@ -723,7 +798,7 @@ Default value: `$mongodb::mongos::service_enable`
Data type: `Any`
-
+This setting can be used to specify if the service should be running.
Default value: `$mongodb::mongos::service_ensure`
@@ -731,7 +806,8 @@ Default value: `$mongodb::mongos::service_ensure`
Data type: `Any`
-
+This setting can be used to override the default status check command for your Mongos service.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::mongos::service_status`
@@ -739,7 +815,8 @@ Default value: `$mongodb::mongos::service_status`
Data type: `Any`
-
+This setting can be used to override the default Mongos service provider.
+If not specified, the module will use whatever service provider is the default for your OS distro.
Default value: `$mongodb::mongos::service_provider`
@@ -747,7 +824,8 @@ Default value: `$mongodb::mongos::service_provider`
Data type: `Any`
-
+Set this option to configure the mongod or mongos process to bind to and listen for connections from applicati ons on this address.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::mongos::bind_ip`
@@ -755,7 +833,7 @@ Default value: `$mongodb::mongos::bind_ip`
Data type: `Any`
-
+Specifies a TCP port for the server instance to listen for client connections.
Default value: `$mongodb::mongos::port`
@@ -763,7 +841,7 @@ Default value: `$mongodb::mongos::port`
Data type: `Any`
-
+Path to the service template if the default doesn't match one needs.
Default value: `$mongodb::mongos::service_template`
@@ -771,17 +849,27 @@ Default value: `$mongodb::mongos::service_template`
This installs Ops Manager
+#### Examples
+
+##### To install Ops Manager and have it run with a local MongoDB application server do the following:
+
+```puppet
+class {'mongodb::opsmanager':
+ opsmanager_url => 'http://opsmanager.yourdomain.com'
+ mongo_uri => 'mongodb://yourmongocluster:27017,
+ from_email_addr => 'opsmanager@yourdomain.com',
+ reply_to_email_addr => 'replyto@yourdomain.com',
+ admin_email_addr => 'admin@yourdomain.com',
+ smtp_server_hostname => 'email-relay.yourdomain.com'
+}
+```
+
#### Parameters
The following parameters are available in the `mongodb::opsmanager` class:
* [`user`](#-mongodb--opsmanager--user)
* [`group`](#-mongodb--opsmanager--group)
-* [`opsmanager_url`](#-mongodb--opsmanager--opsmanager_url)
-* [`opsmanager_mongo_uri`](#-mongodb--opsmanager--opsmanager_mongo_uri)
-* [`ca_file`](#-mongodb--opsmanager--ca_file)
-* [`pem_key_file`](#-mongodb--opsmanager--pem_key_file)
-* [`pem_key_password`](#-mongodb--opsmanager--pem_key_password)
* [`ensure`](#-mongodb--opsmanager--ensure)
* [`package_name`](#-mongodb--opsmanager--package_name)
* [`package_ensure`](#-mongodb--opsmanager--package_ensure)
@@ -790,6 +878,7 @@ The following parameters are available in the `mongodb::opsmanager` class:
* [`service_name`](#-mongodb--opsmanager--service_name)
* [`download_url`](#-mongodb--opsmanager--download_url)
* [`mongo_uri`](#-mongodb--opsmanager--mongo_uri)
+* [`opsmanager_url`](#-mongodb--opsmanager--opsmanager_url)
* [`client_certificate_mode`](#-mongodb--opsmanager--client_certificate_mode)
* [`from_email_addr`](#-mongodb--opsmanager--from_email_addr)
* [`reply_to_email_addr`](#-mongodb--opsmanager--reply_to_email_addr)
@@ -800,6 +889,9 @@ The following parameters are available in the `mongodb::opsmanager` class:
* [`smtp_server_port`](#-mongodb--opsmanager--smtp_server_port)
* [`ssl`](#-mongodb--opsmanager--ssl)
* [`ignore_ui_setup`](#-mongodb--opsmanager--ignore_ui_setup)
+* [`ca_file`](#-mongodb--opsmanager--ca_file)
+* [`pem_key_file`](#-mongodb--opsmanager--pem_key_file)
+* [`pem_key_password`](#-mongodb--opsmanager--pem_key_password)
* [`user_svc_class`](#-mongodb--opsmanager--user_svc_class)
* [`snapshot_interval`](#-mongodb--opsmanager--snapshot_interval)
* [`snapshot_interval_retention`](#-mongodb--opsmanager--snapshot_interval_retention)
@@ -824,47 +916,12 @@ The group that owns the config file
Default value: `'mongodb-mms'`
-##### `opsmanager_url`
-
-Data type: `Stdlib::Httpurl`
-
-The fully qualified url where opsmanager runs. Must include the port.
-
-Default value: `"http://${facts['networking']['fqdn']}:8080"`
-
-##### `opsmanager_mongo_uri`
-
-Full URI where the Ops Manager application mongodb server(s) can be found.
-
-##### `ca_file`
-
-Data type: `Optional[String[1]]`
-
-Ca file for secure connection to backup agents.
-
-Default value: `undef`
-
-##### `pem_key_file`
-
-Data type: `Optional[String[1]]`
-
-Pem key file containing the cert and private key used for secure connections to backup agents.
-
-Default value: `undef`
-
-##### `pem_key_password`
-
-Data type: `Optional[String[1]]`
-
-The password to the pem key file.
-
-Default value: `undef`
-
##### `ensure`
Data type: `Enum['running', 'stopped']`
-
+Used to ensure that the package is installed and the service is running, or that the package is absent/purged
+and the service is stopped.
Default value: `'running'`
@@ -872,7 +929,8 @@ Default value: `'running'`
Data type: `String[1]`
-
+his setting can be used to specify the name of the package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `'mongodb-mms'`
@@ -880,7 +938,7 @@ Default value: `'mongodb-mms'`
Data type: `String[1]`
-
+This setting can be used to specify if puppet should install the package or not.
Default value: `'present'`
@@ -888,7 +946,7 @@ Default value: `'present'`
Data type: `Boolean`
-
+This setting can be used to specify if the service should be enable at boot.
Default value: `true`
@@ -896,7 +954,7 @@ Default value: `true`
Data type: `Boolean`
-
+Whether or not the MongoDB sharding service resource should be part of the catalog.
Default value: `true`
@@ -904,7 +962,8 @@ Default value: `true`
Data type: `String[1]`
-
+This setting can be used to override the default Mongos service name.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `'mongodb-mms'`
@@ -912,7 +971,7 @@ Default value: `'mongodb-mms'`
Data type: `Stdlib::Httpurl`
-
+This setting can be used to override the default MongoDB Ops-Manager download location.
Default value: `'https://downloads.mongodb.com/on-prem-mms/rpm/mongodb-mms-4.0.1.50101.20180801T1117Z-1.x86_64.rpm'`
@@ -920,15 +979,23 @@ Default value: `'https://downloads.mongodb.com/on-prem-mms/rpm/mongodb-mms-4.0.1
Data type: `String[1]`
-
+Connection string to the mongod cluster.
Default value: `'mongodb://127.0.0.1:27017'`
+##### `opsmanager_url`
+
+Data type: `Stdlib::Httpurl`
+
+The fully qualified url where opsmanager runs. Must include the port.
+
+Default value: `"http://${facts['networking']['fqdn']}:8080"`
+
##### `client_certificate_mode`
Data type: `String[1]`
-
+Client certificate authorization mode.
Default value: `'None'`
@@ -936,7 +1003,7 @@ Default value: `'None'`
Data type: `String[1]`
-
+Email address ussed as sender
Default value: `'from@example.com'`
@@ -944,7 +1011,7 @@ Default value: `'from@example.com'`
Data type: `String[1]`
-
+Reply to email address to use
Default value: `'reply-to@example.com'`
@@ -952,7 +1019,7 @@ Default value: `'reply-to@example.com'`
Data type: `String[1]`
-
+Adminsitrator's email address
Default value: `'admin@example.com'`
@@ -960,7 +1027,7 @@ Default value: `'admin@example.com'`
Data type: `String[1]`
-
+The email delivery agent class to use
Default value: `'com.xgen.svc.core.dao.email.JavaEmailDao'`
@@ -968,7 +1035,7 @@ Default value: `'com.xgen.svc.core.dao.email.JavaEmailDao'`
Data type: `Enum['smtp','smtps']`
-
+The email transport type to use
Default value: `'smtp'`
@@ -976,7 +1043,7 @@ Default value: `'smtp'`
Data type: `Stdlib::Host`
-
+Hostname of the email server to use.
Default value: `'smtp.example.com'`
@@ -984,7 +1051,7 @@ Default value: `'smtp.example.com'`
Data type: `Stdlib::Port`
-
+email port on the email server to use.
Default value: `25`
@@ -992,7 +1059,7 @@ Default value: `25`
Data type: `Boolean`
-
+Set to true to enable ssl.
Default value: `false`
@@ -1000,15 +1067,42 @@ Default value: `false`
Data type: `Boolean`
-
+Wheter to install ui or not.
Default value: `true`
-##### `user_svc_class`
+##### `ca_file`
+
+Data type: `Optional[String[1]]`
+
+Ca file for secure connection to backup agents.
+
+Default value: `undef`
+
+##### `pem_key_file`
+
+Data type: `Optional[String[1]]`
+
+Pem key file containing the cert and private key used for secure connections to backup agents.
+
+Default value: `undef`
+
+##### `pem_key_password`
Data type: `Optional[String[1]]`
+The password to the pem key file.
+
+Default value: `undef`
+
+##### `user_svc_class`
+
+Data type: `Optional[String[1]]`
+The user svc class
+Default: com.xgen.svc.mms.svc.user.UserSvcDb
+External Source: com.xgen.svc.mms.svc.user.UserSvcCrowd
+Internal Database: com.xgen.svc.mms.svc.user.UserSvcDb
Default value: `undef`
@@ -1016,7 +1110,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The snapshot interval to use
Default value: `undef`
@@ -1024,7 +1118,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The snapshot interval retention period
Default value: `undef`
@@ -1032,7 +1126,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The dayly snapshot interval retention period
Default value: `undef`
@@ -1040,7 +1134,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The weekly snapshot interval retention period
Default value: `undef`
@@ -1048,7 +1142,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The monthly snapshot interval retention period
Default value: `undef`
@@ -1056,18 +1150,29 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+The directory where to store the snapshot versions
Default value: `undef`
-### `mongodb::params`
-
-PRIVATE CLASS: do not use directly
-
### `mongodb::replset`
Wrapper class useful for hiera based deployments
+#### Examples
+
+##### hieradata
+
+```puppet
+
+mongodb::replset::sets:
+ replicaset01:
+ ensure: present
+ members:
+ - member01.example.com:27017
+ - member02.example.com:27017
+ - member03.example.com:27017
+```
+
#### Parameters
The following parameters are available in the `mongodb::replset` class:
@@ -1078,130 +1183,65 @@ The following parameters are available in the `mongodb::replset` class:
Data type: `Any`
-
+Hash of attributes as described in the mongodb_replset custom type
Default value: `undef`
-### `mongodb::repo`
+### `mongodb::repo::apt`
PRIVATE CLASS: do not use directly
-#### Parameters
-
-The following parameters are available in the `mongodb::repo` class:
-
-* [`ensure`](#-mongodb--repo--ensure)
-* [`version`](#-mongodb--repo--version)
-* [`use_enterprise_repo`](#-mongodb--repo--use_enterprise_repo)
-* [`repo_location`](#-mongodb--repo--repo_location)
-* [`proxy`](#-mongodb--repo--proxy)
-* [`proxy_username`](#-mongodb--repo--proxy_username)
-* [`proxy_password`](#-mongodb--repo--proxy_password)
-* [`aptkey_options`](#-mongodb--repo--aptkey_options)
-
-##### `ensure`
-
-Data type: `Variant[Enum['present', 'absent'], Boolean]`
-
-
-
-Default value: `'present'`
-
-##### `version`
-
-Data type: `Optional[String]`
-
-
-
-Default value: `undef`
-
-##### `use_enterprise_repo`
-
-Data type: `Boolean`
-
+### `mongodb::repo::yum`
+PRIVATE CLASS: do not use directly
-Default value: `false`
+### `mongodb::server`
-##### `repo_location`
+Most of the parameters manipulate the mongod.conf file.
-Data type: `Optional[String]`
+ For more details about configuration parameters consult the MongoDB Configuration File Options.
+ }
+This setting can be used to specify if the service should be running.
-Default value: `undef`
+#### Examples
-##### `proxy`
+##### Basic usage.
-Data type: `Optional[String]`
+```puppet
+include mongodb::server
+```
+##### Overrule settings
+```puppet
+class {'mongodb::server':
+ port => 27018,
+ verbose => true,
+```
-Default value: `undef`
+#### Parameters
-##### `proxy_username`
+The following parameters are available in the `mongodb::server` class:
-Data type: `Optional[String]`
-
-
-
-Default value: `undef`
-
-##### `proxy_password`
-
-Data type: `Optional[String]`
-
-
-
-Default value: `undef`
-
-##### `aptkey_options`
-
-Data type: `Optional[String[1]]`
-
-
-
-Default value: `undef`
-
-### `mongodb::repo::apt`
-
-PRIVATE CLASS: do not use directly
-
-### `mongodb::repo::yum`
-
-PRIVATE CLASS: do not use directly
-
-### `mongodb::server`
-
-This installs a MongoDB server. See README.md for more details.
-
-#### Parameters
-
-The following parameters are available in the `mongodb::server` class:
-
-* [`tls`](#-mongodb--server--tls)
-* [`tls_key`](#-mongodb--server--tls_key)
-* [`tls_ca`](#-mongodb--server--tls_ca)
-* [`tls_conn_without_cert`](#-mongodb--server--tls_conn_without_cert)
-* [`tls_invalid_hostnames`](#-mongodb--server--tls_invalid_hostnames)
-* [`tls_mode`](#-mongodb--server--tls_mode)
-* [`admin_password_hash`](#-mongodb--server--admin_password_hash)
* [`ensure`](#-mongodb--server--ensure)
* [`user`](#-mongodb--server--user)
* [`group`](#-mongodb--server--group)
* [`config`](#-mongodb--server--config)
* [`dbpath`](#-mongodb--server--dbpath)
* [`dbpath_fix`](#-mongodb--server--dbpath_fix)
-* [`pidfilepath`](#-mongodb--server--pidfilepath)
* [`pidfilemode`](#-mongodb--server--pidfilemode)
+* [`pidfilepath`](#-mongodb--server--pidfilepath)
* [`manage_pidfile`](#-mongodb--server--manage_pidfile)
* [`rcfile`](#-mongodb--server--rcfile)
* [`service_manage`](#-mongodb--server--service_manage)
-* [`service_provider`](#-mongodb--server--service_provider)
+* [`service_manage`](#-mongodb--server--service_manage)
* [`service_name`](#-mongodb--server--service_name)
+* [`service_provider`](#-mongodb--server--service_provider)
+* [`service_status`](#-mongodb--server--service_status)
* [`service_enable`](#-mongodb--server--service_enable)
* [`service_ensure`](#-mongodb--server--service_ensure)
-* [`service_status`](#-mongodb--server--service_status)
* [`package_ensure`](#-mongodb--server--package_ensure)
* [`package_name`](#-mongodb--server--package_name)
* [`logpath`](#-mongodb--server--logpath)
@@ -1257,79 +1297,32 @@ The following parameters are available in the `mongodb::server` class:
* [`ssl_weak_cert`](#-mongodb--server--ssl_weak_cert)
* [`ssl_invalid_hostnames`](#-mongodb--server--ssl_invalid_hostnames)
* [`ssl_mode`](#-mongodb--server--ssl_mode)
+* [`tls`](#-mongodb--server--tls)
+* [`tls_key`](#-mongodb--server--tls_key)
+* [`tls_ca`](#-mongodb--server--tls_ca)
+* [`tls_conn_without_cert`](#-mongodb--server--tls_conn_without_cert)
+* [`tls_invalid_hostnames`](#-mongodb--server--tls_invalid_hostnames)
+* [`tls_mode`](#-mongodb--server--tls_mode)
+* [`admin_password_hash`](#-mongodb--server--admin_password_hash)
* [`restart`](#-mongodb--server--restart)
* [`storage_engine`](#-mongodb--server--storage_engine)
* [`create_admin`](#-mongodb--server--create_admin)
* [`admin_username`](#-mongodb--server--admin_username)
* [`admin_password`](#-mongodb--server--admin_password)
* [`admin_auth_mechanism`](#-mongodb--server--admin_auth_mechanism)
+* [`supported_auth_mechanisms`](#-mongodb--server--supported_auth_mechanisms)
* [`admin_tls_key`](#-mongodb--server--admin_tls_key)
* [`admin_update_password`](#-mongodb--server--admin_update_password)
+* [`admin_roles`](#-mongodb--server--admin_roles)
* [`handle_creds`](#-mongodb--server--handle_creds)
* [`store_creds`](#-mongodb--server--store_creds)
-* [`admin_roles`](#-mongodb--server--admin_roles)
-
-##### `tls`
-
-Data type: `Boolean`
-
-Ensure tls is enabled.
-
-Default value: `false`
-
-##### `tls_key`
-
-Data type: `Optional[Stdlib::Absolutepath]`
-
-Defines the path of the file that contains the TLS/SSL certificate and key.
-
-Default value: `undef`
-
-##### `tls_ca`
-
-Data type: `Optional[Stdlib::Absolutepath]`
-
-Defines the path of the file that contains the certificate chain for verifying client certificates.
-
-Default value: `undef`
-
-##### `tls_conn_without_cert`
-
-Data type: `Boolean`
-
-Set to true to bypass client certificate validation for clients that do not present a certificate.
-
-Default value: `false`
-
-##### `tls_invalid_hostnames`
-
-Data type: `Boolean`
-
-Set to true to disable the validation of the hostnames in TLS certificates.
-
-Default value: `false`
-
-##### `tls_mode`
-
-Data type: `Enum['requireTLS', 'preferTLS', 'allowTLS']`
-
-Defines if TLS is used for all network connections. Allowed values are 'requireTLS', 'preferTLS' or 'allowTLS'.
-
-Default value: `'requireTLS'`
-
-##### `admin_password_hash`
-
-Data type: `Optional[Variant[String[1], Sensitive[String[1]]]]`
-
-Hashed password. Hex encoded md5 hash of mongodb password.
-
-Default value: `undef`
##### `ensure`
Data type: `Variant[Boolean, String]`
-
+Used to ensure that the package is installed and the service is running, or that the package is
+absent/purged and the service is stopped.
Default value: `$mongodb::params::ensure`
@@ -1337,7 +1330,8 @@ Default value: `$mongodb::params::ensure`
Data type: `String`
-
+This setting can be used to override the default MongoDB user and owner of the service and related files in the file system.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::params::user`
@@ -1345,7 +1339,8 @@ Default value: `$mongodb::params::user`
Data type: `String`
-
+This setting can be used to override the default MongoDB user group to be used for related files in the file system.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::params::group`
@@ -1353,7 +1348,7 @@ Default value: `$mongodb::params::group`
Data type: `Stdlib::Absolutepath`
-
+Path of the config file. If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::params::config`
@@ -1361,7 +1356,8 @@ Default value: `$mongodb::params::config`
Data type: `Stdlib::Absolutepath`
-
+Set this value to designate a directory for the mongod instance to store it's data.
+If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::params::dbpath`
@@ -1369,31 +1365,34 @@ Default value: `$mongodb::params::dbpath`
Data type: `Boolean`
-
+Set this value to true if you want puppet to recursively manage the permissions of the files in the dbpath
+directory. If you are using the default dbpath, this should probably be false. Set this to true if you are
+using a custom dbpath.
Default value: `$mongodb::params::dbpath_fix`
-##### `pidfilepath`
-
-Data type: `Optional[Stdlib::Absolutepath]`
+##### `pidfilemode`
+Data type: `String`
+The file mode of the pidfilepath
-Default value: `$mongodb::params::pidfilepath`
-
-##### `pidfilemode`
+Default value: `$mongodb::params::pidfilemode`
-Data type: `String`
+##### `pidfilepath`
+Data type: `Optional[Stdlib::Absolutepath]`
+Specify a file location to hold the PID or process ID of the mongod process.
+If not specified, the module will use the default for your OS distro.
-Default value: `$mongodb::params::pidfilemode`
+Default value: `$mongodb::params::pidfilepath`
##### `manage_pidfile`
Data type: `Boolean`
-
+Should puppet create the pidfile. Mongod 6.2.10 will not start if pidfile exists
Default value: `$mongodb::params::manage_pidfile`
@@ -1401,7 +1400,7 @@ Default value: `$mongodb::params::manage_pidfile`
Data type: `String`
-
+The path to the custom mongosh rc file.
Default value: `$mongodb::params::rcfile`
@@ -1409,31 +1408,48 @@ Default value: `$mongodb::params::rcfile`
Data type: `Boolean`
+Whether or not the MongoDB service resource should be part of the catalog.
+
+Default value: `$mongodb::params::service_manage`
+
+##### `service_manage`
+Whether or not the MongoDB sharding service resource should be part of the catalog.
Default value: `$mongodb::params::service_manage`
-##### `service_provider`
+##### `service_name`
Data type: `Optional[String]`
+This setting can be used to override the default Mongos service name.
+If not specified, the module will use whatever service name is the default for your OS distro.
+Default value: `$mongodb::params::service_name`
-Default value: `$mongodb::params::service_provider`
-
-##### `service_name`
+##### `service_provider`
Data type: `Optional[String]`
+This setting can be used to override the default Mongos service provider.
+If not specified, the module will use whatever service provider is the default for your OS distro.
+
+Default value: `$mongodb::params::service_provider`
+##### `service_status`
-Default value: `$mongodb::params::service_name`
+Data type: `Optional[Enum['stopped', 'running']]`
+
+This setting can be used to override the default status check command for your Mongos service.
+If not specified, the module will use whatever service name is the default for your OS distro.
+
+Default value: `$mongodb::params::service_status`
##### `service_enable`
Data type: `Boolean`
-
+This setting can be used to specify if the service should be enable at boot.
Default value: `$mongodb::params::service_enable`
@@ -1445,19 +1461,11 @@ Data type: `Enum['stopped', 'running']`
Default value: `$mongodb::params::service_ensure`
-##### `service_status`
-
-Data type: `Optional[Enum['stopped', 'running']]`
-
-
-
-Default value: `$mongodb::params::service_status`
-
##### `package_ensure`
Data type: `Variant[Boolean, String]`
-
+This setting can be used to specify if puppet should install the package or not.
Default value: `$mongodb::params::package_ensure`
@@ -1465,7 +1473,8 @@ Default value: `$mongodb::params::package_ensure`
Data type: `String`
-
+This setting can be used to specify the name of the package that should be installed.
+If not specified, the module will use whatever service name is the default for your OS distro.
Default value: `$mongodb::params::server_package_name`
@@ -1473,7 +1482,8 @@ Default value: `$mongodb::params::server_package_name`
Data type: `Variant[Boolean, Stdlib::Absolutepath]`
-
+Specify the path to a file name for the log file that will hold all diagnostic logging information.
+Unless specified, mongod will output all log information to the standard output.
Default value: `$mongodb::params::logpath`
@@ -1481,7 +1491,8 @@ Default value: `$mongodb::params::logpath`
Data type: `Array[Stdlib::IP::Address]`
-
+Set this option to configure the mongod or mongos process to bind to and listen for connections from
+applications on this address. If not specified, the module will use the default for your OS distro.
Default value: `$mongodb::params::bind_ip`
@@ -1489,7 +1500,8 @@ Default value: `$mongodb::params::bind_ip`
Data type: `Optional[Boolean]`
-
+This setting has to be true to configure MongoDB to turn on ipv6 support. If not specified and ipv6
+address is passed to MongoDB bind_ip it will just fail.
Default value: `undef`
@@ -1497,7 +1509,8 @@ Default value: `undef`
Data type: `Boolean`
-
+Set to true to add new entries to the end of the logfile rather than overwriting the content of the log
+when the process restarts.
Default value: `true`
@@ -1505,7 +1518,8 @@ Default value: `true`
Data type: `Optional[String]`
-
+Set to reopen for mongo to close a log file then reopen it so that logrotations handled outside of mongo
+perform as expected.
Default value: `undef`
@@ -1513,7 +1527,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to fork server process at launch time. The default setting depends on the operating system.
Default value: `$mongodb::params::fork`
@@ -1521,7 +1535,7 @@ Default value: `$mongodb::params::fork`
Data type: `Optional[Integer[1, 65535]]`
-
+Specifies a TCP port for the server instance to listen for client connections.
Default value: `undef`
@@ -1529,7 +1543,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to enable operation journaling to ensure write durability and data consistency.
Default value: `$mongodb::params::journal`
@@ -1537,7 +1551,8 @@ Default value: `$mongodb::params::journal`
Data type: `Optional[Boolean]`
-
+Set nojournal = true to disable durability journaling. By default, mongod enables journaling in 64-bit versions after v2.0.
+Note: You must use journal to enable journaling on 32-bit systems.
Default value: `undef`
@@ -1545,7 +1560,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to modify MongoDB to use a smaller default data file size. Specifically, smallfiles reduces
+the initial size for data files and limits them to 512 megabytes.
Default value: `undef`
@@ -1553,7 +1569,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to force mongod to report every four seconds CPU utilization and the amount of time that the
+processor waits for I/O operations to complete (i.e. I/O wait.)
Default value: `undef`
@@ -1561,7 +1578,8 @@ Default value: `undef`
Data type: `Boolean`
-
+et to true to enable database authentication for users connecting from remote hosts. If no users exist,
+the localhost interface will continue to have access to the database until you create the first user.
Default value: `false`
@@ -1569,7 +1587,7 @@ Default value: `false`
Data type: `Optional[Boolean]`
-
+Disable authentication.
Default value: `undef`
@@ -1577,7 +1595,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Increases the amount of internal reporting returned on standard output or in the log file generated by logpath.
Default value: `undef`
@@ -1585,7 +1603,7 @@ Default value: `undef`
Data type: `Optional[String]`
-
+MongoDB has the following levels of verbosity: v, vv, vvv, vvvv and vvvvv.
Default value: `undef`
@@ -1593,7 +1611,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Forces the mongod to validate all requests from clients upon receipt to ensure that clients never insert
+invalid documents into the database.
Default value: `undef`
@@ -1601,7 +1620,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to enable a maximum limit for the number of data files each database can have. The default
+quota is 8 data files, when quota is true.
Default value: `undef`
@@ -1609,7 +1629,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+Modify limit on the number of data files per database. This option requires the quota setting.
Default value: `undef`
@@ -1617,7 +1637,8 @@ Default value: `undef`
Data type: `Optional[Integer[0, 7]]`
-
+Creates a very verbose diagnostic log for troubleshooting and recording various errors. For more
+information please refer to MongoDB Configuration File Options.
Default value: `undef`
@@ -1625,7 +1646,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to modify the storage pattern of the data directory to store each database’s files in a distinct folder.
Default value: `undef`
@@ -1633,7 +1654,8 @@ Default value: `undef`
Data type: `Any`
-
+Modify this value to changes the level of database profiling, which inserts information about operation
+performance into output of mongod or the log file if specified by logpath.
Default value: `undef`
@@ -1641,7 +1663,8 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+Specifies a value to set the maximum number of simultaneous connections that MongoDB will accept.
+Unless set, MongoDB will not limit its own connections.
Default value: `undef`
@@ -1649,7 +1672,9 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+Specifies a maximum size in megabytes for the replication operation log (e.g. oplog.) mongod creates an
+oplog based on the maximum amount of space available. For 64-bit systems, the oplog is typically 5% of
+available disk space.
Default value: `undef`
@@ -1657,7 +1682,7 @@ Default value: `undef`
Data type: `Any`
-
+Ignore query hints.
Default value: `undef`
@@ -1665,7 +1690,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to disable the HTTP interface. This command will override the rest and disable the HTTP
+interface if you specify both.
Default value: `undef`
@@ -1673,7 +1699,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set noscripting = true to disable the scripting engine.
Default value: `undef`
@@ -1681,7 +1707,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set notablescan = true to forbid operations that require a table scan.
Default value: `undef`
@@ -1689,7 +1715,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set noprealloc = true to disable the preallocation of data files. This will shorten the start up time in
+some cases, but can cause significant performance penalties during normal operations.
Default value: `undef`
@@ -1697,7 +1724,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+Use this setting to control the default size for all newly created namespace files (i.e .ns).
Default value: `undef`
@@ -1705,7 +1732,7 @@ Default value: `undef`
Data type: `Any`
-
+MMS token for mms monitoring.
Default value: `undef`
@@ -1713,7 +1740,7 @@ Default value: `undef`
Data type: `Any`
-
+MMS identifier for mms monitoring.
Default value: `undef`
@@ -1721,7 +1748,7 @@ Default value: `undef`
Data type: `Any`
-
+MMS interval for mms monitoring.
Default value: `undef`
@@ -1729,7 +1756,8 @@ Default value: `undef`
Data type: `Optional[String]`
-
+Use this setting to configure replication with replica sets. Specify a replica set name as an argument to
+this set. All hosts must have the same set name.
Default value: `undef`
@@ -1737,7 +1765,14 @@ Default value: `undef`
Data type: `Optional[Hash]`
-
+A hash that is used to configure the replica set. Mutually exclusive with replset_members param.
+class mongodb::server {
+ replset => 'rsmain',
+ replset_config => { 'rsmain' => {
+ ensure => present,
+ settings => { heartbeatTimeoutSecs => 15, getLastErrorModes => { ttmode => { dc => 1 } } },
+ members => [{'host' => 'host1:27017', 'tags':{ 'dc' : 'east'}}, { 'host' => 'host2:27017'}, 'host3:27017'] }},
+}
Default value: `undef`
@@ -1745,7 +1780,7 @@ Default value: `undef`
Data type: `Optional[Array]`
-
+An array of member hosts for the replica set. Mutually exclusive with replset_config param.
Default value: `undef`
@@ -1753,7 +1788,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Use this setting to enable config server mode for mongod.
Default value: `undef`
@@ -1761,7 +1796,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Use this setting to enable shard server mode for mongod.
Default value: `undef`
@@ -1769,7 +1804,7 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Set to true to enable a simple REST interface.
Default value: `undef`
@@ -1777,7 +1812,12 @@ Default value: `undef`
Data type: `Optional[Boolean]`
+Runs the mongod or mongos instance in a quiet mode that attempts to limit the amount of output.
+This option suppresses : "output from database commands, including drop, dropIndexes, diagLogging,
+validate, and clean", "replication activity", "connection accepted events" and "connection closed events".
+For production systems this option is not recommended as it may make tracking problems during particular
+connections much more difficult.
Default value: `undef`
@@ -1785,7 +1825,7 @@ Default value: `undef`
Data type: `Optional[Integer]`
-
+Sets the threshold for mongod to consider a query “slow” for the database profiler.
Default value: `undef`
@@ -1793,7 +1833,8 @@ Default value: `undef`
Data type: `Optional[Stdlib::Absolutepath]`
-
+Specify the path to a key file to store authentication information. This option is only useful for the
+connection between replica set members.
Default value: `undef`
@@ -1801,7 +1842,8 @@ Default value: `undef`
Data type: `Optional[Variant[String[6], Sensitive[String[6]]]]`
-
+Specify the key contained within the keyfile. This option is only useful for the connection between
+replica set members.
Default value: `undef`
@@ -1809,7 +1851,7 @@ Default value: `undef`
Data type: `Optional[Variant[String[1], Array[String[1]]]]`
-
+Specify extra configuration file parameters (i.e. textSearchEnabled=true).
Default value: `undef`
@@ -1817,7 +1859,8 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Sends all logging output to the host’s syslog system rather than to standard output or a log file.
+Important: You cannot use syslog with logpath. Set logpath to false to disable it.
Default value: `undef`
@@ -1825,7 +1868,7 @@ Default value: `undef`
Data type: `Any`
-
+Config content if the default doesn't match one needs.
Default value: `undef`
@@ -1833,7 +1876,7 @@ Default value: `undef`
Data type: `Optional[String]`
-
+Path to the config template if the default doesn't match one needs.
Default value: `undef`
@@ -1841,7 +1884,7 @@ Default value: `undef`
Data type: `Optional[Hash]`
-
+A hash to allow for additional configuration options to be set in user-provided template.
Default value: `undef`
@@ -1849,7 +1892,9 @@ Default value: `undef`
Data type: `Optional[Boolean]`
-
+Use SSL validation.
+Important: You need to have ssl_key set as well, and the file needs to pre-exist on node. If you wish to
+use certificate validation, ssl_ca must also be set.
Default value: `undef`
@@ -1857,7 +1902,7 @@ Default value: `undef`
Data type: `Optional[Stdlib::Absolutepath]`
-
+Defines the path of the file that contains the TLS/SSL certificate and key.
Default value: `undef`
@@ -1865,7 +1910,7 @@ Default value: `undef`
Data type: `Optional[Stdlib::Absolutepath]`
-
+Defines the path of the file that contains the certificate chain for verifying client certificates.
Default value: `undef`
@@ -1873,7 +1918,7 @@ Default value: `undef`
Data type: `Boolean`
-
+Set to true to disable mandatory SSL client authentication.
Default value: `false`
@@ -1881,7 +1926,7 @@ Default value: `false`
Data type: `Boolean`
-
+Set to true to disable fqdn SSL cert check.
Default value: `false`
@@ -1889,15 +1934,71 @@ Default value: `false`
Data type: `Enum['requireSSL', 'preferSSL', 'allowSSL']`
-
+Ssl authorization mode.
Default value: `'requireSSL'`
-##### `restart`
+##### `tls`
Data type: `Boolean`
+Ensure tls is enabled.
+Default value: `false`
+
+##### `tls_key`
+
+Data type: `Optional[Stdlib::Absolutepath]`
+
+Defines the path of the file that contains the TLS/SSL certificate and key.
+
+Default value: `undef`
+
+##### `tls_ca`
+
+Data type: `Optional[Stdlib::Absolutepath]`
+
+Defines the path of the file that contains the certificate chain for verifying client certificates.
+
+Default value: `undef`
+
+##### `tls_conn_without_cert`
+
+Data type: `Boolean`
+
+Set to true to bypass client certificate validation for clients that do not present a certificate.
+
+Default value: `false`
+
+##### `tls_invalid_hostnames`
+
+Data type: `Boolean`
+
+Set to true to disable the validation of the hostnames in TLS certificates.
+
+Default value: `false`
+
+##### `tls_mode`
+
+Data type: `Enum['requireTLS', 'preferTLS', 'allowTLS']`
+
+Defines if TLS is used for all network connections. Allowed values are 'requireTLS', 'preferTLS' or 'allowTLS'.
+
+Default value: `'requireTLS'`
+
+##### `admin_password_hash`
+
+Data type: `Optional[Variant[String[1], Sensitive[String[1]]]]`
+
+Hashed password. Hex encoded md5 hash of mongodb password.
+
+Default value: `undef`
+
+##### `restart`
+
+Data type: `Boolean`
+
+Specifies whether the service should be restarted on config changes.
Default value: `$mongodb::params::restart`
@@ -1905,7 +2006,8 @@ Default value: `$mongodb::params::restart`
Data type: `Optional[String]`
-
+Only needed for MongoDB 3.x versions, where it's possible to select the 'wiredTiger' engine in addition to
+the default 'mmapv1' engine. If not set, the config is left out and mongo will default to 'mmapv1'.
Default value: `undef`
@@ -1913,7 +2015,7 @@ Default value: `undef`
Data type: `Boolean`
-
+Allows to create admin user for admin database.
Default value: `$mongodb::params::create_admin`
@@ -1921,7 +2023,7 @@ Default value: `$mongodb::params::create_admin`
Data type: `String`
-
+Administrator user name
Default value: `$mongodb::params::admin_username`
@@ -1929,7 +2031,7 @@ Default value: `$mongodb::params::admin_username`
Data type: `Optional[Variant[String, Sensitive[String]]]`
-
+Administrator user password
Default value: `undef`
@@ -1937,10 +2039,18 @@ Default value: `undef`
Data type: `Enum['scram_sha_1', 'scram_sha_256', 'x509']`
-
+Administrator authentication mechanism. scram_sha_256 password synchronization verification is not supported.
Default value: `$mongodb::params::admin_auth_mechanism`
+##### `supported_auth_mechanisms`
+
+Data type: `Optional[Array[Enum['scram_sha_1', 'scram_sha_256', 'x509']]]`
+
+Set the supported authentication mechanisms that the mmongoserver will support. Is set, make sure the $admin_auth_mechanism is also included.
+
+Default value: `undef`
+
##### `admin_tls_key`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1953,15 +2063,24 @@ Default value: `undef`
Data type: `Boolean`
-
+Update password. Used with SCRAM-SHA-256 because password verification is not supported.
Default value: `false`
+##### `admin_roles`
+
+Data type: `Array`
+
+Administrator user roles
+
+Default value: `$mongodb::params::admin_roles`
+
##### `handle_creds`
Data type: `Boolean`
-
+Set this to false to avoid having puppet handle .mongoshrc.js in case you wish to deliver it by other
+means. This is needed for facts and providers to work if you have auth set to true.
Default value: `$mongodb::params::handle_creds`
@@ -1969,18 +2088,10 @@ Default value: `$mongodb::params::handle_creds`
Data type: `Boolean`
-
+Store admin credentials in mongoshrc.js file. Uses with create_admin parameter
Default value: `$mongodb::params::store_creds`
-##### `admin_roles`
-
-Data type: `Array`
-
-
-
-Default value: `$mongodb::params::admin_roles`
-
### `mongodb::server::config`
PRIVATE CLASS: do not call directly
@@ -1997,6 +2108,21 @@ PRIVATE CLASS: do not call directly
Wrapper class useful for hiera based deployments
+#### Examples
+
+##### hieradata
+
+```puppet
+mongodb::shardsvr::shards:
+ shard01:
+ keys:
+ - {x: 1}
+ members:
+ - shardhost01.exmaple.com:30000
+ - shardhost02.exmaple.com:30000
+ - shardhost03.exmaple.com:30000
+```
+
#### Parameters
The following parameters are available in the `mongodb::shardsvr` class:
@@ -2007,7 +2133,7 @@ The following parameters are available in the `mongodb::shardsvr` class:
Data type: `Any`
-
+Hash of attributes as described in the mongodb_shardsvr custom type
Default value: `undef`
@@ -2015,21 +2141,8 @@ Default value: `undef`
### `mongodb::db`
-== Class: mongodb::db
-
Class for creating mongodb databases and users.
-== Parameters
-
- user - Database username.
- auth_mechanism - Authentication mechanism. scram_sha_256 password verification is not supported. Defaults to 'scram_sha_1'.
- db_name - Database name. Defaults to $name.
- password_hash - Hashed password. Hex encoded md5 hash of "$username:mongo:$password".
- password - Plain text user password. This is UNSAFE, use 'password_hash' instead.
- roles (default: ['dbAdmin']) - array with user roles.
- tries (default: 10) - The maximum amount of two second tries to wait MongoDB startup.
- update_password (default: false) - Force an update of the password when scram_sha_256 is used.
-
#### Parameters
The following parameters are available in the `mongodb::db` defined type:
@@ -2047,13 +2160,13 @@ The following parameters are available in the `mongodb::db` defined type:
Data type: `String`
-
+Database username.
##### `auth_mechanism`
Data type: `Enum['scram_sha_1', 'scram_sha_256', 'x509']`
-
+- Authentication mechanism. scram_sha_256 password verification is not supported. Defaults to 'scram_sha_1'.
Default value: `'scram_sha_1'`
@@ -2061,7 +2174,7 @@ Default value: `'scram_sha_1'`
Data type: `String`
-
+- Database name. Defaults to $name.
Default value: `$name`
@@ -2069,7 +2182,7 @@ Default value: `$name`
Data type: `Optional[Variant[String[1], Sensitive[String[1]]]]`
-
+- Hashed password. Hex encoded md5 hash of "$username:mongo:$password".
Default value: `undef`
@@ -2077,7 +2190,7 @@ Default value: `undef`
Data type: `Optional[Variant[String[1], Sensitive[String[1]]]]`
-
+- Plain text user password. This is UNSAFE, use 'password_hash' instead.
Default value: `undef`
@@ -2085,7 +2198,7 @@ Default value: `undef`
Data type: `Array[String]`
-
+(default: ['dbAdmin']) - array with user roles.
Default value: `['dbAdmin']`
@@ -2093,7 +2206,7 @@ Default value: `['dbAdmin']`
Data type: `Integer[0]`
-
+(default: 10) - The maximum amount of two second tries to wait MongoDB startup.
Default value: `10`
@@ -2101,7 +2214,7 @@ Default value: `10`
Data type: `Boolean`
-
+(default: false) - Force an update of the password when scram_sha_256 is used.
Default value: `false`
@@ -2123,7 +2236,7 @@ The following properties are available in the `mongodb_conn_validator` type.
Valid values: `present`, `absent`
-The basic property that the resource should be in.
+Ensure to verify the connection to mongodb
Default value: `present`
@@ -2225,7 +2338,7 @@ The following properties are available in the `mongodb_replset` type.
Valid values: `present`
-The basic property that the resource should be in.
+Ensure the replicaset is iether present or absent
Default value: `present`
@@ -2279,7 +2392,7 @@ The following properties are available in the `mongodb_shard` type.
Valid values: `present`
-The basic property that the resource should be in.
+Ensure the shard is iether present or absent
Default value: `present`