Skip to content

Conversation

@thomaspoignant
Copy link
Member

@thomaspoignant thomaspoignant commented May 8, 2025

This PR

This PR contains the guidelines on how to create a server provider for OFREP.

Closes #41

@thomaspoignant thomaspoignant requested a review from a team as a code owner May 8, 2025 11:25
@thomaspoignant thomaspoignant changed the title feat: Server provider guideline feat: Server provider guidelines May 8, 2025
Copy link
Member

@askpt askpt left a comment

Choose a reason for hiding this comment

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

Small comment, otherwise looks good.

Copy link
Member

@lukas-reining lukas-reining left a comment

Choose a reason for hiding this comment

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

This is great, the feedback from the client provider applies here too @thomaspoignant :)

Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant
Copy link
Member Author

@lukas-reining I have adapted the same changes to the server provider guideline.

Copy link
Member

@beeme1mr beeme1mr left a comment

Choose a reason for hiding this comment

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

We may want to briefly mention http timeout behavior. In the web provider I believe we default to 10 seconds and the provider is put in an error state.

It may also be worth briefly describing the expected behavior if the response is invalid. I would expect a provider error if it occurs during initialization. If the provider receives an unexpected response after initialization I would expect the provider to use the previously cached value and possibly emit an error event.

@thomaspoignant
Copy link
Member Author

We may want to briefly mention http timeout behavior. In the web provider I believe we default to 10 seconds and the provider is put in an error state.

Yes mentioning the timeout is a good idea I will add it.

It may also be worth briefly describing the expected behavior if the response is invalid. I would expect a provider error if it occurs during initialization. If the provider receives an unexpected response after initialization I would expect the provider to use the previously cached value and possibly emit an error event.

There is no caching in the server provider so I am not sure what you mean here?
This is something we can add but I am not sure if it is in scope for the 1.0.

Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant thomaspoignant merged commit 764a8dc into main May 12, 2025
4 checks passed
@thomaspoignant thomaspoignant deleted the server-guideline branch May 12, 2025 07:25
thomaspoignant added a commit that referenced this pull request May 12, 2025
* feat: Server provider guideline

Signed-off-by: Thomas Poignant <[email protected]>

* adding timeout

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>
thomaspoignant added a commit that referenced this pull request May 16, 2025
* feat: Server provider guideline

Signed-off-by: Thomas Poignant <[email protected]>

* adding timeout

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>
thomaspoignant added a commit that referenced this pull request May 16, 2025
* feat: Client provider spec

Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Mark Phelps <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update provider/specs/client.md

Co-authored-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* update with review comments

Signed-off-by: Thomas Poignant <[email protected]>

* Move to guideline folder

Signed-off-by: Thomas Poignant <[email protected]>

* Replace specification

Signed-off-by: Thomas Poignant <[email protected]>

* add OpenAPI spec validator based on redocly cli (#15)

Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* chore(deps): update actions/checkout action to v4 (#16)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Thomas Poignant <[email protected]>

* Update guideline/static-context-provider.md

Co-authored-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update guideline/static-context-provider.md

Co-authored-by: Lukas Reining <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update guideline/static-context-provider.md

Co-authored-by: Lukas Reining <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* update guidelines after removing configuration endpoint

Signed-off-by: Thomas Poignant <[email protected]>

* adding change context

Signed-off-by: Thomas Poignant <[email protected]>

* feat: Allow any reason (#20)

Signed-off-by: Thomas Poignant <[email protected]>

* feat!: change minPollingInterval field name to mention millisecond (#25)

* feat!: change minPollingInterval field name to mention millisecond

Signed-off-by: Thomas Poignant <[email protected]>

* change name to ms

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>

* feat: Group API in core and extensions (#23)

Signed-off-by: Thomas Poignant <[email protected]>

* feat!: Reverse the logic for supportedTypes (#24)

* feat!: Reverse the logic for supportedTypes

Signed-off-by: Thomas Poignant <[email protected]>

* fix

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>

* doc: adding providers link (#26)

Signed-off-by: Thomas Poignant <[email protected]>

* make flags property mandatory for bulk evaluation success response (#27)

Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* feat: Typo in header name (#28)

Signed-off-by: Thomas Poignant <[email protected]>

* add optional targeting key property (#30)

Signed-off-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* fix: use correct header name for 429 bulk response (#32)

Signed-off-by: Roman Dmytrenko <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* feat: Specify caching for OFREP in server providers (#17)

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Co-authored-by: Kavindu Dodanduwa <[email protected]>
Co-authored-by: Todd Baert <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* feat: add flag set metadata for bulk response and failures (#34)

Signed-off-by: Todd Baert <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Fixups: Add operationIds, remove invalid property, fix tag casing (#35)

Signed-off-by: Honza Dvorsky <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* ci: switch OpenAPI validators (#36)

Signed-off-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* fix: address style issues

Signed-off-by: Thomas Poignant <[email protected]>

* Update static-context-provider.md

Co-authored-by: Lukas Reining <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update static-context-provider.md

Co-authored-by: Lukas Reining <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* adding timeout

Signed-off-by: Thomas Poignant <[email protected]>

* feat: Server provider guidelines (#42)

* feat: Server provider guideline

Signed-off-by: Thomas Poignant <[email protected]>

* adding timeout

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>

* feat: Group API in core and extensions (#23)

Signed-off-by: Thomas Poignant <[email protected]>

* Update guideline/static-context-provider.md

Co-authored-by: Michael Beemer <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>

* Update openapi.yaml

Signed-off-by: Thomas Poignant <[email protected]>

---------

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Michael Beemer <[email protected]>
Signed-off-by: Roman Dmytrenko <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Todd Baert <[email protected]>
Signed-off-by: Honza Dvorsky <[email protected]>
Co-authored-by: Mark Phelps <[email protected]>
Co-authored-by: Michael Beemer <[email protected]>
Co-authored-by: Kavindu Dodanduwa <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lukas Reining <[email protected]>
Co-authored-by: Michel TURPIN <[email protected]>
Co-authored-by: Roman Dmytrenko <[email protected]>
Co-authored-by: Todd Baert <[email protected]>
Co-authored-by: Honza Dvorsky <[email protected]>
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.

Write server provider guidelines

5 participants