In this chapter, we will explore the configuration management system and how to deploy configuration changes. Here is a list of the recipes covered in this chapter:
Drupal 8 provides a new, unified system for managing configurations. In Drupal 8, all configurations are saved in configuration entities that match a defined configuration schema. This system provides a standard way of deploying the configuration between Drupal site environments and updating the site configuration.
Once the configuration has been created, or imported, it goes into an immutable state. If a module tries to install the configuration that exists, it will throw an exception and be prevented. Outside the typical user interface, the configuration can only be modified through the configuration management system.
The configuration management system can be manipulated through a user interface provided by the Configuration management
module or through the command-line interface tools. These tools allow you to follow the development paradigm of utilizing a production site and development site where changes are made to the development site and then pushed to production.
Instead of creating two different Drupal sites for the recipes in this chapter, you can utilize the Drupal multisite functionality. For more information, refer to the Installing Drupal recipe of Chapter 1, Up and Running with Drupal 8. Note that if you use a multisite, you need to clone your development site's database into the site acting as your production site to replicate a realistic development and production site workflow.