Skip to content

Commit 9af921d

Browse files
committed
Internal: Add basic config to use AWS S3 as a filesystem
1 parent 8455c26 commit 9af921d

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed

.env.dist

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,24 @@ ADMIN_CHAMILO_ANNOUNCEMENTS_DISABLE='{{ADMIN_CHAMILO_ANNOUNCEMENTS_DISABLE}}'
100100
# AZURE_STORAGE_THEMES_CONTAINER='themes-container-name'
101101
# AZURE_STORAGE_THEMES_PREFIX='optional/prefix'
102102
###< azure blob storage as filesystem ###
103+
104+
###> aws s3 storage as filesystem ###
105+
# AWS_S3_STORAGE_VERSION='latest'
106+
# AWS_S3_STORAGE_REGION='region-id' # 'eu-central-1' for example
107+
# AWS_S3_STORAGE_ACCESS_KEY='s3-key'
108+
# AWS_S3_STORAGE_ACCESS_SECRET='s3-secret'
109+
# AWS_S3_STORAGE_ASSET_BUCKET='assets-bucket-name'
110+
# AWS_S3_STORAGE_ASSET_PREFIX='path/prefix' # Optional path prefix, you can set empty string
111+
# AWS_S3_STORAGE_ASSET_CACHE_BUCKET='asset-cache-bucket-name'
112+
# AWS_S3_STORAGE_ASSET_CACHE_PREFIX='path/prefix' # Optional path prefix, you can set empty string
113+
# AWS_S3_STORAGE_RESOURCE_BUCKET='resources-bucket-name'
114+
# AWS_S3_STORAGE_RESOURCE_PREFIX='path/prefix' # Optional path prefix, you can set empty string
115+
# AWS_S3_STORAGE_RESOURCE_CACHE_BUCKET='resource-cache-bucket-name'
116+
# AWS_S3_STORAGE_RESOURCE_CACHE_PREFIX='path/prefix' # Optional path prefix, you can set empty string
117+
# AWS_S3_STORAGE_THEMES_BUCKET='themes-bucket-name'
118+
# AWS_S3_STORAGE_THEMES_PREFIX='path/prefix' # Optional path prefix, you can set empty string
119+
###< aws s3 storage as filesystem ###
120+
103121
###> google cloud storage as filesystem ###
104122
# GOOGLE_STORAGE_CLOUD_PROJECT_ID=''
105123
# GOOGLE_STORAGE_KEY_FILE_PATH=%kernel.project_dir%/config/storage_keys/project-id-12345678.json

config/packages/oneup_flysystem.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,20 @@ oneup_flysystem:
1919
container: '%env(AZURE_STORAGE_ASSET_CACHE_CONTAINER)%'
2020
prefix: '%env(AZURE_STORAGE_ASSET_CACHE_PREFIX)%'
2121

22+
asset_awss3_adapter:
23+
awss3v3:
24+
client: chamilo.storage.awss3_client
25+
bucket: '%env(AWS_S3_STORAGE_ASSET_BUCKET)%'
26+
prefix: '%env(AWS_S3_STORAGE_ASSET_PREFIX)%'
27+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
28+
29+
asset_cache_awss3_adapter:
30+
awss3v3:
31+
client: chamilo.storage.awss3_client
32+
bucket: '%env(AWS_S3_STORAGE_ASSET_CACHE_BUCKET)%'
33+
prefix: '%env(AWS_S3_STORAGE_ASSET_CACHE_PREFIX)%'
34+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
35+
2236
asset_google_adapter:
2337
googlecloudstorage:
2438
client: 'Google\Cloud\Storage\StorageClient'
@@ -62,6 +76,20 @@ oneup_flysystem:
6276
bucket: '%env(GOOGLE_STORAGE_RESOURCE_CACHE_BUCKET)%'
6377
prefix: '%env(GOOGLE_STORAGE_RESOURCE_CACHE_PREFIX)%'
6478

79+
resource_awss3_adapter:
80+
awss3v3:
81+
client: chamilo.storage.awss3_client
82+
bucket: '%env(AWS_S3_STORAGE_RESOURCE_BUCKET)%'
83+
prefix: '%env(AWS_S3_STORAGE_RESOURCE_PREFIX)%'
84+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
85+
86+
resource_cache_awss3_adapter:
87+
awss3v3:
88+
client: chamilo.storage.awss3_client
89+
bucket: '%env(AWS_S3_STORAGE_RESOURCE_CACHE_BUCKET)%'
90+
prefix: '%env(AWS_S3_STORAGE_RESOURCE_CACHE_PREFIX)%'
91+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
92+
6593
themes_adapter:
6694
local:
6795
location: '%kernel.project_dir%/var/themes'
@@ -72,6 +100,13 @@ oneup_flysystem:
72100
container: '%env(AZURE_STORAGE_THEMES_CONTAINER)%'
73101
prefix: '%env(AZURE_STORAGE_THEMES_PREFIX)%'
74102

103+
themes_awss3_adapter:
104+
awss3v3:
105+
client: chamilo.storage.awss3_client
106+
bucket: '%env(AWS_S3_STORAGE_THEMES_BUCKET)%'
107+
prefix: '%env(AWS_S3_STORAGE_THEMES_PREFIX)%'
108+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
109+
75110
themes_google_adapter:
76111
googlecloudstorage:
77112
client: 'Google\Cloud\Storage\StorageClient'

config/services.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,18 @@ services:
133133
arguments:
134134
$pluginDir: '%kernel.project_dir%/public/plugin'
135135

136+
League\Flysystem\AwsS3V3\PortableVisibilityConverter: ~
137+
138+
chamilo.storage.awss3_client:
139+
class: Aws\S3\S3Client
140+
arguments:
141+
-
142+
version: '%env(AWS_S3_STORAGE_VERSION)%'
143+
region: '%env(AWS_S3_STORAGE_REGION)%'
144+
credentials:
145+
key: '%env(AWS_S3_STORAGE_ACCESS_KEY)%'
146+
secret: '%env(AWS_S3_STORAGE_ACCESS_SECRET)%'
147+
136148
Google\Cloud\Storage\StorageClient:
137149
arguments:
138150
$config:

0 commit comments

Comments
 (0)