feat(artifacts): new artifact storage engines allowing an s3 based uploads

This commit is contained in:
RhodeCode Admin 2024-08-28 23:56:59 +02:00
parent fead9d9aed
commit 90a1d3ca75
39 changed files with 1897 additions and 453 deletions

View file

@ -281,15 +281,56 @@ labs_settings_active = true
; optional prefix to Add to email Subject
#exception_tracker.email_prefix = [RHODECODE ERROR]
; File store configuration. This is used to store and serve uploaded files
file_store.enabled = true
; NOTE: this setting IS DEPRECATED:
; file_store backend is always enabled
#file_store.enabled = true
; NOTE: this setting IS DEPRECATED:
; file_store.backend = X -> use `file_store.backend.type = filesystem_v2` instead
; Storage backend, available options are: local
file_store.backend = local
#file_store.backend = local
; NOTE: this setting IS DEPRECATED:
; file_store.storage_path = X -> use `file_store.filesystem_v2.storage_path = X` instead
; path to store the uploaded binaries and artifacts
file_store.storage_path = /var/opt/rhodecode_data/file_store
#file_store.storage_path = /var/opt/rhodecode_data/file_store
; Artifacts file-store, is used to store comment attachments and artifacts uploads.
; file_store backend type: filesystem_v1, filesystem_v2 or objectstore (s3-based) are available as options
; filesystem_v1 is backwards compat with pre 5.1 storage changes
; new installations should choose filesystem_v2 or objectstore (s3-based), pick filesystem when migrating from
; previous installations to keep the artifacts without a need of migration
#file_store.backend.type = filesystem_v2
; filesystem options...
#file_store.filesystem_v1.storage_path = /var/opt/rhodecode_data/artifacts_file_store
; filesystem_v2 options...
#file_store.filesystem_v2.storage_path = /var/opt/rhodecode_data/artifacts_file_store
#file_store.filesystem_v2.shards = 8
; objectstore options...
; url for s3 compatible storage that allows to upload artifacts
; e.g http://minio:9000
#file_store.backend.type = objectstore
#file_store.objectstore.url = http://s3-minio:9000
; a top-level bucket to put all other shards in
; objects will be stored in rhodecode-file-store/shard-N based on the bucket_shards number
#file_store.objectstore.bucket = rhodecode-file-store
; number of sharded buckets to create to distribute archives across
; default is 8 shards
#file_store.objectstore.bucket_shards = 8
; key for s3 auth
#file_store.objectstore.key = s3admin
; secret for s3 auth
#file_store.objectstore.secret = s3secret4
;region for s3 storage
#file_store.objectstore.region = eu-central-1
; Redis url to acquire/check generation of archives locks
archive_cache.locking.url = redis://redis:6379/1

View file

@ -249,15 +249,56 @@ labs_settings_active = true
; optional prefix to Add to email Subject
#exception_tracker.email_prefix = [RHODECODE ERROR]
; File store configuration. This is used to store and serve uploaded files
file_store.enabled = true
; NOTE: this setting IS DEPRECATED:
; file_store backend is always enabled
#file_store.enabled = true
; NOTE: this setting IS DEPRECATED:
; file_store.backend = X -> use `file_store.backend.type = filesystem_v2` instead
; Storage backend, available options are: local
file_store.backend = local
#file_store.backend = local
; NOTE: this setting IS DEPRECATED:
; file_store.storage_path = X -> use `file_store.filesystem_v2.storage_path = X` instead
; path to store the uploaded binaries and artifacts
file_store.storage_path = /var/opt/rhodecode_data/file_store
#file_store.storage_path = /var/opt/rhodecode_data/file_store
; Artifacts file-store, is used to store comment attachments and artifacts uploads.
; file_store backend type: filesystem_v1, filesystem_v2 or objectstore (s3-based) are available as options
; filesystem_v1 is backwards compat with pre 5.1 storage changes
; new installations should choose filesystem_v2 or objectstore (s3-based), pick filesystem when migrating from
; previous installations to keep the artifacts without a need of migration
#file_store.backend.type = filesystem_v2
; filesystem options...
#file_store.filesystem_v1.storage_path = /var/opt/rhodecode_data/artifacts_file_store
; filesystem_v2 options...
#file_store.filesystem_v2.storage_path = /var/opt/rhodecode_data/artifacts_file_store
#file_store.filesystem_v2.shards = 8
; objectstore options...
; url for s3 compatible storage that allows to upload artifacts
; e.g http://minio:9000
#file_store.backend.type = objectstore
#file_store.objectstore.url = http://s3-minio:9000
; a top-level bucket to put all other shards in
; objects will be stored in rhodecode-file-store/shard-N based on the bucket_shards number
#file_store.objectstore.bucket = rhodecode-file-store
; number of sharded buckets to create to distribute archives across
; default is 8 shards
#file_store.objectstore.bucket_shards = 8
; key for s3 auth
#file_store.objectstore.key = s3admin
; secret for s3 auth
#file_store.objectstore.secret = s3secret4
;region for s3 storage
#file_store.objectstore.region = eu-central-1
; Redis url to acquire/check generation of archives locks
archive_cache.locking.url = redis://redis:6379/1