MongoDB is a high-performance, open source, schema-free document-
oriented data store that's easy to deploy, manage and use. It's
network accessible, written in C++ and offers the following features:

  • Collection oriented storage - easy storage of object-style data
  • Full index support, including on inner objects
  • Query profiling
  • Replication and fail-over support
  • Efficient storage of binary data including large
    objects (e.g. videos)
  • Auto-sharding for cloud-level scalability (Q209)
    High performance, scalability, and reasonable depth of functionality
    are the goals for the project.

MongoDB Charm

Build Status Coverage Status

Configuration

dbpath
(string)
                            The path where the data files will be kept.
                        
/var/lib/mongodb
backups_enabled
(boolean)
                            Enable daily backups to disk.
                        
oplogSize
(string)
                            Custom size for replication operation log
                        
bind_ip
(string)
                            IP address that mongodb should listen for connections.
                        
0.0.0.0
install_keys
(string)
                            List of signing keys for install_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.

                        
port
(int)
                            Default MongoDB port
                        
27017
logrotate-frequency
(string)
                            How often should the logs be rotated. Use values from logrotate.
                        
daily
replicaset
(string)
                            Name of the replica set
                        
myset
backup_copies_kept
(int)
                            Number of backups to keep. Keeps one week's worth by default.
                        
7
nssize
(string)
                            Specify .ns file size for new databases
                        
logpath
(string)
                            The path where to send log data.
                        
/var/log/mongodb/mongodb.log
version
(string)
                            The version of MongoDB to install. By default the version from the Ubuntu Archive is installed. However, any upstream version since 2.0 can be installed if the exact version string is set.
                        
archive
objcheck
(boolean)
                            Inspect all client data for validity on receipt (useful for developing drivers)
                        
opIdMem
(string)
                            Size limit for in-memory storage of op ids
                        
notablescan
(boolean)
                            Turns off table scans.  Any query that would do a table scan fails
                        
noprealloc
(boolean)
                            Disable data file preallocation
                        
journal
(boolean)
                            Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
                        
True
quota
(boolean)
                            Enable db quota management
                        
auth
(boolean)
                            Turn on/off security
                        
logrotate-rotate
(int)
                            Number of log files to keep.
                        
5
package_status
(string)
                            The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".

                        
install
backup_directory
(string)
                            Where can the backups be found.
                        
/home/ubuntu/backups
nocursors
(boolean)
                            Diagnostic/debugging option
                        
logrotate-maxsize
(string)
                            Maximum log size before rotating.
                        
500M
nohints
(boolean)
                            Ignore query hints
                        
web_admin_ui
(boolean)
                            Replica Set Admin UI (accessible via default_port + 1000)
                        
True
diaglog
(int)
                            Set oplogging level where n is 0=off (default), 1=W, 2=R, 3=both, 7=W+some reads
                        
logappend
(boolean)
                            Append log entries to existing log file
                        
True
cpu
(boolean)
                            Enables periodic logging of CPU utilization and I/O wait
                        
extra_packages
(string)
                            Space separated list of extra deb packages to install.

                        
noscripting
(boolean)
                            Turns off server-side scripting.  This will result in greatly limited functionality
                        
install_sources
(string)
                            List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.