Description of the need

Running the brush cget *maintenance* command gives:

docker@cli:/var/www/docroot$ brush cget *maintenance*

System core settings (system.core.json)
+------------------------------+-----------------------------------------------------------------------------------------------------+
| Configuration key            | Value                                                                                               |
+------------------------------+-----------------------------------------------------------------------------------------------------+
| maintenance_mode_message     | [site:name] is currently under maintenance. We should be back shortly. Thank you for your patience. |
| maintenance_page_maximum_age | 10                                                                                                  |
| maintenance_theme            |                                                                                                     |
+------------------------------+-----------------------------------------------------------------------------------------------------+

which means the three keys found above reside in the system.core.json file as a configuration setting, while at the same time the maintenance_mode has been converted to a state setting and is stored in database.

This kind of separation of related settings creates dis-ambiguity for developers as they need to deal with two different storage types working with close related settings.

Proposed solution

Would be nice to either move all maintenance-related settings to State or maintenance_mode to Config and keep them together.

GitHub Issue #: 
4723