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.Root
Properties: monitoring: Monitoring configuration. name: Database name. ¶
-
dice.components.mongo.Group
Collection of MongoDB instances that form a replica or shard.
Parent: cloudify.nodes.Root
Attributes: 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.Server
Relationships: 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.SoftwareComponent
Properties: 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.Root
Properties: 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.ReplicaServer
ordice.components.mongo.ShardServer
instances 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
¶