"""Verify storage using a unique temporary object, preserving all existing objects.""" import io import os import uuid os.environ.setdefault("DJANGO_SETTINGS_MODULE", "alpha.settings") import django django.setup() from django.conf import settings from minio import Minio client = Minio(settings.MINIO_ENDPOINT, access_key=settings.MINIO_ACCESS_KEY, secret_key=settings.MINIO_SECRET_KEY, secure=str(getattr(settings, "MINIO_USE_SSL", False)).lower() == "true") bucket = getattr(settings, "MINIO_BUCKET", None) or "pi-continuum" key = "__update_verify/" + uuid.uuid4().hex data = os.urandom(32) try: client.put_object(bucket, key, io.BytesIO(data), len(data)) response = client.get_object(bucket, key) try: if response.read() != data: raise RuntimeError("storage verification failed") finally: response.close() response.release_conn() finally: client.remove_object(bucket, key)