From 937e6cc0465b4ea948c2c5a6e757de4cdc0c3af9 Mon Sep 17 00:00:00 2001 From: Bob Grabar Date: Fri, 21 Mar 2014 15:35:46 -0400 Subject: [PATCH] DOCS-2502 refactor mongod/mongos configuration file options --- source/includes/options-config-files.yaml | 163 ++++++++++++ source/reference/configuration-options.txt | 284 ++------------------- 2 files changed, 183 insertions(+), 264 deletions(-) create mode 100644 source/includes/options-config-files.yaml diff --git a/source/includes/options-config-files.yaml b/source/includes/options-config-files.yaml new file mode 100644 index 00000000000..0c7026d9ffb --- /dev/null +++ b/source/includes/options-config-files.yaml @@ -0,0 +1,163 @@ +program: configuration-options +name: systemLog.verbosity +type: integer +directive: setting +inherit: + name: verbose + program: _shared + file: options-shared.yaml +--- +program: configuration-options +name: net.port +type: integer +directive: setting +inherit: + name: port + program: _shared + file: options-shared.yaml +--- +program: configuration-options +name: net.bindIp +type: string +directive: setting +inherit: + name: bind_ip + program: _shared + file: options-shared.yaml +--- +program: configuration-options +name: net.maxIncomingConnections +type: integer +directive: setting +inherit: + name: maxConns + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: net.wireObjectCheck +type: boolean +directive: setting +inherit: + name: objcheck + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: systemLog.path +type: string +directive: setting +inherit: + name: logpath + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: systemLog.logAppend +type: string +directive: setting +inherit: + name: logappend + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: systemLog.syslogFacility +type: string +directive: setting +inherit: + name: syslogFacility + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: processManagement.pidFilePath +type: string +directive: setting +inherit: + name: pidfilepath + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: security.keyFile +type: string +directive: setting +inherit: + name: keyFile + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: net.unixDomainSocket.enabled +type: boolean +directive: setting +description: | + DESCRIPTION GOES HERE. +optional: true +--- +program: configuration-options +name: net.unixDomainSocket.pathPrefix +type: string +directive: setting +inherit: + name: unixSocketPrefix + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: processManagement.fork +type: boolean +directive: setting +inherit: + name: fork + program: mongod + file: options-mongod.yaml +--- +program: configuration-options +name: security.clusterAuthMode +type: string +directive: setting +inherit: + name: clusterAuthMode + program: mongos + file: options-mongos.yaml +--- +program: configuration-options +name: security.authentication +# security.authentication is for mongod only +type: string +directive: setting +inherit: + name: auth + program: _mongod + file: options-mongod.yaml +--- +program: configuration-options +name: security.authSchemaVersion +# security.authSchemaVersion is for mongod only +type: string +directive: setting +description: | + DESCRIPTION GOES HERE. +optional: true +--- +program: configuration-options +name: security.authenticationMechanisms +# security.authenticationMechanisms is for mongod only +type: string +directive: setting +inherit: + name: authenticationMechanism + program: _shared + file: options-shared.yaml +--- +program: configuration-options +name: security.enableLocalhostAuthBypass +# security.enableLocalhostAuthBypass is for mongod only +type: string +directive: setting +description: | + DESCRIPTION GOES HERE. +optional: true +... diff --git a/source/reference/configuration-options.txt b/source/reference/configuration-options.txt index a58d2206f76..3eeb0f75d11 100644 --- a/source/reference/configuration-options.txt +++ b/source/reference/configuration-options.txt @@ -4,17 +4,6 @@ Configuration File Options .. default-domain:: mongodb -.. When editing this file make sure that the man pages for the - binaries reflect all changes that you've made. - - That is: - - - /reference/mongod.txt - - /reference/mongos.txt - -Synopsis --------- - Administrators and users can control :program:`mongod` or :program:`mongos` instances at runtime either directly from :doc:`mongod's command line arguments ` or using a @@ -51,228 +40,44 @@ Declare all settings in this file using the following form: Settings -------- -.. setting:: verbose - - *Default:* false - - Increases the amount of internal reporting returned on standard - output or in the log file generated by :setting:`logpath`. To - enable :setting:`verbose` or to enable increased verbosity with - :setting:`vvvv`, set these options as in the following example: - - .. code-block:: sh - - verbose = true - vvvv = true - - - MongoDB has the following levels of verbosity: - - .. setting:: v - - *Default:* false - - Alternate form of :setting:`verbose`. - - .. setting:: vv - - *Default:* false - - Additional increase in verbosity of output and logging. - - .. setting:: vvv - - *Default:* false - - Additional increase in verbosity of output and logging. - - .. setting:: vvvv - - *Default:* false - - Additional increase in verbosity of output and logging. - - .. setting:: vvvvv - - *Default:* false - - Additional increase in verbosity of output and logging. - -.. setting:: port - - *Default:* 27017 - - Specifies a TCP port for the :program:`mongod` or :program:`mongos` - instance to listen for client connections. UNIX-like systems - require root access for ports with numbers lower than 1024. - -.. setting:: bind_ip - - *Default:* All interfaces. - - Set this option to configure the :program:`mongod` or - :program:`mongos` process to bind to and listen for connections - from applications on this address. You may attach :program:`mongod` - or :program:`mongos` instances to any interface; however, if you - attach the process to a publicly accessible interface, implement - proper authentication or firewall restrictions to protect the - integrity of your database. - - You may concatenate a list of comma separated values to bind - :program:`mongod` to multiple IP addresses. - -.. setting:: maxConns - - *Default:* depends on system (i.e. ulimit and file descriptor) - limits. Unless set, MongoDB will not limit its own connections. - - Specifies a value to set the maximum number of simultaneous - connections that :program:`mongod` or :program:`mongos` will - accept. This setting has no effect if it is higher than your - operating system's configured maximum connection tracking - threshold. - - This is particularly useful for :program:`mongos` if you have a - client that creates a number of connections but allows them to - timeout rather than close the connections. When you set - :setting:`maxConns`, ensure the value is slightly higher than the - size of the connection pool or the total number of connections to - prevent erroneous connection spikes from propagating to the members - of a :term:`shard` cluster. - - .. include:: /includes/note-max-conns-max.rst - -.. setting:: objcheck - - *Default:* true - - .. versionchanged:: 2.4 - The default setting for :setting:`objcheck` became ``true`` in - 2.4. In earlier versions :setting:`objcheck` was ``false`` by - default. - - Forces the :program:`mongod` to validate all requests from clients - upon receipt to ensure that clients never insert invalid documents - into the database. For objects with a high degree of sub-document - nesting, :setting:`objcheck` can have a small impact on - performance. You can set :setting:`noobjcheck` to disable object - checking at run-time. - -.. setting:: noobjcheck - - .. versionadded:: 2.4 - - *Default:* false - - Disables the default object validation that MongoDB performs on all - incoming BSON documents. +Core Options +~~~~~~~~~~~~ -.. setting:: logpath +.. include:: /includes/option/setting-configuration-options-systemLog.verbosity.rst - *Default:* None. (i.e. ``/dev/stdout``) +.. include:: /includes/option/setting-configuration-options-net.port.rst - Specify the path to a file name for the log file that will hold all - diagnostic logging information. +.. include:: /includes/option/setting-configuration-options-net.bindIp.rst - Unless specified, :program:`mongod` will output all log information - to the standard output. Unless :setting:`logappend` is ``true``, - the logfile will be overwritten when the process restarts. +.. include:: /includes/option/setting-configuration-options-net.maxIncomingConnections.rst - .. note:: - - Currently, MongoDB will overwrite the contents of the log file - if the :setting:`logappend` is not used. This behavior may - change in the future depending on the outcome of - :issue:`SERVER-4499`. - -.. setting:: logappend - - *Default:* false - - Set to ``true`` to add new entries to the end of the logfile rather - than overwriting the content of the log when the process restarts. - - If this setting is not specified, then MongoDB will overwrite the - existing logfile upon start up. - - .. note:: - - The behavior of the logging system may change in the near - future in response to the :issue:`SERVER-4499` case. - -.. setting:: syslog - - .. versionadded:: 2.2 - - Sends all logging output to the host's :term:`syslog` system rather - than to standard output or a log file as with :setting:`logpath`. - - .. important:: You cannot use :setting:`syslog` with :setting:`logpath`. - -.. setting:: pidfilepath - - *Default:* None. - - Specify a file location to hold the :term:`PID` or process ID of the - :program:`mongod` process. Useful for tracking the :program:`mongod` process in - combination with the :setting:`fork` setting. - - Without a specified :setting:`pidfilepath`, :program:`mongos` - creates no PID file. - - Without this option, :program:`mongod` creates no PID file. - -.. setting:: keyFile - - *Default:* None. - - Specify the path to a key file to store authentication - information. This option is used for interprocess authentication among - the :program:`mongos` and :program:`mongod` instances of a - :term:`sharded cluster` or :term:`replica set`. - - .. seealso:: :ref:`Replica Set Security ` - and :ref:`sharding-security` +.. include:: /includes/option/setting-configuration-options-net.wireObjectCheck.rst -.. setting:: nounixsocket +.. include:: /includes/option/setting-configuration-options-systemLog.path.rst - *Default:* false - - Set to ``true`` to disable listening on the UNIX - socket. +.. include:: /includes/option/setting-configuration-options-systemLog.logAppend.rst - MongoDB always creates and listens on the UNIX socket, unless - :setting:`nounixsocket` is set, or :setting:`bind_ip` is *not* set, - or :setting:`bind_ip` does *not* specify ``127.0.0.1``. +.. include:: /includes/option/setting-configuration-options-systemLog.syslogFacility.rst -.. setting:: unixSocketPrefix +.. include:: /includes/option/setting-configuration-options-processManagement.pidFilePath.rst - *Default:* ``/tmp`` +.. include:: /includes/option/setting-configuration-options-security.keyFile.rst - Specifies a path for the UNIX socket. Unless this option has a - value :program:`mongod` creates a socket with ``/tmp`` as a - prefix. +.. include:: /includes/option/setting-configuration-options-net.unixDomainSocket.enabled.rst - MongoDB will *always* create and listen on a UNIX socket, unless - :setting:`nounixsocket` is set, :setting:`bind_ip` is *not* set. - or :setting:`bind_ip` does *not* specify ``127.0.0.1``. +.. include:: /includes/option/setting-configuration-options-net.unixDomainSocket.pathPrefix.rst -.. setting:: fork +.. include:: /includes/option/setting-configuration-options-processManagement.fork.rst - *Default:* false +.. include:: /includes/option/setting-configuration-options-security.clusterAuthMode.rst - Set to ``true`` to enable a :term:`daemon` mode for - :program:`mongod` that runs the process in the background. +.. include:: /includes/option/setting-configuration-options-security.authentication.rst -.. setting:: auth +.. include:: /includes/option/setting-configuration-options-security.authSchemaVersion.rst - *Default:* false +.. include:: /includes/option/setting-configuration-options-security.authenticationMechanisms.rst - Set to ``true`` to enable database authentication for users - connecting from remote hosts. Configure users via the :doc:`mongo - shell `. If no users exist, the localhost - interface will continue to have access to the database until you - create the first user. +.. include:: /includes/option/setting-configuration-options-security.enableLocalhostAuthBypass.rst .. setting:: cpu @@ -411,15 +216,6 @@ Settings .. seealso:: :setting:`httpinterface` to enable the HTTP interface. -.. setting:: noauth - - *Default:* true - - Disable authentication. Currently the default. Exists for future - compatibility and clarity. - - For consistency use the :setting:`auth` option. - .. setting:: nohttpinterface .. deprecated:: 2.6 @@ -1166,46 +962,6 @@ SSL Options installed OpenSSL library. Your system must have a FIPS compliant OpenSSL library to use :option:`--sslFIPSMode`. -.. option:: --clusterAuthMode