Because the Configuration Management (CM) system needs to be able to store anything that any contrib module might want to keep track of, the storage mechanism is a lot different from what you may have seen in Features.
Configuration values are stored in YAML
files. Each set of configuration values is stored in a separate file for each configuration object. This means each View, entity bundle, field, permission, and so on is in a separate file. This helps limit the risk of conflicts when merging configuration, as well as making it evident from the filename which configuration the values inside apply to.
All exportable configuration is defined by a schema. For example, basic information about the site, including the name, email address, slogan, and so on are exported to a system.site.yml
file. This is defined by system.schema.yml
in core/modules/system/config/schema
. It contains the definition of the exports, such as the following:
system.site:...