This project is not covered by Drupal’s security advisory policy.

Configuration Management can get complex when evaluating configuration across different targets. A target is defined in settings.php and has an associated directory.

Some targets may contain a full config export, while others only have partial configuration sets. Partial configuration is perfect for maintaining a small subset of configuration that can be maintained for specific conditions. Such conditions may include multisite, environment-specific config, or development specific config.

The current convention is maintaining a global config (typically in the default sync target) with one or more conditional overrides. This is mirrored by the associating drush commands, in which a full import from a target would be followed by a partial import from one or more secondary targets.

Such a workflow presents challenges with respect to the sequential import operations. A site that maintains content likely has dependent configuration. Such configuration may exist in a primary or secondary target. In the case that the content relies on configuration not found in the primary target (full import), the changelog will remove config found only in secondary targets.

The purpose of this project is to provide a configuration processor that builds config targets. The above problem is solved by specifying (in order) the configuration targets that could be combined to build an accurate configuration target. Since this is one target, the full import will be respected and respect any secondary config overrides.

This operation also affords an opportunity to override behaviors as these configuration targets are being built. The module ships with a "processor" plugin system to allow any other module to configure their own overrides.

Usage

drush config-processor sync,test test2

This processes the sync and test directories and stores it into the test2 directory.

drush cproc sync,debugging,testing development

This processes the sync, debugging, and testing directories and stores it into the development directory.

Supporting organizations: 
Ideation, Development, Support

Project information

Releases