Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/voxpupuli/puppet-mongodb
mongodb installation
https://github.com/voxpupuli/puppet-mongodb
centos-puppet-module debian-puppet-module hacktoberfest linux-puppet-module puppet redhat-puppet-module sles-puppet-module ubuntu-puppet-module
Last synced: 1 day ago
JSON representation
mongodb installation
- Host: GitHub
- URL: https://github.com/voxpupuli/puppet-mongodb
- Owner: voxpupuli
- License: apache-2.0
- Created: 2012-04-23T21:28:15.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T18:52:03.000Z (3 months ago)
- Last Synced: 2024-12-07T04:30:19.139Z (6 days ago)
- Topics: centos-puppet-module, debian-puppet-module, hacktoberfest, linux-puppet-module, puppet, redhat-puppet-module, sles-puppet-module, ubuntu-puppet-module
- Language: Ruby
- Homepage:
- Size: 1.28 MB
- Stars: 93
- Watchers: 154
- Forks: 451
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mongodb - puppet-mongodb - Puppet module (formerly puppetlabs-mongodb) (Tools / Deployment)
- awesome-mongodb - puppet-mongodb - Puppet module (formerly puppetlabs-mongodb) (Tools / Deployment)
README
# mongodb puppet module
[![Build Status](https://github.com/voxpupuli/puppet-mongodb/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-mongodb/actions?query=workflow%3ACI)
[![Release](https://github.com/voxpupuli/puppet-mongodb/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-mongodb/actions/workflows/release.yml)
[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)
[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)
[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)
[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)
[![License](https://img.shields.io/github/license/voxpupuli/puppet-mongodb.svg)](https://github.com/voxpupuli/puppet-mongodb/blob/master/LICENSE)#### Table of Contents
1. [Overview](#overview)
2. [Module Description - What does the module do?](#module-description)
3. [Setup - The basics of getting started with mongodb](#setup)
4. [Usage - Configuration options and additional functionality](#usage)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)## Overview
Installs MongoDB on RHEL/Ubuntu/Debian/SLES from community/enterprise repositories
or alternatively from custom repositories.## Module Description
The MongoDB module manages mongod server installation and configuration of the
mongod daemon.The MongoDB module also manages mongos, Ops Manager and the mongdb-mms setup.
## Setup
### What MongoDB affects
* MongoDB packages.
* MongoDB configuration files.
* MongoDB services.
* MongoDB apt/yum/zypper repository.### Beginning with MongoDB
If you want a server installation with the default options you can run
`include mongodb::server`. If you need to customize configuration
options you need to do the following:```puppet
class {'mongodb::server':
port => 27018,
verbose => true,
}
```To install client with default options run `include mongodb::client`
To override the default mongodb repo version you need the following:
```puppet
class {'mongodb::globals':
repo_version => '4.4',
}
-> class {'mongodb::server': }
-> class {'mongodb::client': }
```If you have a custom Mongodb repository you can opt out of repo management:
```puppet
class {'mongodb::globals':
manage_package_repo => false,
}
-> class {'mongodb::server': }
-> class {'mongodb::client': }
```## Usage
Most of the interaction for the server is done via `mongodb::server`. For
more options please have a look at [mongodb::server](#class-mongodbserver).
There is also `mongodb::globals` to set some global settings, on its own this
class does nothing.### Create MongoDB database
To install MongoDB server, create database "testdb" and user "user1" with password "pass1".
```puppet
class {'mongodb::server':
auth => true,
}mongodb::db { 'testdb':
user => 'user1',
password_hash => 'a15fbfca5e3a758be80ceaf42458bcd8',
}
```
Parameter 'password_hash' is hex encoded md5 hash of "user1:mongo:pass1".
Unsafe plain text password could be used with 'password' parameter instead of 'password_hash'.### Sharding
If one plans to configure sharding for a Mongo deployment, the module offer
the `mongos` installation. `mongos` can be installed the following way :```puppet
class {'mongodb::mongos' :
configdb => ['configsvr1.example.com:27018'],
}
```### Ops Manager
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 => '[email protected]',
reply_to_email_addr => '[email protected]',
admin_email_addr => '[email protected]',
$smtp_server_hostname => 'email-relay.yourdomain.com'
}
```The default settings will not set useful email addresses. You can also just run `include mongodb::opsmanager`
and then set the emails later.## Ops Manager Usage
Most of the interaction for the server is done via `mongodb::opsmanager`. For
more options please have a look at [mongodb::opsmanager](#class-mongodbopsmanager).## Limitations
Look at [metadata.json](metadata.json) for tested OSes.
## Development
This module is maintained by [Vox Pupuli](https://voxpupuli.org/). Voxpupuli
welcomes new contributions to this module, especially those that include
documentation and rspec tests. We are happy to provide guidance if necessary.Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for more details.
### Authors
* Puppetlabs Module Team
* Voxpupuli TeamWe would like to thank everyone who has contributed issues and pull requests to this module.
A complete list of contributors can be found on the
[GitHub Contributor Graph](https://github.com/voxpupuli/puppet-mongodb/graphs/contributors)
for the [puppet-mongodb module](https://github.com/voxpupuli/puppet-mongodb).