- Breaking Changes
- Drupal 7 Chart has been removed
- The _helpers.tpl has been leveraged more to reduce duplication
- Switches to leverage an unprivileged nginx execution
- Regular Changes
- Varnish chart now exists inside this repository
- All charts have been moved under the charts folder
- Network Policies have been added
- Chart has been tested against an OpenShift deployment model
Upgrade Path:
The best way for this is to simply run helm template, store the rendered manifests in git then run helm template again on the main branch of the repo and compare the output.
git checkout --branch master https://github.com/drupalwxt/helm-drupal
cd helm-drupal/drupal
helm template . -f values-override.yaml --output-dir ../tpl/override
cd ../tpl/override && git init && git add . && git commit -m "feat(initial): Initial commit"
cd ../../
git checkout main
cd charts/drupal
helm template . -f values-override.yaml --output-dir ../../tpl/override
- Enable all of the WxT extension modules for default site install (drupal.extensions.enabled)
- Removed extra
values-<type>.yaml
files - The
azureFile
andsharedDisk
spec have been moved to underazure
- The storage class has been renamed and is now guarded via the
storageClass.create
flag - Both public and private sections now have both a
spec
andmountOptions
spec added to them - New flag added to both
azureFile
andsharedDisk
called disablePVCreation - The following highlights how the new spec looks for both
azureFile
andsharedDisk
as they are identical
azure:
storageClass:
create: false
# Azure File logic
azureFile:
enabled: false
# Uncomment next line if you want to disable specifying a volume name on the public and private PVCs
# disableVolumeName: true
# Uncomment next line if you want to disable the manual creation of PV and let the PVC handle it automatically
# disablePVCreation: true
initMediaIconsFolder: true
annotations: {}
accessMode: ReadWriteMany
size: 256Gi
# storageClass: "-"
public:
spec: {}
# azureFile:
# secretName: drupal-storage
# shareName: drupal-public
# secretNamespace: ""
# readOnly: false
# csi:
# volumeHandle: ""
# volumeAttributes:
# resourceGroup: ""
# storageAccount: ""
# shareName: public
# protocol: nfs
# mountOptions:
# - dir_mode=0777
# - file_mode=0777
# - uid=82
# - gid=82
# - mfsymlinks
# - nobrl
# - cache=none
There are breaking changes in this release please use caution and carefully review the changes
In particular please pay attention to the renamed values and the storage class name being changed which will cause a delete / re-create to happen.
You are strongly advised to use a command similar to the following to preview your manifests ahead of time.
helm template . -f values-override.yaml --output-dir ../tpl
- Added HPA's for both Nginx and PHP-FPM
- Made the config_sync_directory configurable
- Switch to Bitnami's MySQL Helm Chart
In general you should only be using the containerized database installs for testing and development and should be using a managed db solution.
However if you were using a containerized installation this is a breaking change and you will need to backup your database and then restore it into the newly created database.
As a result of this change the MySQL chart is now a statefulset and as such the PVCs are not cleaned up automatically for you and will need to be deleted prior.
- Updated Bitnami's PostgreSQL Helm Chart
- Removed lightningUpdate command
- Fixed missing guard for wxtUpdate
- Upgrade Redis subchart to 16.13.2
- WxT update scripts are now guarded and opt-in
If you want to similar behavior to earlier releases where WxT updates are automatically run for you simply set the following.
drupal:
lightningUpdate: true
wxtUpdate: true
- Add functionality to disable volume name
- Upgrade Redis subchart to 15.7.4
If you receive an error failing to update the
master
statefulset, run:kubectl delete statefulset $release-redis-master
to remove it and then re-run yourhelm upgrade
command.Also note that the replicas have been renamed from
slave
toreplicas
, and therefore new Redis disks will be provisioned. You may wish to delete the old ones after the upgrade.
- Updated extension logic, which requires WxT 4.0.7 or newer
- Added Redis sentinel
- Remove MinIO
- Added support for ProxySQL
- Added support for PGBouncer
- Updated Architectural Diagram
- Added custom mount options support for Azure Files
- Added custom php.ini mount
- Added support for Azure Shared Disk
- Added Redis integration
- Added Varnish integration
- Disabled MinIO installation default
- Default installation will set theme to GCWeb variant and provide default content
- Default installation will need to be customized by end-user for stateful assets to work
- Provided example of how to use Kind for local development