BASICS TRAINING Configuration Management February 18th, 2021 Presented by John E. Picozzi 1 // Configuration Management Basics Training

John E. Picozzi Account Manager 401-228-7660 [email protected] oomph.is/jpicozzi www.oomphinc.com Drupal Providence

WHAT IS CONFIGURATION? ” In Drupal, configuration is the collection of admin settings that determine how the site functions, as opposed to the content of the site. https://www.drupal.org/docs/8/configuration-management 3 // Configuration Management Basics Training

What is Configuration? 4 // Configuration Management Basics Training

CONFIGURATION VS. CONTENT Configuration Content Content types Nodes Taxonomy vocabulary Taxonomy terms Menus Menu links Blocks Block content Media types Media 5 // Configuration Management Basics Training

PANTHEON WORKFLOW Code Moves Up, Content Moves Down DEV https://pantheon.io/docs/pantheon-workflow/#code-moves-up-content-moves-down 6 // Configuration Management Basics Training TEST LIVE

OTHER TYPES OF CONFIGURATION

  • Fields (for entities) - Views - Display modes (for entities) - Image styles - Language settings - System settings - User roles - Module settings 7 // Configuration Management Basics Training

Where is Configuration Stored? 8 // Configuration Management Basics Training

CONFIGURATION Configuration Storage: Database ● Active configuration ● Stored in a relational database ● Changes applied immediately ● Benefits: ○ Performance ○ Security 9 // Configuration Management Basics Training

CONFIGURATION Configuration Storage: Filesystem ● Staged configuration ● Stored on the filesystem as YAML files ● Changes applied by export or import ● Benefits: ○ Portability ○ Security 10 // Configuration Management Basics Training

Configuration Manager 11 // Configuration Management Basics Training

CONFIGURATION MANAGER Configuration Manager ● Core module ● Import and export a single set of configuration to the filesystem ● ○ User Interface ○ Drush Install configuration from modules, profiles and themes ○ Required config ○ Optional config 12 // Configuration Management Basics Training

View Differences 13 // Configuration Management Basics Training

CONFIGURATION MANAGER Configuration Manager: Workflow The Configuration Management module offers a linear workflow where each environment shares the same set of configuration. LOCAL 14 // Configuration Management Basics Training DEV STAGE PROD

Configuration Split 15 // Configuration Management Basics Training

CONFIGURATION SPLIT Configuration Split ● Contributed module ● Import and export multiple sets (splits) of configuration to the filesystem ○ User Interface ○ Drush ● Enable/disable modules or themes for different environments ● Store different configuration values for different environments ○ Complete Split / Blacklist ○ Conditional Split / Graylist 16 // Configuration Management Basics Training

Complete Split 17 // Configuration Management Basics Training

Conditional Split 18 // Configuration Management Basics Training

CONFIGURATION SPLIT Configuration Split: Environment Workflow Creating configuration splits by environment allows developers to group sets of configuration that differ per environment (e.g. dev, test, prod). LOCAL 19 // Configuration Management Basics Training DEV STAGE PROD

CONFIGURATION SPLIT Configuration Split: Feature Workflow Creating configuration splits by features allows developers to turn individual features (e.g. modules) on and off no matter the context the site is running in. DEVEL 20 // Configuration Management Basics Training FASTLY SOLR REDIS

COMPARISON OF CONFIG DIRECTORIES Environment Splits 21 // Configuration Management Basics Training Feature Splits

COMPARISON OF SETTINGS FILES Environment Splits Feature Splits Note: Each config split is turned OFF by default, enabling splits are cleaner in settings.php 22 // Configuration Management Basics Training

Configuration Read-only 23 // Configuration Management Basics Training

CONFIGURATION READ-ONLY Configuration Read-only ● Contributed module ● Prevents administrators from editing active configuration through the User Interface ● Module can be enabled per environment with Configuration Split ● Warning: Have a solid continuous integration pipeline and testing procedures in place before enabling in a production environment. 24 // Configuration Management Basics Training

Config Ignore 25 // Configuration Management Basics Training

CONFIG IGNORE Config Ignore ● Contributed module ● Allows for defined config to be ignored by import and export ● Module can be enabled per environment with Configuration Split ● Compatibility with Config Read-only: You can use the Config Ignore Read-only module to automatically whitelist configuration forms that are ignored. 26 // Configuration Management Basics Training

If you have any questions feel free to contact us. /in/johnpicozzi @johnpicozzi John E. Picozzi Account Manager 401-228-7660 [email protected] oomph.is/jpicozzi www.oomphinc.com johnpicozzi