feat(backup): config et dépendances pour la sauvegarde S3 (#89)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
from collections.abc import Mapping
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class BackupConfig:
|
||||
db_path: Path
|
||||
bucket: str
|
||||
prefix: str
|
||||
endpoint_url: str | None
|
||||
access_key: str
|
||||
secret_key: str
|
||||
encryption_key: str
|
||||
|
||||
|
||||
def load_config(env: Mapping[str, str]) -> BackupConfig:
|
||||
return BackupConfig(
|
||||
db_path=Path(env["USERS_DB_PATH"]),
|
||||
bucket=env["S3_BUCKET"],
|
||||
prefix=env.get("S3_BACKUP_PREFIX", "backups"),
|
||||
endpoint_url=env.get("S3_ENDPOINT_URL") or None,
|
||||
access_key=env["S3_ACCESS_KEY_ID"],
|
||||
secret_key=env["S3_SECRET_ACCESS_KEY"],
|
||||
encryption_key=env["BACKUP_ENCRYPTION_KEY"],
|
||||
)
|
||||
Reference in New Issue
Block a user