Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camunda-community-hub/zeebe-cloudevents-router
Zeebe CloudEvents Router
https://github.com/camunda-community-hub/zeebe-cloudevents-router
camunda camunda-8 camunda-platform-8 cloudevents knative zeebe
Last synced: about 2 months ago
JSON representation
Zeebe CloudEvents Router
- Host: GitHub
- URL: https://github.com/camunda-community-hub/zeebe-cloudevents-router
- Owner: camunda-community-hub
- License: apache-2.0
- Created: 2020-05-05T13:43:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-28T21:53:50.000Z (5 months ago)
- Last Synced: 2024-08-29T21:56:09.312Z (5 months ago)
- Topics: camunda, camunda-8, camunda-platform-8, cloudevents, knative, zeebe
- Language: Java
- Homepage:
- Size: 248 KB
- Stars: 15
- Watchers: 5
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![Community Extension](https://img.shields.io/badge/Community%20Extension-An%20open%20source%20community%20maintained%20project-FF4700)](https://github.com/camunda-community-hub/community) [![Lifecycle: Incubating](https://img.shields.io/badge/Lifecycle-Incubating-blue)](https://github.com/Camunda-Community-Hub/community/blob/main/extension-lifecycle.md#incubating-) ![Compatible with: Camunda Platform 8](https://img.shields.io/badge/Compatible%20with-Camunda%20Platform%208-0072Ce)
# Zeebe Knative / CloudEvents Worker
This project focuses on providing a bridge between [Zeebe](http://zeebe.io/) + [BPMN](https://www.bpmn.org/) to [Knative](https://knative.dev/) and [CloudEvents](https://cloudevents.io/) to provide CloudEvents orchestration using Zeebe Workflows.
# Service Task Properties
Properties
- HOST
- TYPE
- MODE:
- EMIT_ONLY:
- WAIT_FOR_CLOUD_EVENT:
- WAIT_TYPE: Cloud Event Type to waitThe worker has two modes:
- EMIT ONLY: It will emit a CloudEvent and complete the Job
- WAIT FOR CLOUD EVENT: It will wait to receive CloudEvent with a specific Type which will be correlated by the workflow and job key to complete the Service Task.# Endpoints
The worker exposes HTTP Endpoints to receive CloudEvents that can be propagated to workflows.
- / POST - > Receive CloudEvent via HTTP that will map to a Job
- /message POST -> Receive a CloudEvent that will be forwarded as a BPMN Message for an Intermediate Catch EventYou can always access the Open API UI here: http://localhost:8080/swagger-ui.html
# Examples
## EMIT and WAIT
> zbctl deploy emit-wait.bpmn --insecure
>
> zbctl create instance EMIT_WAIT --insecure
>
> curl -X POST localhost:8080/ -H "Content-Type: application/json" -H "Ce-Id: 536808d3" -H "Ce-Type: " -H "Ce-Source: curl" -H "Ce-Subject: ::" -d '{"name":"salaboy"}' -v
>## EMIT and CONTINUE:
> zbctl deploy emit-and-continue.bpmn --insecure
> zbctl create instance EMIT_AND_CONTINUE --variables "{\"myVarId\" : \"123\"}" --insecure
> curl -X POST localhost:8080/message -H "Content-Type: application/json" -H "Ce-Id: 536808d3" -H "Ce-Type: CloudEvent Response" -H "Ce-Source: curl" -H "CorrelationKey: 123" -d '{"name":"salaboy"}' -v## TICKETS
Deploy workflow
> zbctl deploy tickets.bpmn --insecureRegister Tickets.Purchase event to Start Workflow
> curl -X POST http://localhost:8080/workflows -H "Content-Type: application/json" -d '{"cloudEventType" : "Tickets.Purchase", "processDefinitionKey" : "2251799813690282"}'Send Tickets.Purchase to start a workflow
> curl -X POST http://localhost:8080/workflow -H "Content-Type: application/json" -H "Ce-Id: 536808d33" -H "Ce-Type: Tickets.Purchase" -H "Ce-Source: curl" -d '{"sessionId":"5" }'
# Secrets and Secrets ManagersThis project can be used with `External Secrets` to fetch credentials from external services from cloud provider specific Secret Managers.
In order to install `External Secrets` you can follow the project setup instructions:[https://github.com/godaddy/kubernetes-external-secrets](https://github.com/godaddy/kubernetes-external-secrets)
(touch)