Skip to content

Commit ccd16e0

Browse files
committed
Internal: Add basic config to use AWS S3 as a filesystem
1 parent 7fdc8e3 commit ccd16e0

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_CLOUD_PROJECT_ID=''
105123
# GOOGLE_CLOUD_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
resource_adapter:
2337
local:
2438
location: '%kernel.project_dir%/var/upload/resource'
@@ -50,6 +64,20 @@ oneup_flysystem:
5064
bucket: '%env(GOOGLE_CLOUD_STORAGE_RESOURCE_CACHE_BUCKET)%'
5165
prefix: '%env(GOOGLE_CLOUD_STORAGE_PREFIX)%'
5266

67+
resource_awss3_adapter:
68+
awss3v3:
69+
client: chamilo.storage.awss3_client
70+
bucket: '%env(AWS_S3_STORAGE_RESOURCE_BUCKET)%'
71+
prefix: '%env(AWS_S3_STORAGE_RESOURCE_PREFIX)%'
72+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
73+
74+
resource_cache_awss3_adapter:
75+
awss3v3:
76+
client: chamilo.storage.awss3_client
77+
bucket: '%env(AWS_S3_STORAGE_RESOURCE_CACHE_BUCKET)%'
78+
prefix: '%env(AWS_S3_STORAGE_RESOURCE_CACHE_PREFIX)%'
79+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
80+
5381
themes_adapter:
5482
local:
5583
location: '%kernel.project_dir%/var/themes'
@@ -60,6 +88,13 @@ oneup_flysystem:
6088
container: '%env(AZURE_STORAGE_THEMES_CONTAINER)%'
6189
prefix: '%env(AZURE_STORAGE_THEMES_PREFIX)%'
6290

91+
themes_awss3_adapter:
92+
awss3v3:
93+
client: chamilo.storage.awss3_client
94+
bucket: '%env(AWS_S3_STORAGE_THEMES_BUCKET)%'
95+
prefix: '%env(AWS_S3_STORAGE_THEMES_PREFIX)%'
96+
visibilityConverter: League\Flysystem\AwsS3V3\PortableVisibilityConverter
97+
6398
filesystems:
6499
asset:
65100
adapter: asset_adapter

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)