# Copyright (C) 2016-2024 RhodeCode GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/


# Definition of setting keys used to configure this module. Defined here to
# avoid repetition of keys throughout the module.

# OLD and deprecated keys not used anymore
deprecated_enabled = "file_store.enabled"
deprecated_backend = "file_store.backend"
deprecated_store_path = "file_store.storage_path"


backend_type = "file_store.backend.type"

backend_legacy_filesystem = "filesystem_v1"
backend_filesystem = "filesystem_v2"
backend_objectstore = "objectstore"

backend_types = [
    backend_legacy_filesystem,
    backend_filesystem,
    backend_objectstore,
]

# filesystem_v1 legacy
legacy_filesystem_storage_path = "file_store.filesystem_v1.storage_path"


# filesystem_v2 new option
filesystem_storage_path = "file_store.filesystem_v2.storage_path"
filesystem_shards = "file_store.filesystem_v2.shards"

# objectstore
objectstore_url = "file_store.objectstore.url"
objectstore_bucket = "file_store.objectstore.bucket"
objectstore_bucket_shards = "file_store.objectstore.bucket_shards"

objectstore_region = "file_store.objectstore.region"
objectstore_key = "file_store.objectstore.key"
objectstore_secret = "file_store.objectstore.secret"
