DKB_ARMKA/api/run_minio.py
PotapovaA 72b32d790f test
2026-09-15 18:21:05 +03:00

34 lines
1.1 KiB
Python

"""Run local MinIO on macOS: python run_minio.py (Ctrl+C to stop)."""
import os
from pathlib import Path
from dotenv import dotenv_values
def main() -> None:
api_dir = Path(__file__).resolve().parent
local_dir = api_dir.parent / ".local" / "minio"
binary = local_dir / "bin" / "minio"
if not binary.is_file():
raise SystemExit("MinIO не собран. См. LOCAL_MINIO.md")
values = {**dotenv_values(api_dir / ".env"), **os.environ}
prefix = "OPENBAO__MINIO__"
credentials = [prefix + "MINIO_ADMIN_LOGIN", prefix + "MINIO_ADMIN_PASSWORD"]
if any(not values.get(key) for key in credentials):
raise SystemExit("Укажи логин и пароль MinIO в api/.env")
data_dir = local_dir / "data"
data_dir.mkdir(parents=True, exist_ok=True)
env = dict(os.environ)
env.update(
MINIO_ROOT_USER=values[credentials[0]],
MINIO_ROOT_PASSWORD=values[credentials[1]],
)
os.execve(binary, [str(binary), "server", str(data_dir),
"--address", "127.0.0.1:9000",
"--console-address", "127.0.0.1:9001"], env)
if __name__ == "__main__":
main()