Utilize Configuration XML in Magento 2

customer-module-etc-directory

 

module.xml
This is the only required configuration file. It specifies the current module’s version and the module loading order.

Example: vendor/magento/module-catalog/etc/module.xml

acl.xml
This defines the permissions for accessing protected resources.

Example: vendor/magento/module-catalog/etc/acl.xml

config.xml
This loads in default configuration in to Store > Configuration. This is also where configuration entries can be marked as encrypted (password).

Example: vendor/magento/module-fedex/etc/config.xml

crontab.xml
This identifies actions that are to occur on a schedule.

Example: vendor/magento/module-catalog/etc/crontab.xml

di.xml
This configures dependency injection for your module. This is perhaps the most frequently used file when customizing Magento. Here plugins are defined, class substitutions performed, concrete classes are specified for interfaces, virtual types setup, and constructor arguments can be specified or modified. It is very important to familiarize yourself with the capabilities of this file.

Example: vendor/magento/module-catalog/etc/di.xml

email_templates.xml
Specifies email templates that are used in Magento. The template id is the concatenated XML-style path to where in system configuration template is specified.

Example: vendor/magento/module-customer/etc/email_templates.xml

events.xml
This file registers event listeners. This file can often be put into a specific area.

Example: vendor/magento/module-catalog/etc/frontend/events.xml

indexer.xml
Configures Magento indexers.

Example: vendor/magento/module-catalog/etc/indexer.xml

adminhtml/menu.xml
Configures the menu in the adminhtml area.

Example: vendor/magento/module-customer/etc/adminhtml/menu.xml

mview.xml
Triggers a type of event when data is modified in a database column (materialized views). This is most often used for indexing.

Example: vendor/magento/module-catalog/etc/mview.xml

[area]/routes.xml
Tells Magento that this area accepts web requests. The route node configures the first part of the layout handle (route ID) and the front name (first segment in the URL after the domain name).

Example : vendor/magento/module-customer/etc/frontend/routes.xml

adminhtml/system.xml
Specifies configuration tabs, sections, groups and fields found in Store Configuration.

Example: vendor/magento/module-customer/etc/adminhtml/system.xml

view.xml
Similar to config.xml but used for specifying default values for design configuration.

Example: vendor/magento/theme-frontend-luma/etc/view.xml

webapi.xml
Configures API access and routes.

Example: vendor/magento/module-catalog/etc/webapi.xml

widget.xml
Configures widgets to be used in products, CMS pages, and CMS blocks.

Example: vendor/magento/module-catalog/etc/widget.xml

Source : SwiftOtter