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`