Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 293219

Config Environment module (core experimental)

$
0
0

Problem/Motivation

Provide a mechanism in core for handling configuration changes between different environments, such as Dev, Stage, Prod. For example, environments might have different API key configuration, different site names, or even different modules enabled (e.g. Devel in Dev only).

See #3033427: [plan] Add support for environment-specific configuration for details.

Remaining tasks

Implementation Tasks

  1. Agree on a scope for the new environment module and define what behaviour will be implemented at what stage along the way.
  2. Bring over the config_dev module code from the patches in #2991683: Add configuration transformer API as the start of config_environment.(done in comment #5)
  3. Determine how to handle config changes such as disabled modules, orphaned config.
  4. Determine how to support multiple config collections within the config/sync storage.
  5. Determine if environment config supports multiple translation config.
  6. Implement event listener plugin for ConfigTransform.(done in comment #5)
  7. Implement service for managing environments.
  8. Implement schema for environments.(done in comment #5)
  9. Implement UI for creating/updating environments.
  10. Implement UI for switching environments.
  11. Commit patch for experimental module to 8.7.x when the Config Transform API has been committed.

User interface changes

  • Add "Environment" tab to the Configuration Synchronization admin page.
  • Add UI for creating a new environment or updating an existing environment.
  • Add UI for switching the environment, previewing the stages config changes, and confirming the change.

API changes

  • config_environment service for create, get, set of Environment (config entities).
  • Config Transform API being added in other issue

Data model changes

  • Schema for environment config entities.
  • Current environment ID will be stored in the State system. (implementation detail of config_environment service)
  • Each environment corresponds to a new configuration "collection". When config is exported, the config/sync filestorage will show each environment as a subfolder within a "environments" folder, similar to how multilingual config collections are stored.

Viewing all articles
Browse latest Browse all 293219

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>