MongoDB¶
Types and relationships that are described in this document can be used to construct MongoDB clusters. For more information on how to assemble those types into clusters, consult MongoDB templates.
Note
Currently, only standalone MongoDB setup is fully supported. Replicated and sharded setups require that inter-cluster authentication is properly configured and we are missing a few crucial pieces of infrastructure that would allow us to configure it (most critical is component that can produce server certificates on demand, like Hashicorp Vault).
Components¶
-
dice.components.mongo.ConfigServer MongoDB instance that is part of the configuration replica in sharded setup.
Parent: dice.components.mongo.Server¶
-
dice.components.mongo.DB MongoDB database.
Parent: cloudify.nodes.RootProperties: monitoring: Monitoring configuration. name: Database name. ¶
-
dice.components.mongo.Group Collection of MongoDB instances that form a replica or shard.
Parent: cloudify.nodes.RootAttributes: members: List of replica/shard members FQDNs. Relationships: ¶
-
dice.components.mongo.ReplicaServer MongoDB instance that is part of the replica in replicated setup.
Parent: dice.components.mongo.Server¶
-
dice.components.mongo.Router MongoDB router that should be used to server queries in sharded setup.
Parent: dice.components.mongo.ServerRelationships: dice.relationships.mongo.ConfigurationStoredIn,dice.relationships.mongo.RoutesTo¶
-
dice.components.mongo.Server Standalone instance of MongoDB. This is a base type for all other MongoDB server types and should not be used in production environments, where replicated setup should be used.
Parent: dice.chef.SoftwareComponentProperties: bind_ip: If set to local, mongo binds to internal address. If set toglobal, mongo binds to 0.0.0.0. (default:local)Attributes: ip: Private IP address of the MongoDB instance. fqdn: FQDN of the MongoDB instance. Relationships: ¶
-
dice.components.mongo.ShardServer MongoDB instance that is part of the shard replica in sharded setup.
Parent: dice.components.mongo.Server¶
-
dice.components.mongo.User MongoDB database user.
Parent: cloudify.nodes.RootProperties: username: Desired username. ¶
Firewall rules¶
-
dice.firewall_rules.mongo.Common Firewall rules that should be used on VMs that host MongoDB.
Parent: dice.firewall_rules.Base¶
Relationships¶
-
dice.relationships.mongo.ComposedOf Adds
dice.components.mongo.ConfigServer,dice.components.mongo.ReplicaServerordice.components.mongo.ShardServerinstances to the replica/shard.Parent: cloudify.relationships.depends_on¶
-
dice.relationships.mongo.ConfigurationStoredIn Connects MongoDB router to the configuration replica.
Parent: cloudify.relationships.depends_on¶
-
dice.relationships.mongo.HasRightsToUse Grants user permissions to use target database.
Parent: cloudify.relationships.depends_on¶
-
dice.relationships.mongo.RoutesTo Adds MongoDB shard to the router.
Parent: cloudify.relationships.depends_on¶