Subtitle
Add speaker name here
Title slide Subtitle Add speaker name here Title slide Drupal - - PowerPoint PPT Presentation
Title slide Subtitle Add speaker name here Title slide Drupal Core Auto-Update Architecture Subtitle Peter Wolanin David Strauss Add speaker name here Mike Baynton Background Drupal Core has no way to update itself, automatically or
Subtitle
Add speaker name here
Subtitle
Add speaker name here
Subtitle
Add speaker name here
attendance. ○ Site operators must decide on an approach using some third-party tool
Subtitle
Add speaker name here
○ Initially sparse on architectural approaches
1 https://www.drupal.org/project/ideas/issues/2940731 2 https://events.drupal.org/nashville2018/sessions/drupal-core-auto-update-architecture
Subtitle
Add speaker name here
○ Three parallel efforts in mid/long-term track ○ Preparatory UI & UX tasks also identified
○ Sponsored by The European Commission1 ○ Ran RFP and selected Tag1 Consulting ○ Preparatory task development in-progress
1 https://www.drupal.org/european-commission
Subtitle
Add speaker name here
○ https://www.drupal.org/project/core_update
○ php-rot: amortizes the work of converging a source tree to a lockfile-defined state, isolates active vs. writable partitions (David Strauss) 1 ○ Request filtering for highly critical security issues (Axel Rutz, Miro Dietiker) 2 ○ Opcache-aware digital signature verification during autoloading3, Composer memory reduction4 (Mike Baynton)
3 https://github.com/curator-wik/composer-signature-verified-autoloader 4 https://github.com/composer/composer/pull/8053 1 https://github.com/php-rot/rot 2 https://www.drupal.org/project/drupal/issues/2999453
Subtitle
Add speaker name here
○ Foundational Support in the (relatively) short term ○ Three parallel efforts in a mid/long term track
Subtitle
Add speaker name here
Foundational Support in the (relatively) short term:
PSAs are available. ○ In progress
updated safely ○ In planning, development starting late April
○ In planning, development mid June through November
Subtitle
Add speaker name here
Three parallel efforts mid/long term
by making Update Manager able to update D7 core
Composerized management of the codebase.
installer and a small immutable “bootloader.”
Subtitle
Add speaker name here
How about we drop this? The roadmap looks more achievable that way.
Three parallel efforts mid/long term
by making Update Manager able to update D7 core
Composerized management of the codebase.
installer and a small immutable “bootloader.”
Subtitle
Add speaker name here
dependency to continued progress on automatic updates. How about we refocus our immediate efforts on delivering a minimum viable product.
Three parallel efforts mid/long term
by making Update Manager able to update D7 core
support Composerized management
installer and a small immutable “bootloader.”
Subtitle
Add speaker name here
codebase & may compensate for decreased security of writable files.
when comprehensive Composer support is added. Recommendation: Reformulate the roadmap and add a deliverable after this stage
Three parallel efforts mid/long term
by making Update Manager able to update D7 core
installer and a small immutable “bootloader.”
Composerized management of the codebase.
Subtitle
Add speaker name here
Sponsored Development
installer and a small immutable “bootloader.”
Composerized management of the codebase.
to 7 Core
1 https://www.drupal.org/project/automatic_updates/issues/3043235
by making Update Manager able to update D7 core
Subtitle
Add speaker name here
Active/Inactive codebase, bootloader Won’t support Composer ➲ Funded effort ➲ Likely last part backported to D7 Evolution of in-place updates ➲ Gently introduce the bootloader model & signing ➲ Basic “smoke test” of new version before going live ➲ Rely on symlinks at this stage to defer complications with serving static files In-place Automatic Updates
Subtitle
Add speaker name here
Strive to support any code update ➲ Need Composer solver to fit in web contexts ➲ Try to retain Composer plugin support Full Composer support With simple vendored updates ➲ composer.lock updated ➲ Composer used to make new autoloader ➲ Move active asset files into docroot to stop requiring symlinks Partial Composer support
Subtitle
Add speaker name here
Subtitle
Add speaker name here
|-- current -> a |-- html | |-- index.php (the bootloader) | |-- autoload.php | |-- core -> ../current/core | |-- sites | |-- modules/custom/ | |-- modules/contrib -> ../current/modules | |-- themes/custom/ | |-- themes/contrib -> ../current/themes |-- a | |-- core | |-- index.php | |-- modules (contrib) | |-- themes (contrib) | |-- vendor | `-- [...] |-- b | |-- (same as a) |-- composer.json |-- composer.lock
active ○ Used directly for served web assets
./current ○ Uploaded files remain
○ https://github.com/mbaynton/drupal-project-ab.git
Subtitle
Add speaker name here
Out:
PHP files
deployments In:
○ When backwards-compatible without dependency changes. ○ Directly update code & composer.lock, dump new autoloader with Composer.
○ Part of immutable “bootloader” ○ Drupal Core files protected from tampering by verifying digital signatures.
Subtitle
Add speaker name here
Kick the tires now on
queue 1
module 3
○ d.o/project/ideas/issues/2940731 ○ #autoupdates on Slack, monthly meetings first Thursday at 3PM Central ○ And this week in Seattle!
1 https://www.drupal.org/project/issues/automatic_updates?status=8 2 http://github.com/mbaynton/drupal-project-ab 3 https://www.drupal.org/project/core_update/ 4 https://www.drupal.org/project/automatic_updates/issues/3043521
Subtitle
Add speaker name here
Subtitle
Add speaker name here
http://vuln.rocks/crackdru
Subtitle
Add speaker name here
http://vuln.rocks/crackdru
Locate this session at the DrupalCon Seattle website:
Take the Survey! https://www.surveymonkey.com/r/DrupalConSeattle