src/Listener/IntegrationModuleListener.php
public function rebuildServiceModulesConfigs(
        IntegrationModuleInterface $integrationModule,
        ModuleManagerInterface $moduleManager,
        ConfigMergerInterface $configListener
    ) {
        $serviceModules = $integrationModule->getServiceModules();

        $loadedModules = $moduleManager->getLoadedModules(false);

        $appConfig = $configListener->getMergedConfig(false);

        $commonModuleOptions = $this->getCommonModuleOptionsByIntegrationModule($integrationModule, $configListener);
        foreach ($serviceModules as $moduleName) {
            if (!array_key_exists($moduleName, $loadedModules)) {
                continue;
            }
            $module = $loadedModules[$moduleName];

            if (!$module instanceof ModuleConfigKeyProviderInterface) {
                continue;
            }

            $moduleConfigKey = $module->getModuleConfigKey();

            $moduleConfig = array_key_exists($moduleConfigKey, $appConfig) ? $appConfig[$moduleConfigKey] : [];

            $newModuleConfig = ArrayUtils::merge($moduleConfig, $commonModuleOptions);

            $appConfig[$moduleConfigKey] = $newModuleConfig;
        }

        $configListener->setMergedConfig($appConfig);
    }
public function rebuildServiceModulesConfigs(
        IntegrationModuleInterface $integrationModule,
        ModuleManagerInterface $moduleManager,
        ConfigMergerInterface $configListener
    ) {
        $serviceModules = $integrationModule->getServiceModules();

        $loadedModules = $moduleManager->getLoadedModules(false);

        $appConfig = $configListener->getMergedConfig(false);

        $commonModuleOptions = $this->getCommonModuleOptionsByIntegrationModule($integrationModule, $configListener);
        foreach ($serviceModules as $moduleName) {
            if (!array_key_exists($moduleName, $loadedModules)) {
                continue;
            }
            $module = $loadedModules[$moduleName];

            if (!$module instanceof ModuleConfigKeyProviderInterface) {
                continue;
            }

            $moduleConfigKey = $module->getModuleConfigKey();

            $moduleConfig = array_key_exists($moduleConfigKey, $appConfig) ? $appConfig[$moduleConfigKey] : [];

            $newModuleConfig = ArrayUtils::merge($moduleConfig, $commonModuleOptions);

            $appConfig[$moduleConfigKey] = $newModuleConfig;
        }

        $configListener->setMergedConfig($appConfig);
    }
Применяет настройки определенные в интеграционном модуле, для модулей сервиса

@param IntegrationModuleInterface $integrationModule
@param ModuleManagerInterface     $moduleManager
@param ConfigMergerInterface      $configListener