You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wo...@apache.org on 2020/01/29 17:16:56 UTC

[couchdb-documentation] branch master updated: Remove port 5986 references + related options (#487)

This is an automated email from the ASF dual-hosted git repository.

wohali pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git


The following commit(s) were added to refs/heads/master by this push:
     new bd684b6  Remove port 5986 references + related options (#487)
bd684b6 is described below

commit bd684b6211aa6f0f6fdb793bd8c816e5007f65cb
Author: Joan Touzet <wo...@users.noreply.github.com>
AuthorDate: Wed Jan 29 17:16:49 2020 +0000

    Remove port 5986 references + related options (#487)
---
 src/api/server/configuration.rst |   3 +-
 src/cluster/databases.rst        |   7 +--
 src/cluster/nodes.rst            |   6 +--
 src/cluster/sharding.rst         |  70 +++++++++++++--------------
 src/config/auth.rst              |  18 -------
 src/config/http.rst              |  95 ++++--------------------------------
 src/config/index.rst             |   1 -
 src/config/intro.rst             |   6 +--
 src/config/services.rst          | 101 ---------------------------------------
 src/setup/cluster.rst            |  19 ++------
 src/whatsnew/0.11.rst            |   2 +-
 src/whatsnew/3.0.rst             |   8 ++--
 12 files changed, 65 insertions(+), 271 deletions(-)

diff --git a/src/api/server/configuration.rst b/src/api/server/configuration.rst
index 9c2d61e..e46769e 100644
--- a/src/api/server/configuration.rst
+++ b/src/api/server/configuration.rst
@@ -162,8 +162,7 @@ interact with the local node's configuration.
             "default_handler": "{couch_httpd_db, handle_request}",
             "enable_cors": "false",
             "port": "5984",
-            "secure_rewrites": "true",
-            "vhost_global_handlers": "_utils, _uuids, _session, _users"
+            "secure_rewrites": "true"
         }
 
 .. _api/config/section/key:
diff --git a/src/cluster/databases.rst b/src/cluster/databases.rst
index 09876d0..1dcbc2b 100644
--- a/src/cluster/databases.rst
+++ b/src/cluster/databases.rst
@@ -56,9 +56,10 @@ placement rules.
     Use of the ``placement`` argument will **override** the standard
     logic for shard replica cardinality (specified by ``[cluster] n``.)
 
-First, each node must be labeled with a zone attribute. This defines which
-zone each node is in. You do this by editing the node's document in the
-``/nodes`` database, which is accessed through the "back-door" (5986) port.
+First, each node must be labeled with a zone attribute. This defines which zone each node
+is in. You do this by editing the node's document in the system ``_nodes`` database, which
+is accessed node-local via the ``GET /_node/_local/_nodes/{node-name}`` endpoint.
+
 Add a key value pair of the form:
 
 .. code-block:: text
diff --git a/src/cluster/nodes.rst b/src/cluster/nodes.rst
index 3028a92..fac8262 100644
--- a/src/cluster/nodes.rst
+++ b/src/cluster/nodes.rst
@@ -44,7 +44,7 @@ To add a node simply do:
 
 .. code-block:: text
 
-    curl -X PUT "http://xxx.xxx.xxx.xxx:5986/_nodes/node2@yyy.yyy.yyy.yyy" -d {}
+    curl -X PUT "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy" -d {}
 
 Now look at ``http://server1:5984/_membership`` again.
 
@@ -79,11 +79,11 @@ revision of the document that signifies that node’s existence:
 
 .. code-block:: text
 
-    curl "http://xxx.xxx.xxx.xxx:5986/_nodes/node2@yyy.yyy.yyy.yyy"
+    curl "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy"
     {"_id":"node2@yyy.yyy.yyy.yyy","_rev":"1-967a00dff5e02add41820138abb3284d"}
 
 With that ``_rev``, you can now proceed to delete the node document:
 
 .. code-block:: text
 
-    curl -X DELETE "http://xxx.xxx.xxx.xxx:5986/_nodes/node2@yyy.yyy.yyy.yyy?rev=1-967a00dff5e02add41820138abb3284d"
+    curl -X DELETE "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy?rev=1-967a00dff5e02add41820138abb3284d"
diff --git a/src/cluster/sharding.rst b/src/cluster/sharding.rst
index 8eac181..a3075dc 100644
--- a/src/cluster/sharding.rst
+++ b/src/cluster/sharding.rst
@@ -107,13 +107,13 @@ have responded:
 
 .. code-block:: bash
 
-    $ curl "$COUCH_URL:5984/<db>/<doc>?r=2"
+    $ curl "$COUCH_URL:5984/{db}/{doc}?r=2"
 
 Here is a similar example for writing a document:
 
 .. code-block:: bash
 
-    $ curl -X PUT "$COUCH_URL:5984/<db>/<doc>?w=2" -d '{...}'
+    $ curl -X PUT "$COUCH_URL:5984/{db}/{doc}?w=2" -d '{...}'
 
 Setting ``r`` or ``w`` to be equal to ``n`` (the number of replicas)
 means you will only receive a response once all nodes with relevant
@@ -336,13 +336,13 @@ another. For example:
 .. code-block:: bash
 
     # one one machine
-    $ mkdir -p data/.shards/<range>
-    $ mkdir -p data/shards/<range>
+    $ mkdir -p data/.shards/{range}
+    $ mkdir -p data/shards/{range}
     # on the other
-    $ scp <couch-dir>/data/.shards/<range>/<database>.<datecode>* \
-      <node>:<couch-dir>/data/.shards/<range>/
-    $ scp <couch-dir>/data/shards/<range>/<database>.<datecode>.couch \
-      <node>:<couch-dir>/data/shards/<range>/
+    $ scp {couch-dir}/data/.shards/{range}/{database}.{datecode}* \
+      {node}:{couch-dir}/data/.shards/{range}/
+    $ scp {couch-dir}/data/shards/{range}/{database}.{datecode}.couch \
+      {node}:{couch-dir}/data/shards/{range}/
 
 .. note::
     Remember to move view files before database files! If a view index
@@ -379,7 +379,7 @@ To enable maintenance mode:
 .. code-block:: bash
 
     $ curl -X PUT -H "Content-type: application/json" \
-        $COUCH_URL:5984/_node/<nodename>/_config/couchdb/maintenance_mode \
+        $COUCH_URL:5984/_node/{node-name}/_config/couchdb/maintenance_mode \
         -d "\"true\""
 
 Then, verify that the node is in maintenance mode by performing a ``GET
@@ -407,15 +407,14 @@ shard replicas for a given database.
 
 To update the cluster metadata, use the special ``/_dbs`` database,
 which is an internal CouchDB database that maps databases to shards and
-nodes. This database is replicated between nodes. It is accessible only
-via a node-local port, usually at port 5986. By default, this port is
-only available on the localhost interface for security purposes.
+nodes. This database is automatically replicated between nodes. It is accessible
+only through the special ``/_node/_local/_dbs`` endpoint.
 
 First, retrieve the database's current metadata:
 
 .. code-block:: bash
 
-    $ curl http://localhost:5986/_dbs/{name}
+    $ curl http://localhost/_node/_local/_dbs/{name}
     {
       "_id": "{name}",
       "_rev": "1-e13fb7e79af3b3107ed62925058bfa3a",
@@ -471,11 +470,11 @@ metadata's ``changelog`` attribute:
 
 .. code-block:: javascript
 
-    ["add", "<range>", "<node-name>"]
+    ["add", "{range}", "{node-name}"]
 
-The ``<range>`` is the specific shard range for the shard. The ``<node-
-name>`` should match the name and address of the node as displayed in
-``GET /_membership`` on the cluster.
+The ``{range}`` is the specific shard range for the shard. The ``{node-name}``
+should match the name and address of the node as displayed in ``GET
+/_membership`` on the cluster.
 
 .. note::
     When removing a shard from a node, specify ``remove`` instead of ``add``.
@@ -526,7 +525,7 @@ Now you can ``PUT`` this new metadata:
 
 .. code-block:: bash
 
-    $ curl -X PUT http://localhost:5986/_dbs/{name} -d '{...}'
+    $ curl -X PUT http://localhost/_node/_local/_dbs/{name} -d '{...}'
 
 .. _cluster/sharding/sync:
 
@@ -541,7 +540,7 @@ CouchDB to synchronize all replicas of all shards in a database with the
 
 .. code-block:: bash
 
-    $ curl -X POST $COUCH_URL:5984/{dbname}/_sync_shards
+    $ curl -X POST $COUCH_URL:5984/{db}/_sync_shards
     {"ok":true}
 
 This starts the synchronization process. Note that this will put
@@ -562,7 +561,7 @@ Monitor internal replication to ensure up-to-date shard(s)
 
 After you complete the previous step, CouchDB will have started
 synchronizing the shards. You can observe this happening by monitoring
-the ``/_node/<nodename>/_system`` endpoint, which includes the
+the ``/_node/{node-name}/_system`` endpoint, which includes the
 ``internal_replication_jobs`` metric.
 
 Once this metric has returned to the baseline from before you started
@@ -591,7 +590,7 @@ Update cluster metadata again to remove the source shard
 
 Now, remove the source shard from the shard map the same way that you
 added the new target shard to the shard map in step 2. Be sure to add
-the ``["remove", <range>, <source-shard>]`` entry to the end of the
+the ``["remove", {range}, {source-shard}]`` entry to the end of the
 changelog as well as modifying both the ``by_node`` and ``by_range`` sections of
 the database metadata document.
 
@@ -605,8 +604,8 @@ command line on the source host, along with any view shard replicas:
 
 .. code-block:: bash
 
-    $ rm <couch-dir>/data/shards/<range>/<dbname>.<datecode>.couch
-    $ rm -r <couch-dir>/data/.shards/<range>/<dbname>.<datecode>*
+    $ rm {couch-dir}/data/shards/{range}/{db}.{datecode}.couch
+    $ rm -r {couch-dir}/data/.shards/{range}/{db}.{datecode}*
 
 Congratulations! You have moved a database shard replica. By adding and removing
 database shard replicas in this way, you can change the cluster's shard layout,
@@ -623,10 +622,11 @@ database creation time using placement rules.
     Use of the ``placement`` option will **override** the ``n`` option,
     both in the ``.ini`` file as well as when specified in a ``URL``.
 
-First, each node must be labeled with a zone attribute. This defines
-which zone each node is in. You do this by editing the node’s document
-in the ``/_nodes`` database, which is accessed through the node-local
-port. Add a key value pair of the form:
+First, each node must be labeled with a zone attribute. This defines which zone
+each node is in. You do this by editing the node’s document in the special
+``/_nodes`` database, which is accessed through the special node-local API
+endpoint at ``/_node/_local/_nodes/{node-name}``. Add a key value pair of the
+form:
 
 ::
 
@@ -636,11 +636,11 @@ Do this for all of the nodes in your cluster. For example:
 
 .. code-block:: bash
 
-    $ curl -X PUT http://localhost:5986/_nodes/<node-name> \
+    $ curl -X PUT http://localhost/_node/_local/_nodes/{node-name} \
         -d '{ \
-            "_id": "<node-name>",
-            "_rev": "<rev>",
-            "zone": "<zone-name>"
+            "_id": "{node-name}",
+            "_rev": "{rev}",
+            "zone": "{zone-name}"
             }'
 
 In the local config file (``local.ini``) of each node, define a
@@ -649,12 +649,12 @@ consistent cluster-wide setting like:
 ::
 
     [cluster]
-    placement = <zone-name-1>:2,<zone-name-2>:1
+    placement = {zone-name-1}:2,{zone-name-2}:1
 
 In this example, CouchDB will ensure that two replicas for a shard will
-be hosted on nodes with the zone attribute set to ``<zone-name-1>`` and
+be hosted on nodes with the zone attribute set to ``{zone-name-1}`` and
 one replica will be hosted on a new with the zone attribute set to
-``<zone-name-2>``.
+``{zone-name-2}``.
 
 This approach is flexible, since you can also specify zones on a per-
 database basis by specifying the placement setting as a query parameter
@@ -662,7 +662,7 @@ when the database is created, using the same syntax as the ini file:
 
 .. code-block:: bash
 
-    curl -X PUT $COUCH_URL:5984/<dbname>?zone=<zone>
+    curl -X PUT $COUCH_URL:5984/{db}?zone={zone}
 
 The ``placement`` argument may also be specified. Note that this *will*
 override the logic that determines the number of created replicas!
diff --git a/src/config/auth.rst b/src/config/auth.rst
index 06c532c..d4dad85 100644
--- a/src/config/auth.rst
+++ b/src/config/auth.rst
@@ -119,11 +119,6 @@ Authentication Configuration
             [chttpd]
             require_valid_user = false
 
-        .. note::
-            This setting only affects the clustered-port (5984 by default).
-            To make the same change for the node-local port (5986 by default),
-            set the ``[couch_httpd_auth]`` setting of the same name.
-
     .. config:option:: require_valid_user_except_for_up :: Force user auth (mostly)
 
         When this option is set to ``true``, no requests are allowed from
@@ -180,10 +175,6 @@ Authentication Configuration
             [couch_httpd_auth]
             authentication_redirect = /_utils/session.html
 
-        .. note::
-            This setting affects both the clustered-port (5984 by default)
-            and the node-local port (5986 by default).
-
     .. config:option:: iterations :: PBKDF2 iterations count
 
         .. versionadded:: 1.3
@@ -252,11 +243,6 @@ Authentication Configuration
             [couch_httpd_auth]
             require_valid_user = false
 
-        .. warning::
-            This setting only affects the node-local port (5986 by default).
-            Most administrators want the ``[chttpd]`` setting of the same name
-            for clustered-port (5984) behaviour.
-
     .. config:option:: secret :: Authentication secret token
 
         The secret token is used for :ref:`api/auth/proxy` and for :ref:`api/auth/cookie`. ::
@@ -283,10 +269,6 @@ Authentication Configuration
             [couch_httpd_auth]
             users_db_public = false
 
-        .. note::
-            This setting affects both the clustered-port (5984 by default)
-            and the node-local port (5986 by default).
-
     .. config:option:: x_auth_roles :: Proxy Auth roles header
 
         The HTTP header name (``X-Auth-CouchDB-Roles`` by default) that
diff --git a/src/config/http.rst b/src/config/http.rst
index 3e380a2..fd94757 100644
--- a/src/config/http.rst
+++ b/src/config/http.rst
@@ -29,6 +29,8 @@ HTTP Server Options
     port. All use of CouchDB, aside from a few specific maintenance tasks as
     described in this documentation, should be performed over this port.
 
+    .. config:option:: bind_address :: HTTP port IP address binding
+
         Defines the IP address by which the clustered port is available::
 
             [chttpd]
@@ -93,13 +95,6 @@ HTTP Server Options
 
 .. config:section:: httpd :: HTTP Server Options
 
-.. warning::
-    In CouchDB 2.x, the `httpd` section mostly refers to the node-local port,
-    on port 5986 by default. This port is used only for maintenance and
-    administrative tasks. **It should not be used for regular CouchDB access**,
-    and for security reasons, **should always be bound to localhost**
-    (`127.0.0.1`) or a private LAN segment only.
-
     .. config:option:: allow_jsonp :: Enables JSONP support
 
         The ``true`` value of this option enables `JSONP`_ support (it's
@@ -110,20 +105,6 @@ HTTP Server Options
 
         .. _JSONP: https://en.wikipedia.org/wiki/JSONP
 
-    .. config:option:: bind_address :: Listen IP address
-
-        Defines the IP address by which the node-local port is available.
-        The recommended setting is always::
-
-            [httpd]
-            bind_address = 127.0.0.1
-
-        For IPv6 support you need to set `::1` if you want to let CouchDB
-        listen correctly::
-
-            [httpd]
-            bind_address = ::1
-
     .. config:option:: changes_timeout :: Changes feed timeout
 
         Specifies default `timeout` value for :ref:`Changes Feed <changes>` in
@@ -143,13 +124,6 @@ HTTP Server Options
             [httpd]
             config_whitelist = [{httpd,config_whitelist}, {log,level}, {etc,etc}]
 
-    .. config:option:: default_handler :: Default request handler
-
-        Specifies default HTTP requests handler::
-
-            [httpd]
-            default_handler = {couch_httpd_db, handle_request}
-
     .. config:option:: enable_cors :: Activates CORS
 
         .. versionadded:: 1.3
@@ -159,38 +133,19 @@ HTTP Server Options
             [httpd]
             enable_cors = false
 
-    .. config:option:: port :: Listen port
-
-        Defines the port number to listen::
-
-            [httpd]
-            port = 5986
-
-        To let CouchDB use any free port, set this option to ``0``::
-
-            [httpd]
-            port = 0
-
-    .. config:option:: redirect_vhost_handler :: Virtual Hosts custom redirect handler
-
-        This option customizes the default function that handles requests to
-        :section:`virtual hosts <vhosts>`::
-
-            [httpd]
-            redirect_vhost_handler = {Module, Fun}
-
-        The specified function take 2 arguments: the MochiWeb request object
-        and the target path.
-
     .. config:option:: server_options :: MochiWeb Server Options
 
-        Server options for the `MochiWeb`_ component of CouchDB can be added to
+        Server options for the MochiWeb component of CouchDB can be added to
         the configuration files::
 
             [httpd]
             server_options = [{backlog, 128}, {acceptor_pool_size, 16}]
 
-        .. _MochiWeb: https://github.com/mochi/mochiweb
+        The options supported are a subset of full options supported by the
+        TCP/IP stack. A list of the supported options are provided in the
+        `Erlang inet`_ documentation.
+
+        .. _Erlang inet: http://www.erlang.org/doc/man/inet.html#setopts-2
 
     .. config:option:: secure_rewrites :: Default request handler
 
@@ -205,21 +160,7 @@ HTTP Server Options
         beginning of ever request, can be specified as a list of tuples. For example::
 
             [httpd]
-            socket_options = [{sndbuf, 262144}, {nodelay, true}]
-
-        The options supported are a subset of full options supported by the
-        TCP/IP stack. A list of the supported options are provided in the
-        `Erlang inet`_ documentation.
-
-        .. _Erlang inet: http://www.erlang.org/doc/man/inet.html#setopts-2
-
-    .. config:option:: server_options :: Socket Options
-
-        The server options for any socket in the mochiweb acceptor pool in CouchDB
-        can be specified as a list of tuples. For example::
-
-            [httpd]
-            server_options = [{recbuf, undefined}]
+            socket_options = [{sndbuf, 262144}]
 
         The options supported are a subset of full options supported by the
         TCP/IP stack. A list of the supported options are provided in the
@@ -227,14 +168,6 @@ HTTP Server Options
 
         .. _Erlang inet: http://www.erlang.org/doc/man/inet.html#setopts-2
 
-    .. config:option:: vhost_global_handlers :: Virtual hosts global handlers
-
-        List of global handlers that are available for :section:`virtual hosts
-        <vhosts>`::
-
-            [httpd]
-            vhost_global_handlers = _utils, _uuids, _session, _users
-
     .. config:option:: x_forwarded_host :: X-Forwarder-Host
 
         The `x_forwarded_host` header (``X-Forwarded-Host`` by default) is used
@@ -275,13 +208,6 @@ HTTP Server Options
             [httpd]
             enable_xframe_options = false
 
-    .. config:option:: WWW-Authenticate :: Force basic auth
-
-        Set this option to trigger basic-auth pop-up on unauthorized requests::
-
-            [httpd]
-            WWW-Authenticate = Basic realm="Welcome to the Couch!"
-
     .. config:option:: max_http_request_size :: Maximum HTTP request body size
 
         .. versionchanged:: 2.1.0
@@ -683,9 +609,6 @@ The first rule passes the wildcard as `dbname`. The second one does the same,
 but uses a variable name. And the third one allows you to use any URL with
 `ddocname` in any database with `dbname`.
 
-You could also change the default function to handle request by changing the
-setting :option:`httpd/redirect_vhost_handler`.
-
 .. _xframe_options:
 .. _config/xframe_options:
 
diff --git a/src/config/index.rst b/src/config/index.rst
index fab14ce..7b5f1ba 100644
--- a/src/config/index.rst
+++ b/src/config/index.rst
@@ -31,6 +31,5 @@ Configuration
     logging
     replicator
     query-servers
-    services
     misc
     resharding
diff --git a/src/config/intro.rst b/src/config/intro.rst
index 2cf2ba2..bab3796 100644
--- a/src/config/intro.rst
+++ b/src/config/intro.rst
@@ -37,7 +37,7 @@ the ``default.ini`` and ``default.d`` directories, and
 the ``local.ini`` and ``local.d`` directories.
 
 Settings in successive documents override the settings in earlier entries.
-For example, setting the :option:`httpd/bind_address` parameter in
+For example, setting the :option:`chttpd/bind_address` parameter in
 ``local.ini`` would override any setting in ``default.ini``.
 
 .. warning::
@@ -146,9 +146,9 @@ The old parameter's value is returned in the response::
 
 You should be careful changing configuration via the HTTP API since it's
 possible  to make CouchDB unreachable, for example, by changing the
-:option:`httpd/bind_address`::
+:option:`chttpd/bind_address`::
 
-    curl -X PUT http://localhost:5984/_node/<na...@host>/_config/httpd/bind_address -d '"10.10.0.128"'
+    curl -X PUT http://localhost:5984/_node/<na...@host>/_config/chttpd/bind_address -d '"10.10.0.128"'
 
 If you make a typo or the specified IP address is not available from your
 network, CouchDB will be unreachable. The only way to resolve this will be
diff --git a/src/config/services.rst b/src/config/services.rst
deleted file mode 100644
index 100bcd4..0000000
--- a/src/config/services.rst
+++ /dev/null
@@ -1,101 +0,0 @@
-.. 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.
-
-.. highlight:: ini
-
-=========================
-CouchDB Internal Services
-=========================
-
-.. _config/daemons:
-
-CouchDB Daemonized Mini Apps
-============================
-
-.. config:section:: daemons :: CouchDB Daemonized Mini Apps
-
-    .. config:option:: auth_cache
-
-        This daemon provides authentication caching to avoid repeated opening
-        and closing of the `_users` database for each request requiring
-        authentication::
-
-            [daemons]
-            auth_cache={couch_auth_cache, start_link, []}
-
-    .. config:option:: external_manager
-
-        `External` processes manager::
-
-            [daemons]
-            external_manager={couch_external_manager, start_link, []}
-
-    .. config:option:: httpd
-
-        Node-local HTTP server daemon (default port: `5986`)::
-
-            [daemons]
-            httpd={couch_httpd, start_link, []}
-
-    .. config:option:: index_server
-
-        The `couch_index` application is responsible for managing all of the
-        different types of indexers. This manages the process handling for
-        keeping track of the index state as well as managing the updater and
-        compactor handling::
-
-            [daemons]
-            index_server={couch_index_server, start_link, []}
-
-    .. config:option:: query_servers
-
-        :ref:`Query servers <config/query_servers>` manager::
-
-            [daemons]
-            query_servers={couch_query_servers, start_link, []}
-
-    .. config:option:: replicator_manager
-
-        Replications manager::
-
-            [daemons]
-            replicator_manager={couch_replicator_manager, start_link, []}
-
-    .. config:option:: stats_aggregator
-
-        Runtime statistics aggregator::
-
-            [daemons]
-            stats_aggregator={couch_stats_aggregator, start, []}
-
-    .. config:option:: stats_collector
-
-        Runtime statistics collector::
-
-            [daemons]
-            stats_collector={couch_stats_collector, start, []}
-
-    .. config:option:: uuids
-
-        :ref:`UUIDs <config/uuids>` generator daemon::
-
-            [daemons]
-            uuids={couch_uuids, start, []}
-
-    .. config:option:: vhosts
-
-        :ref:`Virtual hosts <config/vhosts>` manager. Provides dynamic add of
-        vhosts without restart, wildcards support and dynamic routing via
-        pattern matching ::
-
-            [daemons]
-            vhosts={couch_httpd_vhost, start_link, []}
diff --git a/src/setup/cluster.rst b/src/setup/cluster.rst
index 2cb0a43..438799f 100644
--- a/src/setup/cluster.rst
+++ b/src/setup/cluster.rst
@@ -31,10 +31,6 @@ CouchDB uses the following ports:
 |             |          | default ``localhost`` | port for all HTTP    |
 |             |          |                       | API requests         |
 +-------------+----------+-----------------------+----------------------+
-| 5986        | tcp      | ``localhost`` or      | Administrative tasks |
-|             |          | private network       | such as node and     |
-|             |          | **ONLY**              | shard management     |
-+-------------+----------+-----------------------+----------------------+
 | 4369        | tcp      | All interfaces        | Erlang port mapper   |
 |             |          | by default            | daemon (epmd)        |
 +-------------+----------+-----------------------+----------------------+
@@ -44,17 +40,10 @@ CouchDB uses the following ports:
 +-------------+----------+-----------------------+----------------------+
 
 CouchDB in clustered mode uses the port ``5984``, just as in a standalone
-configuration, but it also uses ``5986`` for node-local APIs. These APIs are
-administrative tools only, such as node and shard management. Do not use
-port ``5986`` for any other reason. The port is slated to be deprecated in a
-future CouchDB release.
-
-.. warning::
-    **Never expose the node-local port to the public Internet.**
-
-    By default, CouchDB only exposes port ``5986`` **only** on localhost.
-    If you have a secondary network connection on nodes for management purposes
-    only, it is acceptable to expose the port on that network as well.
+configuration. Port ``5986``, previously used in CouchDB 2.x, has been removed
+in CouchDB 3.0. All endpoints previously accessible at that port are now
+available under the ``/_node/{node-name}/...`` hierarchy via the primary ``5984``
+port.
 
 CouchDB uses Erlang-native clustering functionality to achieve a clustered
 installation.  Erlang uses TCP port ``4369`` (EPMD) to find other nodes, so all
diff --git a/src/whatsnew/0.11.rst b/src/whatsnew/0.11.rst
index ae01dd9..74bf784 100644
--- a/src/whatsnew/0.11.rst
+++ b/src/whatsnew/0.11.rst
@@ -90,7 +90,7 @@ WWW-Authenticate
 
 The default configuration has been changed to avoid causing basic-auth popups
 which result from sending the WWW-Authenticate header. To enable basic-auth
-popups, uncomment the :config:option:`httpd/WWW-Authenticate` line in
+popups, uncomment the config option ``httpd/WWW-Authenticate`` line in
 `local.ini`.
 
 Query server line protocol
diff --git a/src/whatsnew/3.0.rst b/src/whatsnew/3.0.rst
index 08467fb..55d1bc7 100644
--- a/src/whatsnew/3.0.rst
+++ b/src/whatsnew/3.0.rst
@@ -47,16 +47,18 @@ Upgrade Notes
 
     GET /_node/{nodename}/_stats
     GET /_node/{nodename}/_system
-    GET /_node/{nodename}/_restart
     GET /_node/{nodename}/_all_dbs
     GET /_node/{nodename}/_uuids
     GET /_node/{nodename}/_config
     GET /_node/{nodename}/_config/couchdb/uuid
     GET /_node/{nodename}/_nodes/_changes?include_docs=true
-    GET /_node/{nodename}/{db}/{ddoc}/_info
     PUT /_node/{nodename}/_dbs/{dbname}
+    POST /_node/{nodename}/_restart
+    GET /_node/{nodename}/{db-shard}
+    GET /_node/{nodename}/{db-shard}/{doc}
+    GET /_node/{nodename}/{db-shard}/{ddoc}/_info
 
-  ...and so on. Documentation has been updated to reflect this change. **[TODO]**
+  ...and so on. Documentation has been updated to reflect this change.
 
 * :ghissue:`2389`: CouchDB 3.0 now requires a server admin user to be defined at
   startup, or will print an error message and exit. (The Admin Party is now over.)