Skip to content

Add storage description link discovery#1854

Open
SarthakDudhe wants to merge 1 commit intonodeSolidServer:mainfrom
SarthakDudhe:issue-1805-storage-description
Open

Add storage description link discovery#1854
SarthakDudhe wants to merge 1 commit intonodeSolidServer:mainfrom
SarthakDudhe:issue-1805-storage-description

Conversation

@SarthakDudhe
Copy link
Copy Markdown

Add storageDescription Link headers for GET, HEAD, and OPTIONS requests.
Point the relation to the root storage metadata resource (/.meta).
Cover resources and containers in HTTP integration tests.

Fixes #1805.

Tests

npm run lint
npm run mocha-integration

Copy link
Copy Markdown
Member

@csarven csarven left a comment

Choose a reason for hiding this comment

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

Great, thanks for doing this. I haven't run the tests but this generally looks good to me. I've run the code locally and it is referring to the expected URL for storage description resource.

Does this code assume that storage root is always at req.hostname + '/'?

I can't remember now but does NSS allow non-root path to be storage root? If so, does the code take that into account?

@bourgeoa
Copy link
Copy Markdown
Member

bourgeoa commented May 8, 2026

I can't remember now but does NSS allow non-root path to be storage root? If so, does the code take that into account?

NSS only allow subdomain. Storage starts at root path.

@csarven
Copy link
Copy Markdown
Member

csarven commented May 8, 2026

Ok, great. If you review / approve, we should merge this.

@bourgeoa
Copy link
Copy Markdown
Member

bourgeoa commented May 9, 2026

@csarven @SarthakDudhe

From https://solidproject.org/TR/protocol#storage-description-statements
I think that root/.meta must include the triple

</> a <http://www.w3.org/ns/pim/space#Storage> .

Which is not actually the case.

If this is correct it implies to

  • update default root/.meta
  • prepare a migration script for existing servers

@csarven
Copy link
Copy Markdown
Member

csarven commented May 9, 2026

In NSS, it'd be (the slash for the storage resource):

</> a <http://www.w3.org/ns/pim/space#Storage> .

I don't understand why a migration script is necessary (although I understand it'd be useful to do).

@bourgeoa
Copy link
Copy Markdown
Member

bourgeoa commented May 9, 2026

Thanks yes you are right I have updated above.
Why a migration ? This is because the triple is created at pod creation. On existing server you need to update all existing pods.
We add the same issue when Solid spec introduced pim:storage or solid:oidcIssuer in profile/card

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.

Implement storage description resource discovery

3 participants