Plug-ins
--------
-Dashboard Plug-ins allow to extend the functionality of the dashboard in a modular
-and loosely coupled approach.
+Dashboard Plug-ins extend the functionality of the dashboard in a modular
+and loosely coupled fashion.
.. include:: dashboard_plugins/feature_toggles.inc.rst
+.. include:: dashboard_plugins/debug.inc.rst
--- /dev/null
+.. _dashboard-debug:
+
+Debug
+^^^^^
+
+This plugin allows to customize the behaviour of the dashboard according to the
+debug mode. It can be enabled, disabled or checked with the following command::
+
+ $ ceph dashboard debug status
+ Debug: 'disabled'
+ $ ceph dashboard debug enable
+ Debug: 'enabled'
+ $ ceph dashboard debug disable
+ Debug: 'disabled'
+
+By default, it's disabled. This is the recommended setting for production
+deployments. If required, debug mode can be enabled without need of restarting.
+Currently, disabled debug mode equals to CherryPy ``production`` environment,
+while when enabled, it uses ``test_suite`` defaults (please refer to
+`CherryPy Environments
+<https://docs.cherrypy.org/en/latest/config.html#environments>`_ for more
+details).
+
+It also adds request uuid (``unique_id``) to Cherrypy on versions that don't
+support this. It additionally prints the ``unique_id`` to error responses and
+log messages.
- ``FilterRequest.BeforeHandler``: requires overriding
``filter_request_before_handler()`` hook. This method receives a
``cherrypy.request`` object for processing. A usual implementation of this
- method will allow some requests to pass or will raise a ``cherrypy.HTTPError`
+ method will allow some requests to pass or will raise a ``cherrypy.HTTPError``
based on the ``request`` metadata and other conditions.
New interfaces and hooks should be added as soon as they are required to