Configuration Management A True Life Story Page 1 | Configuration Management: A True Life Story
A presentation at DrupalCon Seattle in April 2019 in Seattle, WA, USA by John Picozzi
Configuration Management A True Life Story Page 1 | Configuration Management: A True Life Story
John E. Picozzi Senior Drupal Architect Drupal Providence 401-228-7660 oomphinc.com 72 Clifford Street, oomph.is/jpicozzi Providence, RI 02903 [email protected] Page 2 | Configuration Management: A True Life Story
Nathan Dentzau Senior Developer Drupal Providence chromatichq.com chromatichq.com/users/nathan-dentzau [email protected] Page 3 | Configuration Management: A True Life Story
What is configuration? September 1, 2016 Page 4 | Configuration Management: A True Life Story
” 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 Page 5 | Configuration Management: A True Life Story
Configuration vs. Content Configuration Content Content types Nodes Taxonomy vocabulary Taxonomy terms Menus Menu links Blocks Block content Media types Media Page 6 | Configuration Management: A True Life Story
Pantheon Workflow https://pantheon.io/docs/pantheon-workflow/#code-moves-up-content-moves-down Page 7 | Configuration Management: A True Life Story
Other types of configuration ● Fields (for entities) ● Language settings ● Views ● System settings ● Display modes (for entities) ● User roles ● Image styles ● Module settings Page 8 | Configuration Management: A True Life Story
Where is configuration stored? Page 9 | Configuration Management: A True Life Story
Configuration Storage: Database ● Active configuration ● Stored in a relational database ● Changes applied immediately ● Benefits: ○ Performance ○ Security Page 10 | Configuration Management: A True Life Story
Configuration Storage: Filesystem ● Staged configuration ● Stored on the filesystem as YAML files ● Changes applied by export or import ● Benefits: ○ Portability ○ Security Page 11 | Configuration Management: A True Life Story
Configuration Manager September 1, 2016 Page 12 | Configuration Management: A True Life Story
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 Page 13 | Configuration Management: A True Life Story
View Differences Page 14 | Configuration Management: A True Life Story
Configuration Manager: Workflow The Configuration Management module offers a linear workflow where each environment shares the same set of configuration. CONFIG SYNC LOCAL Page 15 | Configuration Management: A True Life Story DEV STAGE PROD
Configuration Split September 1, 2016 Page 16 | Configuration Management: A True Life Story
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 Page 17 | Configuration Management: A True Life Story
Complete Split Page 18 | Configuration Management: A True Life Story
Conditional Split Page 19 | Configuration Management: A True Life Story
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). CONFIG SYNC LOCAL Page 20 | Configuration Management: A True Life Story DEV STAGE PROD
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. CONFIG SYNC DEVEL Page 21 | Configuration Management: A True Life Story FASTLY SOLR REDIS
Comparison of Config Directories Environment Splits Page 22 | Configuration Management: A True Life Story 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 Page 23 | Configuration Management: A True Life Story
Configuration Read-only September 1, 2016 Page 24 | Configuration Management: A True Life Story
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. Page 25 | Configuration Management: A True Life Story
Config Ignore September 1, 2016 Page 26 | Configuration Management: A True Life Story
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 Readonly: You can use the Config Ignore Read-only module to automatically whitelist configuration forms that are ignored. Page 27 | Configuration Management: A True Life Story
Thank You! Thank you for listening. If you have any questions feel free to contact us. nathandenzau /in/johnpicozzi @nathandentzau @johnpicozzi nathandentzau johnpicozzi SAY HELLO TO OUR TEAM AT BOOTH 516! chromatichq.com @chromatichq [email protected] oomphinc.com @oomphinc [email protected]
Join us for contribution opportunities Friday, April 12, 2019 Mentored Contribution 9:00-18:00 Room: 602 First Time Title Contributorslide Workshop Subtitle 9:00-12:00 Room: 606 #DrupalContributions Add speaker name here General Contribution 9:00-18:00 Room: 6A
What did you think? Locate this session at the DrupalCon Seattle website: http://seattle2019.drupal.org/schedule Take theslide Survey! Title https://www.surveymonkey.com/r/DrupalConSeattle Subtitle Add speaker name here