| .. Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| .. use this file except in compliance with the License. You may obtain a copy of |
| .. the License at |
| .. |
| .. http://www.apache.org/licenses/LICENSE-2.0 |
| .. |
| .. Unless required by applicable law or agreed to in writing, software |
| .. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| .. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| .. License for the specific language governing permissions and limitations under |
| .. the License. |
| |
| .. _api/config: |
| |
| ============= |
| Configuration |
| ============= |
| |
| The CouchDB Server Configuration API provide an interface to query and update |
| the various configuration values within a running CouchDB instance. |
| |
| Accessing the local node's configuration |
| ======================================== |
| |
| The literal string ``_local`` serves as an alias for the local node name, so |
| for all configuration URLs, ``{node-name}`` may be replaced with ``_local``, to |
| interact with the local node's configuration. |
| |
| ``/_node/{node-name}/_config`` |
| ============================== |
| |
| .. http:get:: /_node/{node-name}/_config |
| :synopsis: Obtains a list of the entire server configuration |
| |
| Returns the entire CouchDB server configuration as a JSON structure. The |
| structure is organized by different configuration sections, with |
| individual values. |
| |
| :<header Accept: - :mimetype:`application/json` |
| - :mimetype:`text/plain` |
| :>header Content-Type: - :mimetype:`application/json` |
| - :mimetype:`text/plain; charset=utf-8` |
| :code 200: Request completed successfully |
| :code 401: CouchDB Server Administrator privileges required |
| |
| **Request** |
| |
| .. code-block:: http |
| |
| GET /_node/nonode@nohost/_config HTTP/1.1 |
| Accept: application/json |
| Host: localhost:5984 |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 4148 |
| Content-Type: application/json |
| Date: Sat, 10 Aug 2013 12:01:42 GMT |
| Server: CouchDB (Erlang/OTP) |
| |
| { |
| "attachments": { |
| "compressible_types": "text/*, application/javascript, application/json, application/xml", |
| "compression_level": "8" |
| }, |
| "couchdb": { |
| "users_db_suffix": "_users", |
| "database_dir": "/var/lib/couchdb", |
| "max_attachment_chunk_size": "4294967296", |
| "max_dbs_open": "100", |
| "os_process_timeout": "5000", |
| "uri_file": "/var/lib/couchdb/couch.uri", |
| "util_driver_dir": "/usr/lib64/couchdb/erlang/lib/couch-1.5.0/priv/lib", |
| "view_index_dir": "/var/lib/couchdb" |
| }, |
| "chttpd": { |
| "allow_jsonp": "false", |
| "backlog": "512", |
| "bind_address": "0.0.0.0", |
| "port": "5984", |
| "require_valid_user": "false", |
| "socket_options": "[{sndbuf, 262144}, {nodelay, true}]", |
| "server_options": "[{recbuf, undefined}]", |
| "secure_rewrites": "true" |
| }, |
| "httpd": { |
| "authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}", |
| "bind_address": "192.168.0.2", |
| "max_connections": "2048", |
| "port": "5984", |
| }, |
| "log": { |
| "writer": "file", |
| "file": "/var/log/couchdb/couch.log", |
| "include_sasl": "true", |
| "level": "info" |
| }, |
| "query_server_config": { |
| "reduce_limit": "true" |
| }, |
| "replicator": { |
| "max_http_pipeline_size": "10", |
| "max_http_sessions": "10" |
| }, |
| "stats": { |
| "interval": "10" |
| }, |
| "uuids": { |
| "algorithm": "utc_random" |
| } |
| } |
| |
| .. versionchanged: 2.0.0 The config endpoint from ``/_config`` to |
| ``/_node/{node-name}/_config``. |
| |
| .. _api/config/section: |
| |
| ``/_node/{node-name}/_config/{section}`` |
| ======================================== |
| |
| .. http:get:: /_node/{node-name}/_config/{section} |
| :synopsis: Returns all the configuration values for the specified section |
| |
| Gets the configuration structure for a single section. |
| |
| :param section: Configuration section name |
| :<header Accept: - :mimetype:`application/json` |
| - :mimetype:`text/plain` |
| :>header Content-Type: - :mimetype:`application/json` |
| - :mimetype:`text/plain; charset=utf-8` |
| :code 200: Request completed successfully |
| :code 401: CouchDB Server Administrator privileges required |
| |
| **Request**: |
| |
| .. code-block:: http |
| |
| GET /_node/nonode@nohost/_config/httpd HTTP/1.1 |
| Accept: application/json |
| Host: localhost:5984 |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 444 |
| Content-Type: application/json |
| Date: Sat, 10 Aug 2013 12:10:40 GMT |
| Server: CouchDB (Erlang/OTP) |
| |
| { |
| "authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}", |
| "bind_address": "127.0.0.1", |
| "default_handler": "{couch_httpd_db, handle_request}", |
| "port": "5984" |
| } |
| |
| .. _api/config/section/key: |
| |
| ``/_node/{node-name}/_config/{section}/{key}`` |
| ============================================== |
| |
| .. http:get:: /_node/{node-name}/_config/{section}/{key} |
| :synopsis: Returns a specific section/configuration value |
| |
| Gets a single configuration value from within a specific configuration |
| section. |
| |
| :param section: Configuration section name |
| :param key: Configuration option name |
| :<header Accept: - :mimetype:`application/json` |
| - :mimetype:`text/plain` |
| :>header Content-Type: - :mimetype:`application/json` |
| - :mimetype:`text/plain; charset=utf-8` |
| :code 200: Request completed successfully |
| :code 401: CouchDB Server Administrator privileges required |
| |
| **Request**: |
| |
| .. code-block:: http |
| |
| GET /_node/nonode@nohost/_config/log/level HTTP/1.1 |
| Accept: application/json |
| Host: localhost:5984 |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 8 |
| Content-Type: application/json |
| Date: Sat, 10 Aug 2013 12:12:59 GMT |
| Server: CouchDB (Erlang/OTP) |
| |
| "debug" |
| |
| .. note:: |
| The returned value will be the JSON of the value, which may be a string |
| or numeric value, or an array or object. Some client environments may |
| not parse simple strings or numeric values as valid JSON. |
| |
| .. http:put:: /_node/{node-name}/_config/{section}/{key} |
| :synopsis: Sets the specified configuration value |
| |
| Updates a configuration value. The new value should be supplied in the |
| request body in the corresponding JSON format. If you are setting a string |
| value, you must supply a valid JSON string. In response CouchDB sends old |
| value for target section key. |
| |
| :param section: Configuration section name |
| :param key: Configuration option name |
| :<header Accept: - :mimetype:`application/json` |
| - :mimetype:`text/plain` |
| :<header Content-Type: :mimetype:`application/json` |
| :>header Content-Type: - :mimetype:`application/json` |
| - :mimetype:`text/plain; charset=utf-8` |
| :code 200: Request completed successfully |
| :code 400: Invalid JSON request body |
| :code 401: CouchDB Server Administrator privileges required |
| :code 500: Error setting configuration |
| |
| **Request**: |
| |
| .. code-block:: http |
| |
| PUT /_node/nonode@nohost/_config/log/level HTTP/1.1 |
| Accept: application/json |
| Content-Length: 7 |
| Content-Type: application/json |
| Host: localhost:5984 |
| |
| "info" |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 8 |
| Content-Type: application/json |
| Date: Sat, 10 Aug 2013 12:12:59 GMT |
| Server: CouchDB (Erlang/OTP) |
| |
| "debug" |
| |
| .. http:delete:: /_node/{node-name}/_config/{section}/{key} |
| :synopsis: Removes the current setting |
| |
| Deletes a configuration value. The returned JSON will be the value of the |
| configuration parameter before it was deleted. |
| |
| :param section: Configuration section name |
| :param key: Configuration option name |
| :<header Accept: - :mimetype:`application/json` |
| - :mimetype:`text/plain` |
| :>header Content-Type: - :mimetype:`application/json` |
| - :mimetype:`text/plain; charset=utf-8` |
| :code 200: Request completed successfully |
| :code 401: CouchDB Server Administrator privileges required |
| :code 404: Specified configuration option not found |
| |
| **Request**: |
| |
| .. code-block:: http |
| |
| DELETE /_node/nonode@nohost/_config/log/level HTTP/1.1 |
| Accept: application/json |
| Host: localhost:5984 |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 7 |
| Content-Type: application/json |
| Date: Sat, 10 Aug 2013 12:29:03 GMT |
| Server: CouchDB (Erlang/OTP) |
| |
| "info" |
| |
| .. _api/config/reload: |
| |
| ``/_node/{node-name}/_config/_reload`` |
| ====================================== |
| |
| .. versionadded:: 3.0 |
| |
| .. http:post:: /_node/{node-name}/_config/_reload |
| :synopsis: Reload the configuration from disk |
| |
| Reloads the configuration from disk. This has a side effect of |
| flushing any in-memory configuration changes that have not been |
| committed to disk. |
| |
| **Request**: |
| |
| .. code-block:: http |
| |
| POST /_node/nonode@nohost/_config/_reload HTTP/1.1 |
| Host: localhost:5984 |
| |
| **Response**: |
| |
| .. code-block:: http |
| |
| HTTP/1.1 200 OK |
| Cache-Control: must-revalidate |
| Content-Length: 12 |
| Content-Type: application/json |
| Date: Tues, 21 Jan 2020 11:09:35 |
| Server: CouchDB/3.0.0 (Erlang OTP) |
| |
| {"ok":true} |