{"id":21357702,"url":"https://github.com/rcbops/rpc-heat-mongodb","last_synced_at":"2025-09-02T02:39:44.661Z","repository":{"id":22684286,"uuid":"26027982","full_name":"rcbops/RPC-Heat-MongoDB","owner":"rcbops","description":"Heat template to install clustered MongoDB","archived":false,"fork":false,"pushed_at":"2015-08-13T19:31:10.000Z","size":341,"stargazers_count":1,"open_issues_count":1,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-26T00:35:13.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rcbops.github.io/RPC-Heat-MongoDB/","language":null,"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/rcbops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-31T18:19:43.000Z","updated_at":"2016-02-19T17:42:23.000Z","dependencies_parsed_at":"2022-08-05T18:30:18.175Z","dependency_job_id":null,"html_url":"https://github.com/rcbops/RPC-Heat-MongoDB","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rcbops/RPC-Heat-MongoDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2FRPC-Heat-MongoDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2FRPC-Heat-MongoDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2FRPC-Heat-MongoDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2FRPC-Heat-MongoDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcbops","download_url":"https://codeload.github.com/rcbops/RPC-Heat-MongoDB/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2FRPC-Heat-MongoDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273222083,"owners_count":25066695,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-22T05:10:44.812Z","updated_at":"2025-09-02T02:39:44.617Z","avatar_url":"https://github.com/rcbops.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Description\n===========\n\nThis is an OpenStack HEAT template to deploy [MongoDB](http://www.mongodb.org/) \nto multiple servers in an OpenStack cloud. \n\nThis template uses [MongoDB salt-formulas](https://github.com/rcbops/mongodb-formula) \nto configure the servers. Three instances will be Mongo configuration servers, \nat least two mongo routing (mongos) servers, and we at least 3 mongodb shards in a replica set.\nEach replica set created becomes a shard for databases to spread across.\n\nFor access to nodes in the MongoDB cluster, a floating ip will be assigned to the \nsalt-master. Or a new server can be created in the same network as the MongoDB network.\nAdditionally, mongos server will also be on a separete network so that applications could \naccess your database cluster without being on the same network.\n\nAny changes to the MongoDB configuration can be done using Salt pillars on the Salt \nmaster. Adding additional mongos nodes can be done via Salt as well.\n\nRequirements\n============\n* A Heat provider that supports the following:\n  * OS::Neutron::Net\n  * OS::Neutron::Subnet\n  * OS::Neutron::Router\n  * OS::Neutron::RouterInterface\n  * OS::Neutron::FloatingIP\n  * OS::Neutron::FloatingIPAssociation\n  * OS::Neutron::Port\n  * OS::Heat::SoftwareConfig\n  * OS::Heat::SoftwareDeployment\n  * OS::Heat::RandomString\n  * OS::Heat::ResourceGroup\n  * OS::Nova::Server\n  * OS::Nova::KeyPair\n\n* A separete application network where mongos node will be connected.\n* The flavor should have at least 10GB of disk space.\n* Port 27017 should be accesible \n* An Ubuntu image (12.04 or newer) preconfigured with heat-cfntools and heat config-script. \nInstructions for creating a heat-cfntools enabled image for use with Heat can be \nfound [here] (http://docs.openstack.org/developer/heat/getting_started/jeos_building.html).\n\n* An OpenStack username, password, and tenant id.\n* [python-heatclient](https://github.com/openstack/python-heatclient)\n`\u003e= v0.2.12`:\n\n```bash\npip install python-heatclient\n```\nUsing Heat-client \n=============\nHere is an example of how to deploy this template using the\n[python-heatclient](https://github.com/openstack/python-heatclient):\n\n```\nheat stack-create mongo-iptables-test -f mongodb_stack.yaml -e env.yaml \\\n  -P minion-size-mongodb=m1.small -P floating-network-id=\u003c...\u003e \\\n  -P image=[image_name] -P keyname=[ssh_key] \\\n  -P apps-network=\u003c...\u003e\n```\nAll the required parameters are as follows:\n```\n\n    \"minion-count-mongos\": How many mongos servers will be required\n    \"apps-network\": Network UUID of application network\n    \"image\": Image name\n    \"floating-network-id\": UUID of the external network. The private network created by this stack will route to this network. Also, any floating ip's needed by this stack will come this network.\n    \"keyname\": Key name for loggin in to instances\n    \"minion-size-mongodb\": Flavor (image size) of mongod servers to be created.\n    \"minion-count-mongodb\": How many mongod servers will be in a cluster.\n\n```\n\nUsing Salt\n=============\nIf you wish to make changes to your environment after all the nodes were built, \nyou may re-run salt states as follows:\n\n```\nsalt -G 'roles:mongoconfigsrv' state.highstate\nsalt -G 'roles:mongodb' state.highstate\nsalt -G 'roles:mongos' state.highstate\nsalt -G 'roles:mongodb' state.sls mongodb.replication\nsalt -G 'roles:mongos' state.sls mongodb.mongos.cluster\n```\nThe roles work as follows: \n\"mongoconfigsrv\" is a role for mongo configuration servers.\n\"mongodb\" is a role for mongodb (shards) servers.\n\"mongos\" is a role for mongos (router) servers.\n\nUsing Horizon\n=============\nYou can also go to your Horizon Dashboard in your browser and create \nthe MongoDB stack from under the Orchestration tab.\n\nLicense\n=======\n```\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-heat-mongodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcbops%2Frpc-heat-mongodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-heat-mongodb/lists"}