feat(region for s3 storage): added configurable region of s3 storage.

This commit is contained in:
Serhii Ilin 2024-07-03 14:17:17 +03:00
parent 9019f7e9c8
commit 61c700577b
5 changed files with 12 additions and 1 deletions

View file

@ -307,6 +307,9 @@ archive_cache.objectstore.key = key
; secret for s3 auth
archive_cache.objectstore.secret = secret
;region for s3 storage
archive_cache.objectstore.region = eu-central-1
; number of sharded buckets to create to distribute archives across
; default is 8 shards
archive_cache.objectstore.bucket_shards = 8

View file

@ -275,6 +275,9 @@ archive_cache.objectstore.key = key
; secret for s3 auth
archive_cache.objectstore.secret = secret
;region for s3 storage
archive_cache.objectstore.region = eu-central-1
; number of sharded buckets to create to distribute archives across
; default is 8 shards
archive_cache.objectstore.bucket_shards = 8

View file

@ -204,6 +204,7 @@ def sanitize_settings_and_apply_defaults(global_config, settings):
settings_maker.make_setting('archive_cache.objectstore.url', jn(default_cache_dir, 'archive_cache'), default_when_empty=True,)
settings_maker.make_setting('archive_cache.objectstore.key', '')
settings_maker.make_setting('archive_cache.objectstore.secret', '')
settings_maker.make_setting('archive_cache.objectstore.region', 'eu-central-1')
settings_maker.make_setting('archive_cache.objectstore.bucket', 'rhodecode-archive-cache', default_when_empty=True,)
settings_maker.make_setting('archive_cache.objectstore.bucket_shards', 8, parser='int')

View file

@ -142,10 +142,11 @@ class ObjectStoreCache(BaseCache):
endpoint_url = settings.pop('archive_cache.objectstore.url')
key = settings.pop('archive_cache.objectstore.key')
secret = settings.pop('archive_cache.objectstore.secret')
region = settings.pop('archive_cache.objectstore.region')
log.debug('Initializing %s archival cache instance', self)
fs = fsspec.filesystem('s3', anon=False, endpoint_url=endpoint_url, key=key, secret=secret)
fs = fsspec.filesystem('s3', anon=False, endpoint_url=endpoint_url, key=key, secret=secret, region=region)
# init main bucket
if not fs.exists(self._bucket):

View file

@ -275,6 +275,9 @@ archive_cache.objectstore.key = key
; secret for s3 auth
archive_cache.objectstore.secret = secret
;region for s3 storage
archive_cache.objectstore.region = eu-central-1
; number of sharded buckets to create to distribute archives across
; default is 8 shards
archive_cache.objectstore.bucket_shards = 8