32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from ..config import settings
|
|
from .bunny.bunny_client import BunnyClient
|
|
from .minio.minio_client import MinioClient
|
|
from .storage_client import StorageClient, _set_storage_client
|
|
|
|
|
|
def init_storage() -> None:
|
|
client: StorageClient
|
|
if settings.storage_provider == "bunny":
|
|
print("Initialising bunny storage client...")
|
|
client = BunnyClient(
|
|
zone=settings.bunny_zone,
|
|
api_key=settings.bunny_api_key,
|
|
cdn_base_url=settings.bunny_cdn_base_url,
|
|
token_auth_key=settings.bunny_token_auth_key,
|
|
storage_endpoint=settings.bunny_storage_endpoint,
|
|
)
|
|
print("Testing bunny storage client connection...")
|
|
client.list_directory("") # Test connection
|
|
print("...successfully connected to bunny storage client.")
|
|
|
|
else:
|
|
minio = MinioClient(
|
|
endpoint_url=settings.storage_endpoint_url,
|
|
access_key=settings.storage_access_key,
|
|
secret_key=settings.storage_secret_key,
|
|
bucket=settings.storage_bucket,
|
|
api_base_url=settings.api_base_url,
|
|
)
|
|
minio.ensure_bucket_exists()
|
|
client = minio
|
|
_set_storage_client(client)
|