cookbook 'greysystems-mongodb', '~> 2.0.2'
greysystems-mongodb (7) Versions 2.0.2 Follow0
Installs/Configures a mongodb instance
cookbook 'greysystems-mongodb', '~> 2.0.2', :supermarket
knife supermarket install greysystems-mongodb
knife supermarket download greysystems-mongodb
Master Branch:
Develop Branch:
greysystems-mongodb Cookbook
Wrapper cookbook over mongodb cookbook that installs and configures MongoDB, supporting:
- Single MongoDB instance
- EC2 installation including creation/attach/format/mount of an EBS volume
- Replication
REQUIREMENTS:
This cookbook depends on these external cookbooks:
- mongodb
- aws
- selinux
Platform:
- Chef client version >= 12 (not tested on 13)
- Centos 7
Any RHEL platform should be supported but it's not tested.
ATTRIBUTES:
Check for information about all attributes that can be configured in mongodb cookbook
Apart from the attributes defined in mongodb community cookbook, this cookbook also supports:
EBS specific attributes:
-
node['greysystems_mongo']['ec2']
- EC2 mode, defaults to true. If you are not using an EC2 instance, please setup this variable to false -
node['greysystems_mongo']['ebs']['size']
- Size of the EBS volume to mount on the node, expressed in GB, defaults to 20. Ifnode['greysystems_mongo']['ec2']
= false, it's not taken into account -
node['greysystems_mongo']['ebs']['mount_point']
- Mount poinf of the volume, defaults to/data
. Ifnode['greysystems_mongo']['ec2']
= false, it's not taken into account -
node['greysystems_mongo']['ebs']['device_id']
- Device id of the EBS volume, defaults to/xvdb
. Ifnode['greysystems_mongo']['ec2']
= false, it's not taken into account
USAGE:
Single mongodb instance
Simply add
include_recipe "greysystems-mongodb::default"
to your recipe. This will run the mongodb instance as configured by your distribution.
Replicasets
- Setup the same value for attributes
node[:mongodb][:cluster_name]
andnode[:mongodb][:config][:replSet]
in any member of the cluster (primary and secondaries) - Launch and configure FIRST the replicaset's nodes. They must be up and running before the primary's node is configured.
- For replicaset's member, add the following recipe to his run_list:
ruby include_recipe "greysystems-mongodb::default"
- For primary's node, apart from adding the default recipe, include
configure-replicaset
recipe:ruby include_recipe "greysystems-mongodb::default" include_recipe "greysystems-mongodb::configure_relicaset"
Testing
Due to the nature of AWS, local testing EBS features is not supported at this moment.
For testing the rest of features, this cookbook has an in-place kitchen.yml ready to work with docker
# install dependencies chef exec bundle install # converge node chef exec bundle exec rake converge # verify (integration tests) chef exec bundle exec rake verify # full tests (style, converge, verify, destroy docker isntance) chef exec bundle exec rake full
Contributing
Everybody is welcome to contribute. Please, see [CONTRIBUTING
][contrib] for further information.
Bug Reports
Bug reports can be sent directly to authors and/or using github's issues.
Copyright (c) 2017 Grey Systems (www.greysystems.eu)
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Dependent cookbooks
mongodb >= 0.0.0 |
aws >= 0.0.0 |
selinux >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
1.0.0
initial release
2.0.1
Improved CI/CD with automatic publishing to chef supermarket
2.0.2
Fixed #issue-1
Collaborator Number Metric
2.0.2 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.2 passed this metric
No Binaries Metric
2.0.2 passed this metric
Testing File Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.2 failed this metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
2.0.2 passed this metric
No Binaries Metric
2.0.2 passed this metric
Testing File Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.2 passed this metric
2.0.2 passed this metric
Testing File Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
2.0.2 failed this metric
2.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number