Skip to content
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

Unique Webhook IDs #642

Closed
sbuettner opened this issue May 30, 2023 · 0 comments · Fixed by #670 or #676
Closed

Unique Webhook IDs #642

sbuettner opened this issue May 30, 2023 · 0 comments · Fixed by #670 or #676
Assignees
Labels
kind:enhancement New feature or request

Comments

@sbuettner
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Connectors currently allow to register multiple webhooks pointing to the same Webhook ID e.g. URL/endpoint. This allows customers to invoke multiple inbound connectors with a single webhook request. This behaviour doesnt provide any transactional safety as one of the inbound connectors could fail while others were executed successfully.

To provide a clearer execution model for customers, the runtime should limit the usage of a single Webhook ID to one inbound connector. The endpoint should also return a non-successful HTTP status code if that connector wasnt executed successfully.

As the runtime cant guarantee uniqueness on the zeebe/operate level it has to do the uniqueness check itself. To allow customers to react to this uniqe constraint violation the runtime should report the inbound webhook connector as DOWN via the health report facilities. This way customers can see errors in the web modeler and refactor their BPMN models accordingly.

Describe the solution you'd like

The runtime keeps an in-memory index of all inbound webhook connectors. The first inbound connector for a Webhook ID will get activated while others that use the same ID will be reported as DOWN.

Describe alternatives you've considered

Keeping the existing multiplexing strategy doesnt provide more value while leading to a confusing transactional model. Therefore the decision was made to only support a 1:1 mapping of an endpoint to an inbound webhook connector.

@sbuettner sbuettner added the kind:enhancement New feature or request label May 30, 2023
@sbuettner sbuettner self-assigned this May 31, 2023
@sbuettner sbuettner added this to the 8.3-alpha2 milestone Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:enhancement New feature or request
Projects
None yet
1 participant