feat(archive-cache): implemented s3 based backend for filecaches

This commit is contained in:
RhodeCode Admin 2024-06-13 21:29:37 +02:00
parent b44b38740b
commit 984a9a564f
22 changed files with 1209 additions and 589 deletions

View file

@ -258,19 +258,41 @@ file_store.backend = local
; path to store the uploaded binaries and artifacts
file_store.storage_path = /var/opt/rhodecode_data/file_store
; Uncomment and set this path to control settings for archive download cache.
; Generated repo archives will be cached at this location
; and served from the cache during subsequent requests for the same archive of
; the repository. This path is important to be shared across filesystems and with
; RhodeCode and vcsserver
; Redis url to acquire/check generation of archives locks
archive_cache.locking.url = redis://redis:6379/1
; Storage backend, only 'filesystem' is available now
; Storage backend, only 'filesystem' and 'objectstore' are available now
archive_cache.backend.type = filesystem
; url for s3 compatible storage that allows to upload artifacts
; e.g http://minio:9000
archive_cache.objectstore.url = http://s3-minio:9000
; key for s3 auth
archive_cache.objectstore.key = key
; secret for s3 auth
archive_cache.objectstore.secret = secret
; number of sharded buckets to create to distribute archives across
; default is 8 shards
archive_cache.objectstore.bucket_shards = 8
; if true, this cache will try to retry with retry_attempts=N times waiting retry_backoff time
archive_cache.objectstore.retry = false
; number of seconds to wait for next try using retry
archive_cache.objectstore.retry_backoff = 1
; how many tries do do a retry fetch from this backend
archive_cache.objectstore.retry_attempts = 10
; Default is $cache_dir/archive_cache if not set
; Generated repo archives will be cached at this location
; and served from the cache during subsequent requests for the same archive of
; the repository. This path is important to be shared across filesystems and with
; RhodeCode and vcsserver
archive_cache.filesystem.store_dir = /var/opt/rhodecode_data/archive_cache
; The limit in GB sets how much data we cache before recycling last used, defaults to 10 gb
@ -280,8 +302,18 @@ archive_cache.filesystem.cache_size_gb = 40
archive_cache.filesystem.eviction_policy = least-recently-stored
; By default cache uses sharding technique, this specifies how many shards are there
; default is 8 shards
archive_cache.filesystem.cache_shards = 8
; if true, this cache will try to retry with retry_attempts=N times waiting retry_backoff time
archive_cache.filesystem.retry = false
; number of seconds to wait for next try using retry
archive_cache.filesystem.retry_backoff = 1
; how many tries do do a retry fetch from this backend
archive_cache.filesystem.retry_attempts = 10
; #############
; CELERY CONFIG