Provides various fixes to deal with Azure's NFS mount and an integration to Azure's Blob storage service using flysystem.
Azure's NFS file mount does not support certain file operations (such as chmod), causing any request that performs them to give a 5xx error, like when trying to generate an image style.
This module decorates core's file_system
service to skip unsupported file operations when the site is operating on Azure environment.
- PHP 8.1 or higher
Enable the module.
- Populate required environment variables:
AZURE_BLOB_STORAGE_CONTAINER: The container name
AZURE_BLOB_STORAGE_NAME: The blob storage name
BLOBSTORAGE_ACCOUNT_KEY: The blob storage secret
or if you're using SAS token authentication:
BLOBSTORAGE_SAS_TOKEN: The SAS token
AZURE_BLOB_STORAGE_NAME: The blob storage name
Add something like this to your local.settings.php
file:
$schemes = [
'azure' => [
'driver' => 'helfi_azure',
'config' => [
'name' => '[ insert account name here ]',
'token' => '[ insert sas token here ]',
'container' => '[ insert container name here ]',
'endpointSuffix' => 'core.windows.net',
'protocol' => 'https',
],
'cache' => TRUE,
],
];
$config['helfi_azure_fs.settings']['use_blob_storage'] = TRUE;
$settings['flysystem'] = $schemes;
$settings['is_azure'] = TRUE;
The correct values can be found by running printenv | grep BLOB
inside a OpenShift Drupal pod.
Slack: #helfi-drupal (http://helsinkicity.slack.com/)