Skip to content

Add S3 multipart upload support for the dev/minio backend #5990

Description

@rtibbles

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

Local dev runs on minio (S3), which has no GCS resumable session. So the web frontend (#5988) can use one chunked-upload path everywhere, add S3 multipart support to the dev/minio backend so upload_url's resumable scheme works there.

Complexity: Medium
Target branch: unstable

Context

#5975 adds the resumable scheme as a server-initiated GCS session; on the S3 backend upload_url still returns single-PUT. minio supports the S3 multipart API (initiate → upload parts → complete), an equivalent chunked, resumable-style upload.

The Change

  • The web frontend drives both dev (S3 multipart) and prod (GCS resumable) chunked uploads without falling back to a single-PUT path.

Out of Scope

  • Upload integrity enforcement on minio (dev-only; mirrors today's S3 single-PUT, which doesn't enforce Content-MD5).

Acceptance Criteria

  • On the S3 backend, the resumable upload_url path initiates an S3 multipart upload and returns what the client needs to upload parts and finalize.
  • A file uploads to dev/minio in multiple parts via this path.
  • The web frontend uses this path in dev with no single-PUT fallback.

References

AI usage

Drafted with Claude (Opus 4.8), which researched the minio/S3 multipart references; I reviewed and edited.

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions