{"id":13480857,"url":"https://github.com/voxpupuli/puppet-mongodb","last_synced_at":"2025-05-14T04:09:17.198Z","repository":{"id":3093346,"uuid":"4118136","full_name":"voxpupuli/puppet-mongodb","owner":"voxpupuli","description":"mongodb installation","archived":false,"fork":false,"pushed_at":"2025-04-19T15:35:30.000Z","size":1351,"stargazers_count":90,"open_issues_count":62,"forks_count":447,"subscribers_count":152,"default_branch":"master","last_synced_at":"2025-04-26T17:24:38.972Z","etag":null,"topics":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","sles-puppet-module","ubuntu-puppet-module"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voxpupuli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"vox-pupuli","github":"voxpupuli"}},"created_at":"2012-04-23T21:28:15.000Z","updated_at":"2025-04-24T17:59:09.000Z","dependencies_parsed_at":"2023-02-15T12:15:52.671Z","dependency_job_id":"fb01aa15-620b-44d0-a679-cb8d4ecbe346","html_url":"https://github.com/voxpupuli/puppet-mongodb","commit_stats":{"total_commits":711,"total_committers":208,"mean_commits":3.418269230769231,"dds":0.90014064697609,"last_synced_commit":"3afa42f876f36e82659baa0cbadddd9f740fd643"},"previous_names":["puppetlabs/puppetlabs-mongodb"],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-mongodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-mongodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-mongodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-mongodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxpupuli","download_url":"https://codeload.github.com/voxpupuli/puppet-mongodb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252495969,"owners_count":21757352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","sles-puppet-module","ubuntu-puppet-module"],"created_at":"2024-07-31T17:00:45.916Z","updated_at":"2025-05-14T04:09:17.141Z","avatar_url":"https://github.com/voxpupuli.png","language":"Ruby","funding_links":["https://opencollective.com/vox-pupuli","https://github.com/sponsors/voxpupuli"],"categories":["Tools"],"sub_categories":["Deployment"],"readme":"# mongodb puppet module\n\n[![Build Status](https://github.com/voxpupuli/puppet-mongodb/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-mongodb/actions?query=workflow%3ACI)\n[![Release](https://github.com/voxpupuli/puppet-mongodb/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-mongodb/actions/workflows/release.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)\n[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)\n[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/mongodb.svg)](https://forge.puppetlabs.com/puppet/mongodb)\n[![License](https://img.shields.io/github/license/voxpupuli/puppet-mongodb.svg)](https://github.com/voxpupuli/puppet-mongodb/blob/master/LICENSE)\n\n#### Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What does the module do?](#module-description)\n3. [Setup - The basics of getting started with mongodb](#setup)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Overview\n\nInstalls MongoDB on RHEL/Ubuntu/Debian/SLES from community/enterprise repositories\nor alternatively from custom repositories.\n\n## Module Description\n\nThe MongoDB module manages mongod server installation and configuration of the\nmongod daemon.\n\nThe MongoDB module also manages mongos, Ops Manager and the mongdb-mms setup.\n\n## Setup\n\n### What MongoDB affects\n\n* MongoDB packages.\n* MongoDB configuration files.\n* MongoDB services.\n* MongoDB apt/yum/zypper repository.\n\n### Beginning with MongoDB\n\nIf you want a server installation with the default options you can run\n`include mongodb::server`. If you need to customize configuration\noptions you need to do the following:\n\n```puppet\nclass {'mongodb::server':\n  port    =\u003e 27018,\n  verbose =\u003e true,\n}\n```\n\nTo install client with default options run `include mongodb::client`\n\nTo override the default mongodb repo version you need the following:\n\n```puppet\nclass {'mongodb::globals':\n  repo_version =\u003e '4.4',\n}\n-\u003e class {'mongodb::server': }\n-\u003e class {'mongodb::client': }\n```\n\nIf you have a custom Mongodb repository you can opt out of repo management:\n\n```puppet\nclass {'mongodb::globals':\n  manage_package_repo =\u003e false,\n}\n-\u003e class {'mongodb::server': }\n-\u003e class {'mongodb::client': }\n```\n\n## Usage\n\nMost of the interaction for the server is done via `mongodb::server`. For\nmore options please have a look at [mongodb::server](#class-mongodbserver).\nThere is also `mongodb::globals` to set some global settings, on its own this\nclass does nothing.\n\n### Create MongoDB database\n\nTo install MongoDB server, create database \"testdb\" and user \"user1\" with password \"pass1\".\n\n```puppet\nclass {'mongodb::server':\n  auth =\u003e true,\n}\n\nmongodb::db { 'testdb':\n  user          =\u003e 'user1',\n  password_hash =\u003e 'a15fbfca5e3a758be80ceaf42458bcd8',\n}\n```\nParameter 'password_hash' is hex encoded md5 hash of \"user1:mongo:pass1\".\nUnsafe plain text password could be used with 'password' parameter instead of 'password_hash'.\n\n### Sharding\n\nIf one plans to configure sharding for a Mongo deployment, the module offer\nthe `mongos` installation. `mongos` can be installed the following way :\n\n```puppet\nclass {'mongodb::mongos' :\n  configdb =\u003e ['configsvr1.example.com:27018'],\n}\n```\n\n### Ops Manager\n\nTo install Ops Manager and have it run with a local MongoDB application server do the following:\n\n```puppet\nclass {'mongodb::opsmanager':\n  opsmanager_url        =\u003e 'http://opsmanager.yourdomain.com'\n  mongo_uri             =\u003e 'mongodb://yourmongocluster:27017,\n  from_email_addr       =\u003e 'opsmanager@yourdomain.com',\n  reply_to_email_addr   =\u003e 'replyto@yourdomain.com',\n  admin_email_addr      =\u003e 'admin@yourdomain.com',\n  $smtp_server_hostname =\u003e 'email-relay.yourdomain.com'\n}\n```\n\nThe default settings will not set useful email addresses. You can also just run `include mongodb::opsmanager`\nand then set the emails later.\n\n## Ops Manager Usage\n\nMost of the interaction for the server is done via `mongodb::opsmanager`. For\nmore options please have a look at [mongodb::opsmanager](#class-mongodbopsmanager).\n\n## Limitations\n\nLook at [metadata.json](metadata.json) for tested OSes.\n\n## Development\n\nThis module is maintained by [Vox Pupuli](https://voxpupuli.org/). Voxpupuli\nwelcomes new contributions to this module, especially those that include\ndocumentation and rspec tests. We are happy to provide guidance if necessary.\n\nPlease see [CONTRIBUTING](.github/CONTRIBUTING.md) for more details.\n\n### Authors\n\n* Puppetlabs Module Team\n* Voxpupuli Team\n\nWe would like to thank everyone who has contributed issues and pull requests to this module.\nA complete list of contributors can be found on the\n[GitHub Contributor Graph](https://github.com/voxpupuli/puppet-mongodb/graphs/contributors)\nfor the [puppet-mongodb module](https://github.com/voxpupuli/puppet-mongodb).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-mongodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxpupuli%2Fpuppet-mongodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-mongodb/lists"}