Skip to content

feat!: add cause to blob release arguments - #50

Merged
alanshaw merged 1 commit into
mainfrom
ash/feat/add-cause-to-blob-release
Jul 30, 2026
Merged

feat!: add cause to blob release arguments#50
alanshaw merged 1 commit into
mainfrom
ash/feat/add-cause-to-blob-release

Conversation

@alanshaw

Copy link
Copy Markdown
Member

A Piri storage node currently has no way to verify the legitimacy of a /blob/release invocation beyond trusting the upload service that issued it. /blob/release is the upload service's translation of a client /blob/remove, so the fix is to make the release carry proof of that origin: a Cause field holding the CID of the /blob/remove task, with the remove invocation itself travelling as metadata in the request container. The node then verifies:

  • the /blob/remove invocation identified by Cause is present in the request container,
  • its subject equals the release's Space,
  • its digest argument equals the release's Digest

@bajtos bajtos 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.

I find it a bit weird that we are only adding a field to ReleaseArguments struct, with no behaviour changes. How can we verify that this is the right thing? Is there any downstream pull request showing how this new field will be used in our services?

@alanshaw

Copy link
Copy Markdown
Member Author

So, Sprue makes this invocation. There is currently no code or PR to update.

Here's the PR for Piri (targets @frrist's PR for adding removal functionality): fil-forge/piri#45

@alanshaw
alanshaw merged commit b13386b into main Jul 30, 2026
7 checks passed
@alanshaw
alanshaw deleted the ash/feat/add-cause-to-blob-release branch July 30, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants