Skip to content

Commit

Permalink
endpoint configuration for s3 storage
Browse files Browse the repository at this point in the history
  • Loading branch information
michalpicpauer authored and jordisala1991 committed Aug 6, 2020
1 parent 320a478 commit c2ed47c
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
5 changes: 3 additions & 2 deletions docs/reference/amazon_s3.rst
Expand Up @@ -31,10 +31,11 @@ This is a sample config file to enable amazon S3 as a filesystem & provider:
accessKey: '%s3_access_key%'
secretKey: '%s3_secret_key%'
region: '%s3_region%'
version: '%s3_version%' # latest by default (cf. https://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html#version)
version: '%s3_version%' # latest by default (cf. https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html#cfg-version)
endpoint: '%s3_endpoint%' # null by default (cf. https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html#endpoint)
sdk_version: '%s3_sdk_version%' # 2 by default
.. note::
.. note::

This bundle is currently using KNP Gaufrette as S3 adapter and the default SDK used is version 2.
Changes have been made in the bundle to allow you to use version 3, update `sdk_version` parameter for this.
1 change: 1 addition & 0 deletions src/DependencyInjection/Configuration.php
Expand Up @@ -235,6 +235,7 @@ private function addFilesystemSection(ArrayNodeDefinition $node): void
->end()
->end()
->scalarNode('region')->defaultValue('s3.amazonaws.com')->end()
->scalarNode('endpoint')->defaultNull()->end()
->scalarNode('version')->defaultValue('latest')->end()
->enumNode('sdk_version')
->values([2, 3])
Expand Down
4 changes: 4 additions & 0 deletions src/DependencyInjection/SonataMediaExtension.php
Expand Up @@ -411,6 +411,10 @@ public function configureFilesystemAdapter(ContainerBuilder $container, array $c
'version' => $config['filesystem']['s3']['version'],
];

if (isset($config['filesystem']['s3']['endpoint'])) {
$arguments['endpoint'] = $config['filesystem']['s3']['endpoint'];
}

if (isset($config['filesystem']['s3']['secretKey'], $config['filesystem']['s3']['accessKey'])) {
$arguments['credentials'] = [
'secret' => $config['filesystem']['s3']['secretKey'],
Expand Down
2 changes: 2 additions & 0 deletions tests/DependencyInjection/SonataMediaExtensionTest.php
Expand Up @@ -242,6 +242,7 @@ public function dataFilesystemConfiguration(): array
'sdk_version' => 3,
'region' => 'region',
'version' => 'version',
'endpoint' => 'endpoint',
'secretKey' => 'secret',
'accessKey' => 'access',
],
Expand All @@ -250,6 +251,7 @@ public function dataFilesystemConfiguration(): array
[
'region' => 'region',
'version' => 'version',
'endpoint' => 'endpoint',
'credentials' => [
'secret' => 'secret',
'key' => 'access',
Expand Down

0 comments on commit c2ed47c

Please sign in to comment.