-
Notifications
You must be signed in to change notification settings - Fork 14
feat: upgrade version endpoint #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: upgrade version endpoint #138
Conversation
artifacts/src/main/resources/common/protocol-version-schema.json
Outdated
Show resolved
Hide resolved
|
16168ef to
36733e5
Compare
| { | ||
| "version": "1.0", | ||
| "path": "/some/path/v1" | ||
| "version": "2025-1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate the approach to provide more metadata. Actually, I miss one important mechanism that might be added here. So far, it is not possible to group multiple entries here to express that these entries are representing the same DSP service in different versions. That would be necessary to do proper version handling in case of multiple services managed by the same host.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you thinking of something like a serviceId property?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that sounds right, so multiple entries could have the same serviceId, indicating that they reference the same service, resp. will provide basically the same DataSets only with different versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
opened a separate issue for this: #146
1694012
into
eclipse-dataspace-protocol-base:main
What this PR changes/adds
This PR changes the setup of the common versioning endpoint.
Even in a distant future when there may be different bindings for DSP messages, it is reasonable to expect that the well-known HTTPS endpoint will be queried for which endpoints are relevant. A consumer has to start somewhere and it cannot be assumed that the DSP-binding a Provider uses is necessarily known.
authandbindingpropertiesThe
authproperty holds a string telling the Consumer how to authenticate to the Provider's DSP endpoints. This is necessary, especially if the catalog-endpoints are protected already. Thebindingproperty describes the DSP-protocol binding so the Consumer knows not just WHERE to ask but also HOW. This is relevant for forward-compatibility.Why it does that
Currently, the endpoint is neither useful (Consumer is likely unaware of authentication method) nor future-proof (introducing a new binding would render it useless).
Further notes
I'd like at least two concurring reviews as this is a consequential change. Despite that, it's backward compatible because (1) there is no binding apart from HTTPS and (2) all newly introduced properties are optional.
Closes #112
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.