Skip to content

Support uploading to volumes in Bucket Explorer #3561

Description

@jmthomas

What is the use case or problem this feature would solve?

Ability to upload files to volumes.

Additional context

Upload built on S3 presigned PUT. Not filesystem-capable.

Flow (BucketExplorer.vue:683-693):

  1. Frontend ask backend for presigned URL → get_upload_presigned_request (storage_controller.rb:430)
  2. axios PUT file direct to object store (versitygw) via that URL

get_upload_presigned_request hard-requires params.require(:bucket) and calls bucket.presigned_request. Presigned URL is a S3 concept only.

Volumes = host filesystem mounts (OPENC3_*_VOLUME env, storage_controller.rb:173). No S3. No presigned URL possible. Nothing to PUT to.

Volume upload need new backend endpoint: receive raw/multipart body, sanitize_path, write to /{volume}/{path} on filesystem (mirror download's volume branch), plus authorization('system_set') + RBAC.

Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions