Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Config Enforce

23 sites Security covered
View on drupal.org

Config Enforce prevents specific configuration from being changed in production environments. It can make configuration forms read-only, block new configuration from being saved, or regularly re-import configuration from the codebase.

Config Enforce ensures that specified configuration cannot be changed in production environments. See the article Introducing Config Enforce.

How it works

The related Config Enforce Devel module provides a convenient UI to specify for each config object on the site whether and how strictly to enforce its configuration, as well as streamlining the writing of config YAML files to the codebase.

Once enforced configuration is deployed to a production codebase, Config Enforce will, depending on the level of enforcement:

  • Make specified config forms read-only.
  • Interrupt the writing of new config to the database.
  • Regularly re-import config from disk.

Installation

Please note:You will need to enable-patching in your root composer.json in order for Config Enforce to work correctly. See the docs site for more details.

composer config extra.enable-patching "true"
composer require drupal/config_enforce
composer require --dev drupal/config_enforce_devel

Background

As Drupal has evolved into an web application development framework, we've seen an ecosystem of configuration management tools and techniques evolve along with it. With dev-stage-prod development practices becoming common-place, the challenges of reliably deploying and applying new or changed configuration has become increasingly complex.

Configuration stored in a production site's database is traditionally considered canonical. We believe that much of this complexity is (at least partially) due to trying to accommodate config drift in production environments.

In order to make Drupal better-suited to SaaS application development, this project intends to flip that paradigm, and instead treat config files as canonical, and treat database storage as essentially a cache.

This project is in active development. Contributions of all sort are welcome, be they documentation, reporting bugs, code and security reviews, automated tests, and so on. If you'd like to help out or see what we're planning, head to #3305516: Config Enforce roadmap

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
6
Tracked since
Oct 2025
Latest release
6 months ago
Releases (12 mo)
6 ▲ from 0
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
2.0.0-beta0 Pre-release 10–11 Feb 24, 2026
2.0.0-alpha5 Pre-release 10–11 Nov 28, 2025
2.0.0-alpha4 Pre-release 10–11 Nov 20, 2025
2.0.0-alpha3 Pre-release 10–11 Nov 11, 2025
2.0.0-alpha2 Pre-release 10–11 Nov 5, 2025
2.0.0-alpha1 Pre-release 10–11 Oct 31, 2025