MAKERS & BUILDERS - Managing a fleet of custom Drupal sites centrally at CERN

At CERN we create and maintain a custom distribution of Drupal.
This distribution is divided into the following components: A Composer project, a set of Docker images, CI (Gitlab Pipelines) and a set of operational scripts (bash). The Composer component of the distribution is based on Drupal core, community modules & custom modules necessary to integrate with CERN's ecosystem.

With Drupal, ""keeping up"" with latest versions is necessary for security, patches & various other reasons. It is challenging to maintain, deliver and couple our custom distribution with upstream versions, given the deprecations & breaking changes accompanied with newer Drupal versions. In order to mitigate the problem, we built an automation pipeline to build & test new versions & deploy through GitOps.

In this presentation, we give an overview of how we leverage our Custom distribution on our Kubernetes infrastructure & walk through each of the automation components roles, advantages, disadvantages? By the end of the presentation, we will demonstrate the distribution in action alongside the CI.

We conclude with the current state, next steps & a possible bonus of tips on what to try or not to try if one decides to go with a similar approach.

Note: All the work presented is open source and publicly accessible.
https://gitlab.cern.ch/drupal/paas/cern-drupal-distribution

Drupal is a registered trademark of Dries Buytaert.