Skip to content

APP-16852: added UploadDataFromPath protos#864

Open
angelapredolac wants to merge 5 commits into
mainfrom
APP-16852
Open

APP-16852: added UploadDataFromPath protos#864
angelapredolac wants to merge 5 commits into
mainfrom
APP-16852

Conversation

@angelapredolac

Copy link
Copy Markdown
Member

Jira Ticket: Add UploadDataFromPath protos

Summary
The data manager could only upload arbitrary files on its configured sync interval — there was no way to push an existing file or directory to the cloud ad hoc. This adds a new UploadDataFromPath RPC to the RobotService, exposing push-based binary file uploads on the robot. A caller provides a file or directory path (and optional metadata), and the robot routes the upload through its configured data manager service. This PR is the protobuf-only first step; the server/client implementation lands in rdk #5917, and SDK wrappers follow.

Changes

  • Added the UploadDataFromPath RPC to RobotService in proto/viam/robot/v1/robot.proto, with an HTTP binding at post: "/viam/api/v1/upload_data_from_path". The route is robot-scoped (no {name}), since RobotService is not a per-resource service.
  • Added UploadDataFromPathRequest carrying path (the file or folder on the robot), an optional app.datasync.v1.UploadMetadata upload_metadata so metadata aligns with DataSyncService instead of duplicating fields, and the standard google.protobuf.Struct extra = 99.
  • Added UploadDataFromPathResponse reporting aggregate results — files_uploaded, files_failed, bytes_uploaded, bytes_total, and the uploaded binary data ids — so partial directory uploads are observable (a directory can partially succeed; a single file is all-or-nothing).

Testing

  • Lint: mise r lint-buf passes. optional is permitted (FIELD_NOT_REQUIRED is excepted in buf.yaml), and the unique ...Request/...Response types satisfy RPC_REQUEST_RESPONSE_UNIQUE (which is not ignored for proto/viam/robot).
  • Generated interfaces: built by CI via the ready-for-protos label (the bot compiles and commits the generated Go/JS).

@angelapredolac angelapredolac added the ready-for-protos add this when you want protos to compile on every commit label Jun 9, 2026
@github-actions github-actions Bot added the safe to test committer is a member of this org label Jun 9, 2026
angelapredolac and others added 2 commits June 9, 2026 15:07

@gloriacai01 gloriacai01 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall looks good! my only nit is if we could add comments for each field as specified in the scope

@angelapredolac angelapredolac changed the title added UploadDataFromPath protos APP-16852: added UploadDataFromPath protos Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

protos-compiled ready-for-protos add this when you want protos to compile on every commit safe to test committer is a member of this org

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants