diff --git a/docs/apis-tools/spring-zeebe-sdk/configuration.md b/docs/apis-tools/spring-zeebe-sdk/configuration.md index 081bc0e7b8..be17ad549a 100644 --- a/docs/apis-tools/spring-zeebe-sdk/configuration.md +++ b/docs/apis-tools/spring-zeebe-sdk/configuration.md @@ -27,8 +27,12 @@ public void foo() { As a third possibility, you can set a default job type: -```properties -zeebe.client.worker.default-type=foo +```yaml +camunda: + client: + zeebe: + defaults: + type: foo ``` This is used for all workers that do **not** set a task type via the annotation. @@ -218,41 +222,139 @@ public void handleJobFoo() { ## Additional configuration options -### Configuring Self-Managed Zeebe connection +### Execution threads -```properties -zeebe.client.broker.grpcAddress=http://127.0.0.1:26500 -zeebe.client.broker.restAddress=http://127.0.0.1:8080 -zeebe.client.security.plaintext=true +The number of threads for invocation of job workers. Setting this value to 0 effectively disables subscriptions and workers (default 1): + +```yaml +camunda: + client: + zeebe: + execution-threads: 2 +``` + +### Message time to live + +The time-to-live which is used when none is provided for a message (default 1H): + +```yaml +camunda: + client: + zeebe: + message-time-to-live: PT2H +``` + +### Max message size + +A custom maxMessageSize allows the client to receive larger or smaller responses from Zeebe. Technically, it specifies the maxInboundMessageSize of the gRPC channel (default 4MB): + +```yaml +camunda: + client: + zeebe: + max-message-size: 3 +``` + +### Request timeout + +The request timeout used if not overridden by the command (default is 10s): + +```yaml +camunda: + client: + zeebe: + request-timeout: PT20S +``` + +### CA certificate + +Path to a root CA certificate to be used instead of the certificate in the default store: + +```yaml +camunda: + client: + zeebe: + ca-certificate-path: path/to/certificate +``` + +### Keep alive + +Time interval between keep alive messages sent to the gateway (default is 45s): + +```yaml +camunda: + client: + zeebe: + keep-alive: PT60S +``` + +### Override authority + +The alternative authority to use, commonly in the form `host` or `host:port`: + +```yaml +camunda: + client: + zeebe: + override-authority: host:port +``` + +### REST over gRPC + +If true, the client will use REST instead of gRPC whenever possible: + +```yaml +camunda: + client: + zeebe: + prefer-rest-over-grpc: true ``` -### Configure different cloud environments +### gRPC address -If you don't connect to the Camunda 8 SaaS production environment, you might have to also adjust these properties: +Define client gRPC address: -```properties -zeebe.client.cloud.base-url=zeebe.camunda.io -zeebe.client.cloud.port=443 -zeebe.client.cloud.auth-url=https://login.cloud.camunda.io/oauth/token +```yaml +camunda: + client: + zeebe: + grpc-address: http://localhost:26500 ``` -As an alternative, you can use the [Zeebe client environment variables](/apis-tools/java-client/index.md#bootstrapping). +### REST address + +Define client REST address: + +```yaml +camunda: + client: + zeebe: + rest-address: http://localhost:8080 +``` ### Default task type If you build a worker that only serves one thing, it might also be handy to define the worker job type globally and not in the annotation: -```properties -zeebe.client.worker.defaultType=foo +```yaml +camunda: + client: + zeebe: + defaults: + type: foo ``` ### Configure jobs in flight and thread pool Number of jobs that are polled from the broker to be worked on in this client and thread pool size to handle the jobs: -```properties -zeebe.client.worker.max-jobs-active=32 -zeebe.client.worker.threads=1 +```yaml +camunda: + client: + zeebe: + defaults: + max-jobs-active: 32 + execution-threads: 1 ``` For a full set of configuration options, see [ZeebeClientConfigurationProperties.java](https://github.com/camunda/camunda/blob/main/spring-boot-starter-camunda-sdk/src/main/java/io/camunda/zeebe/spring/client/properties/ZeebeClientConfigurationProperties.java). @@ -274,10 +376,15 @@ class SomeClass { } ``` -You can also override this setting via your `application.properties` file: +You can also override this setting via your `application.yaml` file: -```properties -zeebe.client.worker.override.foo.enabled=false +```yaml +camunda: + client: + zeebe: + override: + foo: + enabled: false ``` This is especially useful if you have a bigger code base including many workers, but want to start only some of them. Typical use cases are: @@ -286,20 +393,40 @@ This is especially useful if you have a bigger code base including many workers, - Load balancing: You want to control which workers run on which instance of cluster nodes. - Migration: There are two applications, and you want to migrate a worker from one to another. With this switch, you can disable workers via configuration in the old application once they are available within the new. +To disable all workers, but still have the Zeebe client available, you can use: + +```yaml +camunda: + client: + zeebe: + defaults: + enabled: false +``` + ### Overriding `JobWorker` values via configuration file You can override the `JobWorker` annotation's values, as you can see in the example above where the `enabled` property is overridden: -```properties -zeebe.client.worker.override.foo.enabled=false +```yaml +camunda: + client: + zeebe: + override: + foo: + enabled: false ``` In this case, `foo` is the type of the worker that we want to customize. You can override all supported configuration options for a worker, for example: -```properties -zeebe.client.worker.override.foo.timeout=10000 +```yaml +camunda: + client: + zeebe: + override: + foo: + timeout: PT10S ``` You could also provide a custom class that can customize the `JobWorker` configuration values by implementing the `io.camunda.zeebe.spring.client.annotation.customizer.ZeebeWorkerValueCustomizer` interface. @@ -310,19 +437,38 @@ Read more about this feature in the [job streaming documentation](/apis-tools/ja To enable job streaming on the Zeebe client, you can configure it: -```properties -zeebe.client.default-job-worker-stream-enabled=true +```yaml +camunda: + client: + zeebe: + defaults: + stream-enabled: true +``` + +This also works for every worker individually: + +```yaml +camunda: + client: + zeebe: + override: + foo: + stream-enabled: true ``` ### Control tenant usage When using multi-tenancy, the Zeebe client will connect to the `` tenant. To control this, you can configure: -```properties -zeebe.client.default-job-worker-tenant-ids=myTenant +```yaml +camunda: + client: + tenant-ids: + - + - foo ``` -Additionally, you can set tenant IDs on the job worker level by using the annotation: +Additionally, you can set tenant ids on job worker level by using the annotation: ```java @JobWorker(tenantIds="myOtherTenant") @@ -330,8 +476,15 @@ Additionally, you can set tenant IDs on the job worker level by using the annota You can override this property as well: -```properties -zeebe.client.worker.override.tenant-ids=myThirdTenant +```yaml +camunda: + client: + zeebe: + override: + foo: + tenants-ids: + - + - foo ``` ## Observing metrics @@ -342,15 +495,19 @@ The Spring Zeebe SDK provides some out-of-the-box metrics that can be leveraged For all of those metrics, the following actions are recorded: -- `activated`: The job/Connector was activated and started to process an item. +- `activated`: The job was activated and started to process an item. - `completed`: The processing was completed successfully. - `failed`: The processing failed with some exception. - `bpmn-error`: The processing completed by throwing a BPMN error (which means there was no technical problem). In a default setup, you can enable metrics to be served via http: -```properties -management.endpoints.web.exposure.include=metrics +```yaml +management: + endpoints: + web: + exposure: + include: metrics ``` Access them via [http://localhost:8080/actuator/metrics/](http://localhost:8080/actuator/metrics/). diff --git a/docs/apis-tools/spring-zeebe-sdk/getting-started.md b/docs/apis-tools/spring-zeebe-sdk/getting-started.md index 2331dd96a0..bc35496876 100644 --- a/docs/apis-tools/spring-zeebe-sdk/getting-started.md +++ b/docs/apis-tools/spring-zeebe-sdk/getting-started.md @@ -76,37 +76,63 @@ If you are using IntelliJ: Settings > Build, Execution, Deployment > Compiler > Java Compiler ``` -## Configuring the Zeebe cluster connection +## Configuring the Camunda 8 connection -Connections to Camunda 8 SaaS can be configured by creating the following entries in `src/main/resources/application.properties`: +The default properties for setting up all connection details are hidden in modes. Each connection mode has particular defaults to ease configuration. -```properties -zeebe.client.cloud.clusterId=xxx -zeebe.client.cloud.clientId=xxx -zeebe.client.cloud.clientSecret=xxx -zeebe.client.cloud.region=bru-2 -``` +The mode is set on `camunda.client.mode` and can be `self-managed` or `saas`. Further usage of each mode is explained below. -You can also configure the connection to a Self-Managed Zeebe broker: +:::note +Zeebe will now also be configured with a URL (`http://localhost:26500` instead of `localhost:26500` + plaintext connection flag). +::: -```properties -zeebe.client.broker.grpcAddress=https://127.0.0.1:26500 -zeebe.client.broker.restAddress=https://127.0.0.1:8080 -zeebe.client.security.plaintext=true -``` +### Saas -You can enforce the right connection mode, for example if multiple contradicting properties are set: +Connections to Camunda SaaS can be configured by creating the following entries in `src/main/resources/application.yaml`: -```properties -zeebe.client.connection-mode=CLOUD -zeebe.client.connection-mode=ADDRESS +```yaml +camunda: + client: + mode: saas + auth: + client-id: + client-secret: + cluster-id: + region: ``` -You can specify credentials in the following way: +### Self-Managed + +If you set up a Self-Managed cluster with Identity, Keycloak is used as the default Identity provider. As long as the port config (from Docker Compose or port-forward with Helm charts) is the default, you must configure the accompanying Spring profile and client credentials: + +```yaml +camunda: + client: + mode: self-managed + auth: + client-id: + client-secret: + issuer: http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token +``` -```properties -common.clientId=xxx -common.clientSecret=xxx +If you have different endpoints for your applications or want to disable a client, configure the following: + +```yaml +camunda: + client: + mode: self-managed + tenant-ids: + - + auth: + client-id: + client-secret: + issuer: http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token + zeebe: + enabled: true + grpc-address: http://localhost:26500 + rest-address: http://localhost:8080 + prefer-rest-over-grpc: false + audience: zeebe-api ``` ## Obtain the Zeebe client @@ -149,4 +175,4 @@ public void handleJobFoo(final ActivatedJob job) { } ``` -See [the configuration documentation](/apis-tools/spring-zeebe-sdk/configuration.md) for a more in-depth discussion on parameters and configuration options of job workers. +See [the configuration documentation](/apis-tools/spring-zeebe-sdk/configuration.md) for a more in-depth discussion on parameters and configuration options for job workers. diff --git a/docs/apis-tools/web-modeler-api/authentication.md b/docs/apis-tools/web-modeler-api/authentication.md index d3b203b8a0..388f3f494b 100644 --- a/docs/apis-tools/web-modeler-api/authentication.md +++ b/docs/apis-tools/web-modeler-api/authentication.md @@ -19,7 +19,7 @@ To authenticate for the API, generate a JWT token depending on your environment -1. Create client credentials by clicking **Console > Manage (Organization) > API > Create New Credentials**. +1. Create client credentials by clicking **Console > Organization > Administration API > Create new credentials**. 2. Add permissions to this client for **Web Modeler API**. 3. After creating the client, you can download a shell script to obtain a token. 4. When you run it, you will get something like the following: diff --git a/docs/components/best-practices/architecture/deciding-about-your-stack.md b/docs/components/best-practices/architecture/deciding-about-your-stack.md index 24918b1ee1..fd4525a812 100644 --- a/docs/components/best-practices/architecture/deciding-about-your-stack.md +++ b/docs/components/best-practices/architecture/deciding-about-your-stack.md @@ -19,10 +19,6 @@ Your choice of programming language should align with your team's expertise; we ## The Java greenfield stack -:::caution -[Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe) is a community-maintained project. -::: - ![greenfield stack architecture diagram](deciding-about-your-stack-assets/greenfield-architecture.png) This architecture diagram illustrates the flow of requests from a user's browser through Camunda SaaS, where workflows and decisions are orchestrated. The process then moves to the Spring Boot application, which is responsible for executing business logic, handling database interactions with PostgreSQL, and managing various components such as custom REST endpoints, BPMN/DMN definitions, and external task workers. @@ -33,7 +29,7 @@ This architecture diagram illustrates the flow of requests from a user's browser - Spring Boot is widely adopted for Java application development. - Flexible for both on-premise and cloud environments. -Discover more in our [getting started guide for microservices orchestration](/guides/getting-started-orchestrate-microservices.md) or the community-maintained [Spring Zeebe instructions](https://github.com/camunda-community-hub/spring-zeebe). +Discover more in our [getting started guide for microservices orchestration](/guides/getting-started-orchestrate-microservices.md) or the [Spring Zeebe SDK instructions](../../../apis-tools/spring-zeebe-sdk/getting-started.md). ### Set up the stack @@ -49,7 +45,7 @@ After signing up, create a cluster by following [creating a cluster in Camunda 8 Develop your own process solutions as [Spring Boot](https://spring.io/projects/spring-boot) applications. This involves setting up a new Spring Boot project, either manually or using tools like [Spring Initializr](https://start.spring.io/). -Integrate community-maintained [Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe) into the Spring Boot project by adding necessary dependencies to the project’s pom.xml file and configuring the application to use Camunda services. +Integrate the [Spring Zeebe SDK](../../../apis-tools/spring-zeebe-sdk/getting-started.md) into the Spring Boot project by adding necessary dependencies to the project’s `pom.xml` file, and configure the application to use Camunda services. #### Maven diff --git a/docs/components/best-practices/development/connecting-the-workflow-engine-with-your-world.md b/docs/components/best-practices/development/connecting-the-workflow-engine-with-your-world.md index abf65f6881..5d2e5d98d8 100644 --- a/docs/components/best-practices/development/connecting-the-workflow-engine-with-your-world.md +++ b/docs/components/best-practices/development/connecting-the-workflow-engine-with-your-world.md @@ -131,11 +131,7 @@ zbc.createWorker({ }); ``` -You can also use integrations in certain programming frameworks, like community-maintained [Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe) in the Java world, which starts the job worker and implements the subscription automatically in the background for your glue code. - -:::caution -[Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe) is a community-maintained project. -::: +You can also use integrations in certain programming frameworks, like the [Spring Zeebe SDK](../../../apis-tools/spring-zeebe-sdk/getting-started.md) in the Java world, which starts the job worker and implements the subscription automatically in the background for your glue code. **A subscription for your glue code is opened automatically by the Spring integration:** diff --git a/docs/components/best-practices/development/testing-process-definitions.md b/docs/components/best-practices/development/testing-process-definitions.md index f61ca04382..d6bc992865 100644 --- a/docs/components/best-practices/development/testing-process-definitions.md +++ b/docs/components/best-practices/development/testing-process-definitions.md @@ -61,7 +61,7 @@ You need to use JUnit 5. Ensure you use JUnit 5 in every test class: the `@Test` ::: 1. Use [_JUnit 5_](http://junit.org) as unit test framework. -2. Use [spring-zeebe](https://github.com/camunda-community-hub/spring-zeebe). +2. Use the [Spring Zeebe SDK](../../../apis-tools/spring-zeebe-sdk/getting-started.md). 3. Use `@ZeebeSpringTest` to ramp up an in-memory process engine. 4. Use annotations from [zeebe-process-test](https://github.com/camunda-cloud/zeebe-process-test/) to check whether your expectations about the state of the process are met. 5. Use mocking of your choice, e.g. [Mockito](http://mockito.org) to mock service methods and verify that services are called as expected. diff --git a/docs/components/concepts/access-control/user-task-access-restrictions.md b/docs/components/concepts/access-control/user-task-access-restrictions.md index b9a986078f..633c6d0743 100644 --- a/docs/components/concepts/access-control/user-task-access-restrictions.md +++ b/docs/components/concepts/access-control/user-task-access-restrictions.md @@ -5,10 +5,6 @@ sidebar_label: "User task access restrictions" description: "Control the level of access a user or group has to perform tasks in the system via user task access restrictions." --- -:::caution -User task access restrictions are enabled by default on SaaS. -::: - User task access restrictions allow you to restrict access of user tasks in Tasklist to [users](../../console/manage-organization/manage-users.md) or [groups](user-groups.md) where they are assignees or candidates. @@ -23,6 +19,10 @@ users that belong to `Team A` and the user `example` will have access to the tas ### Enabling/disabling user task access restrictions +:::caution +User task access restrictions are enabled by default on SaaS. For details on user task access restrictions in Self-Managed, visit the [Self-Managed documentation](/self-managed/concepts/access-control/user-task-access-restrictions.md). +::: + User task access restrictions are enabled by default. To disable them, navigate to the **Settings** section of Console and click the **Enforce user task restrictions** toggle to enable or disable the functionality. ![Enabling User Task Restriction](../assets/access-control/enforce-user-task-restriction.png) diff --git a/docs/components/connectors/out-of-the-box-connectors/amazon-eventbridge.md b/docs/components/connectors/out-of-the-box-connectors/amazon-eventbridge.md index bada948ec0..fe98427dde 100644 --- a/docs/components/connectors/out-of-the-box-connectors/amazon-eventbridge.md +++ b/docs/components/connectors/out-of-the-box-connectors/amazon-eventbridge.md @@ -162,7 +162,7 @@ The Amazon EventBridge Webhook Connector supports four types of authorization: Select the appropriate authorization type based on your security requirements and fill in the corresponding properties accordingly. -### Fill properties in the **Activation** section +### Fill out the properties in the **Activation** and **Correlation** sections 1. (Optional) Configure the **Activation Condition**. This condition will be used to filter the events from the specified event source. For example, if an incoming Amazon EventBridge event has the following body: @@ -197,6 +197,8 @@ This condition will trigger the Amazon EventBridge Webhook Connector only when t - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime, and the result is used to correlate the message. +- **Message ID expression** and **Message TTL** are optional properties that can be used to set the message ID and time-to-live for the incoming message. Refer to the [message ID expression](#message-id-expression) and [message TTL](#message-ttl) sections for more information. + For example, if your correlation key is defined with a process variable named `myCorrelationKey`, and you want to correlate by the `shipment` property in the request detail, which contains: ```json @@ -221,6 +223,24 @@ your correlation key settings will look like this: - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=request.body.detail.shipment` +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `detail.transactionId` field in the incoming event, configure the **Message ID expression** as follows: + +``` += request.body.detail.transactionId +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + ## Activate the Amazon EventBridge Connector by deploying your diagram Once you click **Deploy**, your Amazon EventBridge Webhook Connector will be activated and ready to receive events. @@ -245,9 +265,9 @@ You can still use the Amazon EventBridge Webhook Connector in Desktop Modeler or In that case, Amazon EventBridge Webhook Connector deployments and URLs will not be displayed in Modeler. ::: -## Variable mapping +## Output mapping -The **Variable mapping** section allows you to configure the mapping of the event payload to the process variables. +The **Output mapping** section allows you to configure the mapping of the event payload to the process variables. - Use the **Result variable** to store the event data in a process variable. For example, `myEventPayload`. - Use the **Result expression** to map specific fields from the event payload into process variables using [FEEL](/components/modeler/feel/what-is-feel.md). For example, given the Amazon EventBridge Connector is triggered with an event payload like: diff --git a/docs/components/connectors/out-of-the-box-connectors/amazon-sns.md b/docs/components/connectors/out-of-the-box-connectors/amazon-sns.md index 76cd1bce74..03719c17ca 100644 --- a/docs/components/connectors/out-of-the-box-connectors/amazon-sns.md +++ b/docs/components/connectors/out-of-the-box-connectors/amazon-sns.md @@ -113,11 +113,18 @@ a BPMN process triggered by an [Amazon SNS](https://console.aws.amazon.com/sns/h 2. Set the **Allow to receive messages from topic(s)** value to **any** if the process may be triggered by any topic, or **Specific topic(s)** if you wish to allow-list only certain topics to start a new BPMN process. 3. If you have chosen the **Specific topic(s)**, you have to list comma-separated topics in the field **Topic ARN(s)** as well. In that case, the **Amazon SNS inbound Connector** will auto-approve each qualified subscription request. 4. In the section **Activation**, configure **Condition** when the Amazon SNS topic can trigger a new BPMN process. The following example will trigger a new BPMN process for every notification with a subject _Start BPMN_: `=(request.body.Subject = "Start BPMN")`. -5. In the section **Variable mapping** fill the field **Result variable** to store the response in a process variable. For example, `myResultVariable`. -6. In the section **Variable expression** fill the field to map specific fields from the response into process variables using [FEEL](/components/modeler/feel/what-is-feel.md). - The following example will extract both message and subject from Amazon SNS message: `={message: request.body.Message, subject: request.body.Subject}`. +5. In the **Output mapping** section, fill in the **Result variable** field to store the response in a process variable. For example, `myResultVariable`. Alternatively, fill in the **Result expression** field to map specific fields from the response into process variables using [FEEL](/components/modeler/feel/what-is-feel.md). + The following example will extract both the message and subject from an Amazon SNS message: `={message: request.body.Message, subject: request.body.Subject}`. -When using the **Amazon SNS inbound Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +### Correlation + +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Amazon SNS Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +#### Correlation key - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. @@ -129,6 +136,25 @@ For example, given that your correlation key is defined with `myCorrelationKey` Learn more about correlation keys in the [messages guide](../../../concepts/messages). +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. Message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `attrName1` attribute in the incoming event, configure the **Message ID expression** as follows: + +``` += request.body.MessageAttributes.attrName1.Value +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + ## Activate the Amazon SNS inbound Connector by deploying your diagram Once you click the **Deploy** button, your **Amazon SNS inbound Connector** will be activated and publicly available. diff --git a/docs/components/connectors/out-of-the-box-connectors/amazon-sqs.md b/docs/components/connectors/out-of-the-box-connectors/amazon-sqs.md index 5236e0a314..379d3c4de2 100644 --- a/docs/components/connectors/out-of-the-box-connectors/amazon-sqs.md +++ b/docs/components/connectors/out-of-the-box-connectors/amazon-sqs.md @@ -96,12 +96,6 @@ There are two options to authenticate the Connector with AWS: -:::note -To maintain stable behavior from the Amazon SQS Connector, do not subscribe multiple Amazon SQS Connectors to the same queue. - -Successfully consumed messages are removed from the queue, even if they are not correlated. -::: - The **Amazon SQS Inbound Connector** is an inbound Connector that allows you to start or continue a BPMN process triggered by [Amazon Simple Queue Service (SQS)](https://aws.amazon.com/sqs/). @@ -132,9 +126,34 @@ To configure the SQS inbound Connector and receive messages from your SQS Queue, 4. In the **Message polling properties** section, set the polling wait time. This is the duration (in seconds) for which the call waits for a message to arrive in the queue before returning. Refer to the [Amazon documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html) for more details. 5. (Optional) In the **Use next attribute names for activation condition** section, set an array of **Attribute names** or **Message attribute name** (e.g., `["attributeName1", "attributeName2"]`) to receive messages from the queue with specific metadata. Alternatively, you can leave it empty to get results with all available attributes. Learn more about message metadata [here](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html). 6. (Optional) Configure the **Activation Condition**. For example, if an external message has the body `{"messageId": 1, "body": "Hi team", "messageAttributes":{"key":{"stringValue":"value"}}...}`, the **Activation Condition** value might look like `=(messageAttributes.key.stringValue="value")`. Leave this field empty to receive all messages every time. -7. Set **Variable mapping**. For example, to get only the message body, you can set `{resultBody: body}` in the **Result expression**. Learn more about **Variable mapping** [here](../use-connectors/index.md). +7. Set the **Output mapping**. For example, to get only the message body, you can set `{resultBody: body}` in the **Result expression** field. Learn more about **Output mapping** [here](../use-connectors/index.md). + +### Activation condition + +**Activation condition** is an optional FEEL expression field that allows for fine-tuning of the Connector activation. +For example, if an external message has the body `{"messageId": 1, "body": "Hi team", "messageAttributes":{"key":{"stringValue":"value"}}...}`, the **Activation Condition** value might look like `=(messageAttributes.key.stringValue="value")`. Leave this field empty to receive all messages every time. + +By default, messages with unmatched activation conditions are not deleted from the queue. They become available for consumers again after the visibility timeout expires. You can set up a dead-letter queue where messages are forwarded after a certain number of delivery attempts. + +You can also configure the Amazon SQS inbound Connector to delete messages from the queue if they don't match the activation condition. In this case, the message will not end up in the dead-letter queue. +To delete messages that don't match the activation condition, check the **Consume unmatched events** box. + +| **Consume unmatched events** box | Activation condition | Outcome | +| -------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------ | +| Checked | Matched | Message is removed from the queue | +| Unchecked | Matched | Message is removed from the queue | +| Checked | Unmatched | Message is removed from the queue | +| Unchecked | Unmatched | Message is not removed from the queue and will be redelivered or placed in the dead-letter queue | + +### Correlation + +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Amazon SQS Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: -When using the **Amazon SQS inbound Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +#### Correlation key - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. @@ -177,6 +196,35 @@ SQS message: Learn more about correlation keys in the [messages guide](../../../concepts/messages). +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `transactionId` field in the incoming message, you can configure the **Message ID expression** as follows: + +``` += body.transactionId +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + +### Deduplication + +The **Deduplication** section allows you to configure the Connector deduplication parameters. + +Not to be confused with **message deduplication**, **Connector deduplication** is a mechanism in the Connector Runtime that determines how many SQS subscriptions are created if there are multiple occurrences of the **Amazon SQS Consumer Connector** in the BPMN diagram. + +By default, the Connector runtime deduplicates Connectors based on properties, so elements with the same subscription properties only result in one subscription. Learn more about deduplication in the [deduplication guide](../use-connectors/inbound.md#connector-deduplication). + +To customize the deduplication behavior, check the **Manual mode** checkbox and configure the custom deduplication ID. + ## Activate the SQS inbound Connector Once you click the **Deploy** button, your SQS inbound Connector will be activated and publicly available. Whenever the SQS inbound Connector receives a new message, a new BPMN process will be created. diff --git a/docs/components/connectors/out-of-the-box-connectors/github.md b/docs/components/connectors/out-of-the-box-connectors/github.md index e5bb5d3d88..9558b74416 100644 --- a/docs/components/connectors/out-of-the-box-connectors/github.md +++ b/docs/components/connectors/out-of-the-box-connectors/github.md @@ -308,17 +308,45 @@ Please refer to the [update guide](/components/connectors/custom-built-connector } ``` -6. If you are using the GitHub Webhook Connector with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +### Correlation - - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. +The **Correlation** section allows you to configure the message correlation parameters. - - For example, given that your correlation key is defined with `pullRequestId` process variable, and the request body contains `{"pull_request": {"id": 123}}`, your correlation key settings will look like this: - - **Correlation key (process)**: `=pullRequestId` - - **Correlation key (payload)**: `=request.body.pull_request.id` +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the GitHub Webhook Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +### Correlation keys + +- **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **message intermediate catch event**. +- **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +For example, given that your correlation key is defined with `pullRequestId` process variable, and the request body contains `{"pull_request": {"id": 123}}`, your correlation key settings will look like this: + +- **Correlation key (process)**: `=pullRequestId` +- **Correlation key (payload)**: `=request.body.pull_request.id` Learn more about correlation keys in the [messages guide](../../../concepts/messages). +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `pull_request.id` field in the incoming request, you can configure the **Message ID expression** as follows: + +``` += request.body.pull_request.id +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + ## Activate the GitHub Webhook Connector by deploying your diagram Once you click the **Deploy** button, your GitHub Webhook will be activated and publicly available. diff --git a/docs/components/connectors/out-of-the-box-connectors/kafka.md b/docs/components/connectors/out-of-the-box-connectors/kafka.md index 0756cae99b..8271708609 100644 --- a/docs/components/connectors/out-of-the-box-connectors/kafka.md +++ b/docs/components/connectors/out-of-the-box-connectors/kafka.md @@ -193,7 +193,7 @@ The **Kafka Consumer Connector** allows you to consume messages by subscribing t To use the **Kafka Consumer Connector**, you need to have a Kafka instance with configured bootstrap server. Use Camunda secrets to avoid exposing your sensitive data as plain text. Follow our documentation on [managing secrets](/components/console/manage-clusters/manage-secrets.md) to learn more. -## Create a Kafka Consumer Connector task +## Create a Kafka Consumer Connector event 1. Add a **Start Event** or an **Intermediate Event** to your BPMN diagram to get started. 2. Change its template to a Kafka Consumer. @@ -201,39 +201,32 @@ Use Camunda secrets to avoid exposing your sensitive data as plain text. Follow 4. Complete your BPMN diagram. 5. Deploy the diagram to activate the Kafka consumer. -## Make your Kafka Consumer Connector executable +## Configure your Kafka Consumer Connector -To make your **Kafka Consumer Connector** executable, take the following steps: +To make your **Kafka Consumer Connector** executable, fill in the required properties. -1. In the **Authentication** section, select the **Authentication type**. -2. (If you selected _Credentials_ as the **Authentication type**) In the **Authentication** section, set the relevant credentials. For example, `{{secrets.MY_KAFKA_USERNAME}}`. Refer to the relevant [appendix section](#what-mechanism-is-used-to-authenticate-against-kafka) to find more about Kafka secure authentication. -3. In the **Kafka** section, select the serialization type for your messages. Choose **Default (JSON)** for JSON serialization or **Avro (experimental)** for Avro serialization. [Read more about Kafka Avro serialization](#avro-serialization). -4. In the **Kafka** section, set the URL of bootstrap server(s); comma-separated if more than one server required. -5. In the **Kafka** section, set the topic name. -6. (Optional) In the **Kafka** section, fill out the field **Additional properties** to set consumer configuration values. See the list of supported configurations at the [official Kafka documentation page](https://kafka.apache.org/documentation/#consumerconfigs). Additionally, check preconfigured values for the **Kafka Consumer Connector** in the relevant [appendix section](#what-are-default-kafka-consumer-client-properties). -7. In the **Kafka** section, you can set the **Offsets** for the partition. The number of offsets specified should match the number of partitions on the current topic. -8. In the **Kafka** section, you can set the **Auto offset reset** which tells the Connector what strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. -9. (For **Avro (experimental)**) In the **Message deserialization** section, input the schema that defines the message structure into the **Avro schema** field. -10. In the **Activation** section, you can set the **Activation Condition**. Based on this condition, we either start a process instance or do nothing if the condition is not met. For example, `=(value.itemId = "a4f6j2")`. Leave this field empty to trigger your webhook every time. +### Authentication -When using the **Kafka Consumer Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +In the **Authentication** section, select the **Authentication type**. +If you selected **Credentials** as the **Authentication type**, set the username and password. Use Camunda secrets to avoid exposing sensitive data as plain text. Follow our documentation on [managing secrets](/components/console/manage-clusters/manage-secrets.md) to learn more. -- **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. -- **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. +Refer to the relevant [appendix section](#what-mechanism-is-used-to-authenticate-against-kafka) to find more information about Kafka secure authentication. -For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the value contains `"value":{"correlationKey":"myValue"}`, your correlation key settings will look like this: +### Kafka properties -- **Correlation key (process)**: `=myCorrelationKey` -- **Correlation key (payload)**: `=value.correlationKey` +In the **Kafka** section, you can configure the following properties: -Learn more about correlation keys in the [messages guide](../../../concepts/messages). +- **Serialization type**: Select the serialization type for your messages. Choose **Default (JSON)** for JSON serialization or **Avro (experimental)** for Avro serialization. If you select **Avro (experimental)**, input the schema that defines the message structure into the **Avro schema** field that appears below. [Read more about Kafka Avro serialization](#avro-serialization). +- **Bootstrap servers**: Set the URL of bootstrap server(s); comma-separated if more than one server is required. +- **Topic**: Set the topic name. +- **Additional properties**: Fill out the field to set consumer configuration values. See the list of supported configurations in the [official Kafka documentation](https://kafka.apache.org/documentation/#consumerconfigs). Additionally, check preconfigured values for the **Kafka Consumer Connector** in the relevant [appendix section](#what-are-default-kafka-consumer-client-properties). +- **Offsets**: Set the offsets for the partition. The number of offsets specified should match the number of partitions on the current topic. +- **Auto offset reset**: Set the strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. -### Example Avro schema and data +#### Example Avro schema and data If the expected Kafka message looks like this: -#### Kafka message - - **Key** : `employee1` - **Value** : @@ -245,9 +238,7 @@ If the expected Kafka message looks like this: } ``` -Then the corresponding Avro schema to describe this message's structure would be: - -#### Avro schema: +The corresponding Avro schema to describe this message's structure would be: ```json { @@ -277,11 +268,78 @@ Then the corresponding Avro schema to describe this message's structure would be This schema defines a structure for a record that includes a name (string), an age (integer), and emails (an array of strings), aligning with the given Kafka message's value format. -## Activate the Kafka Consumer Connector by deploying your diagram +### Activation condition + +**Activation condition** is an optional FEEL expression field that allows for the fine-tuning of the Connector activation. This condition filters if the process step triggers when a Kafka message is consumed. + +For example, `=(value.itemId = "a4f6j2")` will only trigger the start event or continue the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. + +:::warning +By default, **Kafka Consumer Connector** does not commit the offset if the message cannot be processed. This includes cases where the activation condition is not met. +This means that if there is a message in the topic that cannot be processed due to an activation condition mismatch, the Kafka subscription will be stopped. +Follow the instruction below to configure this behavior. +::: + +To ignore messages that do not meet the activation condition and commit the offset, check the **Consume unmatched events** checkbox. + +| **Consume unmatched events** checkbox | Activation condition | Outcome | +| ------------------------------------- | -------------------- | ---------------------------------------------------- | +| Checked | Matched | Connector is triggered, offsets are commited | +| Unchecked | Matched | Connector is triggered, offsets are commited | +| Checked | Unmatched | Connector is not triggered, offsets are commited | +| Unchecked | Unmatched | Connector is not triggered, offsets are not commited | + +### Correlation + +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Kafka Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +#### Correlation key + +- **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **message intermediate catch event**. +- **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the incoming Kafka message contains `value:{correlationKey:myValue}`, your correlation key settings will look like this: + +- **Correlation key (process)**: `=myCorrelationKey` +- **Correlation key (payload)**: `=value.correlationKey` + +You can also use the key of the message to accomplish this in the **Correlation key (payload)** field with `=key`. -Once you click the **Deploy** button, your Kafka Consumer will be activated and starts consuming messages from the specified topic. +Learn more about correlation keys in the [messages guide](../../../concepts/messages). + +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. -## Kafka Consumer Connector response +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `transactionId` field in the incoming message, you can configure the **Message ID expression** as follows: + +``` += value.transactionId +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + +### Deduplication + +The **Deduplication** section allows you to configure the Connector deduplication parameters. +Not to be confused with **message deduplication**, **Connector deduplication** is a mechanism in the Connector Runtime that determines how many Kafka subscriptions are created if there are multiple occurrences of the **Kafka Consumer Connector** in the BPMN diagram. + +By default, the Connector runtime deduplicates Connectors based on properties, so elements with the same subscription properties only result in one subscription. Learn more about deduplication in the [deduplication guide](../use-connectors/inbound.md#connector-deduplication). + +To customize the deduplication behavior, check the **Manual mode** checkbox and configure the custom deduplication ID. + +### Output mapping The **Kafka Consumer Connector** returns the consumed message. @@ -302,6 +360,10 @@ You can use an output mapping to map the response: } ``` +## Activate the Kafka Consumer Connector by deploying your diagram + +When you click the **Deploy** button, your Kafka Consumer is activated and starts consuming messages from the specified topic. + ## Appendix & FAQ ### What mechanism is used to authenticate against Kafka? diff --git a/docs/components/connectors/out-of-the-box-connectors/rabbitmq-outbound.md b/docs/components/connectors/out-of-the-box-connectors/rabbitmq-outbound.md index bbe23df77f..127e76166c 100644 --- a/docs/components/connectors/out-of-the-box-connectors/rabbitmq-outbound.md +++ b/docs/components/connectors/out-of-the-box-connectors/rabbitmq-outbound.md @@ -120,12 +120,6 @@ Use Camunda secrets to avoid exposing your credentials. Follow our documentation -:::note -To maintain stable behavior from the RabbitMQ Connector, do not subscribe multiple RabbitMQ Connectors to the same queue. - -Successfully consumed messages are removed from the queue, even if they are not correlated. -::: - The **RabbitMQ Connector** is an inbound Connector that allows you to connect your BPMN process with [RabbitMQ](https://www.rabbitmq.com/) to receive messages from RabbitMQ. ## Prerequisites @@ -137,8 +131,6 @@ Using Camunda secrets to store credentials is recommended so you do not expose s To use the **RabbitMQ Consumer Connector** in your process, either change the type of existing event by clicking on it and using the wrench-shaped **Change type** context menu icon, or create a new Connector event using the **Append Connector** context menu. Follow our [guide on using Connectors](/components/connectors/use-connectors/index.md) to learn more. -## Create a RabbitMQ Consumer Connector task - 1. Add a **Start Event** or an **Intermediate Event** to your BPMN diagram to get started. 2. Change its template to a RabbitMQ Connector. 3. Fill in all required properties. @@ -149,7 +141,7 @@ To use the **RabbitMQ Consumer Connector** in your process, either change the ty ### Authentication -You can choose among the available RabbitMQ Connectors according to your authentication requirements. +You can choose among the available authentication types according to your requirements. First, you must have a user in your RabbitMQ instance with the necessary permissions. See more at the [RabbitMQ access control specification](https://www.rabbitmq.com/access-control.html). Next, we will choose the type of connection. @@ -188,35 +180,75 @@ Therefore, you cannot use process variables in the **Arguments** context express However, you can refer to Connector secrets using placeholder syntax. For example, `= {x-consumer-timeout: "{{secrets.CONSUMER_TIMEOUT}}"}`. ::: -### Activation +### Activation condition -The **Activation** section allows you to configure the custom activation conditions for the RabbitMQ Consumer Connector. +**Activation condition** is an optional FEEL expression field that allows for fine-tuning of the Connector activation. +For example, given a RabbitMQ message contains the payload `{"role": "USER", "action": "LOGIN""}`, the **Activation Condition** value might look like `=(message.body.role="USER")`. +This way, the Connector is triggered only if the message body contains the `role` field with the value `USER`. Leave this field empty to trigger your Connector for every incoming message. -#### Correlation key +By default, messages with unmatched activation conditions are rejected without re-queuing. You can set up a dead-letter queue in RabbitMQ to handle these messages. Learn more about dead-letter queues in the [RabbitMQ documentation](https://www.rabbitmq.com/dlx.html). -The correlation key fields are only applicable for the intermediate event **RabbitMQ Connector**. +You can also configure the RabbitMQ inbound Connector to acknowledge messages that don't match the activation condition. In this case, the message will not end up in the dead-letter queue, but will be acknowledged and removed from the queue. +To acknowledge messages that don't match the activation condition, check the **Consume unmatched events** checkbox. -When using the **RabbitMQ Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +| **Consume unmatched events** checkbox | Activation condition | Outcome | +| ------------------------------------- | -------------------- | -------------------------------------------------- | +| Checked | Matched | Message is acknowledged and removed from the queue | +| Unchecked | Matched | Message is acknowledged and removed from the queue | +| Checked | Unmatched | Message is acknowledged and removed from the queue | +| Unchecked | Unmatched | Message is rejected and re-queued | + +### Correlation + +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the RabbitMQ Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +#### Correlation key - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. -For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the value contains `message:{body:{correlationKey:myValue}}`, your correlation key settings will look like this: +For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the incoming RabbitMQ message contains `message:{body:{correlationKey:myValue}}`, your correlation key settings will look like this: - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=message.body.correlationKey` Learn more about correlation keys in the [messages guide](../../../concepts/messages). -#### Activation condition +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming message. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, to set the message ID to the value of the `transactionId` field in the incoming message, configure the **Message ID expression** as follows: + +``` += message.body.transactionId +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + +### Deduplication + +The **Deduplication** section allows you to configure the Connector deduplication parameters. +Not to be confused with **message deduplication**, **Connector deduplication** is a mechanism in the Connector Runtime that determines how many RabbitMQ subscriptions are created if there are multiple occurrences of the **RabbitMQ Consumer Connector** in the BPMN diagram. + +By default, the Connector runtime deduplicates Connectors based on properties, so elements with the same subscription properties only result in one subscription. Learn more about deduplication in the [deduplication guide](../use-connectors/inbound.md#connector-deduplication). -**Activation condition** is an optional FEEL expression field that allows for the fine-tuning of the Connector activation. -For example, given that RabbitMQ message contains the payload `{"role": "USER", "action": "LOGIN""}`, the **Activation Condition** value might look like as `=(message.body.role="USER")`. -This way, the Connector will be triggered only if the message body contains the `role` field with the value `USER`. Leave this field empty to trigger your Connector for every incoming message. +To customize the deduplication behavior, check the **Manual mode** checkbox and configure the custom deduplication ID. -### Variable mapping +### Output mapping -The **Variable mapping** section allows you to configure the mapping of the RabbitMQ message to the process variables. +The **Output mapping** section allows you to configure the mapping of the RabbitMQ message to the process variables. - Use **Result variable** to store the response in a process variable. For example, `myResultVariable`. - Use **Result expression** to map specific fields from the response into process variables using [FEEL](/components/modeler/feel/what-is-feel.md). For example, given the RabbitMQ Connector is triggered with the message body `{"role": "USER", "action": "LOGIN""}` and you would like to extract the pull request `role` as a process variable `messageRole`, the **Result Expression** might look like this: diff --git a/docs/components/connectors/out-of-the-box-connectors/slack.md b/docs/components/connectors/out-of-the-box-connectors/slack.md index d8d35991a2..ad8f0597f7 100644 --- a/docs/components/connectors/out-of-the-box-connectors/slack.md +++ b/docs/components/connectors/out-of-the-box-connectors/slack.md @@ -220,18 +220,45 @@ a BPMN process triggered by a [Slack](https://slack.com/) message. 5. In the **Variable expression** section, fill the field to map specific fields from the response into process variables using [FEEL](/components/modeler/feel/what-is-feel.md). The following example will extract both Slack message sender ID and text from Slack `app_mention` event: `={senderId: request.body.event.user, text: request.body.event.text}`. -When using the **Slack inbound Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +### Correlation -- **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Slack Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +#### Correlation keys + +- **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **message intermediate catch event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. -For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the request body contains `"event": {"text": "12345"}`, your correlation key settings will look like this: +For example, given your correlation key is defined with `myCorrelationKey` process variable, and the request body contains `"event": {"text": "12345"}`, your correlation key settings will look like this: - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=request.body.event.text` Learn more about correlation keys in the [messages guide](../../../concepts/messages). +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming request. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, to set the message ID to the value of the `text` field of the incoming message, configure the **Message ID expression** as follows: + +``` += request.body.event.text +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + ## Make your Slack inbound Connector for receiving slash command notifications executable 1. In the **Webhook Configuration** section, configure the **Webhook ID**. By default, **Webhook ID** is pre-filled with a random value. This value will be a part of the Slack event subscription or slash command URL. diff --git a/docs/components/connectors/out-of-the-box-connectors/twilio.md b/docs/components/connectors/out-of-the-box-connectors/twilio.md index aab4a0887e..ca28867959 100644 --- a/docs/components/connectors/out-of-the-box-connectors/twilio.md +++ b/docs/components/connectors/out-of-the-box-connectors/twilio.md @@ -203,32 +203,38 @@ If you have used the **Twilio Webhook Connector** with a Self-Managed Camunda 8 Use Camunda secrets to store your credentials securely. Refer to the [Camunda secrets documentation](/components/console/manage-clusters/manage-secrets.md) for more details. ::: -### Fill properties in the **Activation** section +### Fill in the properties in the **Activation** and **Correlation** sections -1. (Optional) Configure the **Activation Condition**. For example, if an external message has the body: +#### Activation condition - ``` - { - "body": { - "ApiVersion": "2010-04-01", - "FromCountry": "EU", - "Body": "Hello world", - "SmsStatus": "received" - ... - } - ... - } - ``` +Optionally, configure the **Activation Condition**. For example, if an external message has the body: - the **Activation Condition** value might look like this: +``` +{ + "body": { + "ApiVersion": "2010-04-01", + "FromCountry": "EU", + "Body": "Hello world", + "SmsStatus": "received" + ... + } + ... +} +``` - ``` - =(request.body.SmsStatus="received") - ``` +The **Activation Condition** value might look like this: - Leave this field empty to receive all messages every time. +``` +=(request.body.SmsStatus="received") +``` + +Leave this field empty to receive all messages every time. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Twilio Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: -2. When using the **Twilio Webhook Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +#### Correlation keys - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime, and the result is used to correlate the message. @@ -255,6 +261,19 @@ your correlation key settings will look like this: Learn more about correlation keys in the [messages guide](../../../concepts/messages). +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming request. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). + ## Activate the Twilio Webhook Connector by deploying your diagram Once you click the **Deploy** button, your Twilio Webhook will be activated and publicly available. diff --git a/docs/components/connectors/protocol/http-webhook.md b/docs/components/connectors/protocol/http-webhook.md index 06b711dad2..6aea209726 100644 --- a/docs/components/connectors/protocol/http-webhook.md +++ b/docs/components/connectors/protocol/http-webhook.md @@ -99,7 +99,17 @@ Please refer to the [update guide](/components/connectors/custom-built-connector } ``` -6. If you are using the HTTP Webhook Connector with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. +6. Fill in the **Correlation** parameters if they are required by the element template. + +### Correlation + +The **Correlation** section allows you to configure the message correlation parameters. + +:::note +The **Correlation** section is not applicable for the plain **start event** element template of the Webhook Connector. Plain **start events** are triggered by process instance creation and do not rely on message correlation. +::: + +#### Correlation key - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **Message Intermediate Catch Event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. @@ -111,8 +121,24 @@ For example, given that your correlation key is defined with `orderId` process v Learn more about correlation keys in the [messages guide](../../../concepts/messages). -7. To avoid double message submission, you can set a unique message ID by using `Message ID expression` field, - for example, `=request.body.orderId`. A request with the same value evaluated by `Message ID expression` will be rejected. +#### Message ID expression + +The **Message ID expression** is an optional field that allows you to extract the message ID from the incoming request. The message ID serves as a unique identifier for the message and is used for message correlation. +This expression is evaluated in the Connector Runtime and the result is used to correlate the message. + +In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. +Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +For example, if you want to set the message ID to the value of the `transactionId` field in the incoming message, you can configure the **Message ID expression** as follows: + +``` += request.body.transactionId +``` + +#### Message TTL + +The **Message TTL** is an optional field that allows you to set the time-to-live (TTL) for the correlated messages. TTL defines the time for which the message is buffered in Zeebe before being correlated to the process instance (if it can't be correlated immediately). +The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL to one hour. Learn more about the TTL concept in Zeebe in the [message correlation guide](../../../concepts/messages#message-buffering). ## Activate the HTTP Webhook Connector by deploying your diagram diff --git a/docs/components/console/manage-clusters/cluster-backups.md b/docs/components/console/manage-clusters/cluster-backups.md index 77522f6bc4..1b7029ad27 100644 --- a/docs/components/console/manage-clusters/cluster-backups.md +++ b/docs/components/console/manage-clusters/cluster-backups.md @@ -30,10 +30,7 @@ To create a manual backup, take the following steps: To create a scheduled backup, take the following steps: 1. Select the **Backups** tab. -2. Click **Create schedule**. - -![cluster-details](./img/cluster-detail-backups.png) - +2. Click **Set up schedule**. 3. Use the dropdown to schedule the frequency for backups - daily or weekly. 4. Select the time of day you would like backups to be taken at this frequency. 5. Click **Create schedule**. diff --git a/docs/components/console/manage-clusters/img/cluster-detail-backups-manual.png b/docs/components/console/manage-clusters/img/cluster-detail-backups-manual.png index b40db2f086..c3f06b3175 100644 Binary files a/docs/components/console/manage-clusters/img/cluster-detail-backups-manual.png and b/docs/components/console/manage-clusters/img/cluster-detail-backups-manual.png differ diff --git a/docs/components/console/manage-clusters/img/cluster-detail-backups.png b/docs/components/console/manage-clusters/img/cluster-detail-backups.png index d2d76df1a6..f50f706803 100644 Binary files a/docs/components/console/manage-clusters/img/cluster-detail-backups.png and b/docs/components/console/manage-clusters/img/cluster-detail-backups.png differ diff --git a/docs/components/console/manage-organization/external-sso.md b/docs/components/console/manage-organization/external-sso.md index f48916b1d6..b0823e8c3b 100644 --- a/docs/components/console/manage-organization/external-sso.md +++ b/docs/components/console/manage-organization/external-sso.md @@ -38,3 +38,7 @@ To generate the client on your end, you will need to use the Camunda **Redirect ### Additional information In some situations, you might need to access `openid-configuration` to establish the connection from your end. See [this OpenID configuration](https://weblogin.cloud.camunda.io/.well-known/openid-configuration) as an example. + +## Login + +If your organization is using social login procedures (like GitHub or Google), these procedures will not work when using your own IdP with Camunda. Users must log in by providing their email address on the login screen. diff --git a/docs/components/console/manage-organization/img/avatar-menue-multiple-organisations.png b/docs/components/console/manage-organization/img/avatar-menue-multiple-organisations.png index 5b7951e798..3274327600 100644 Binary files a/docs/components/console/manage-organization/img/avatar-menue-multiple-organisations.png and b/docs/components/console/manage-organization/img/avatar-menue-multiple-organisations.png differ diff --git a/docs/components/console/manage-organization/img/avatar-menue.png b/docs/components/console/manage-organization/img/avatar-menue.png index 5b7951e798..3274327600 100644 Binary files a/docs/components/console/manage-organization/img/avatar-menue.png and b/docs/components/console/manage-organization/img/avatar-menue.png differ diff --git a/docs/components/console/manage-organization/organization-settings.md b/docs/components/console/manage-organization/organization-settings.md index 5a057cbb0d..307227dcad 100644 --- a/docs/components/console/manage-organization/organization-settings.md +++ b/docs/components/console/manage-organization/organization-settings.md @@ -8,6 +8,8 @@ Organization management can be accessed via the **Open Organizations** icon in t ![Open Organizations icon in navigation bar](./img/avatar-menue.png) +Using the context menu of each organization, you can manage or leave an organization. + ### Overview The overview provides a summary of the organization, including: diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png b/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png index dfc7c2e388..d3c24226d4 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png and b/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png b/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png index 9530673d30..586490545e 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png and b/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png b/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png index 683a96451e..55b4df4aa3 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png and b/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/groups.png b/docs/components/modeler/desktop-modeler/element-templates/img/groups.png index fb923ff0a9..63f4a73a82 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/groups.png and b/docs/components/modeler/desktop-modeler/element-templates/img/groups.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/icons.png b/docs/components/modeler/desktop-modeler/element-templates/img/icons.png index 7d8a4bef34..13767f94c8 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/icons.png and b/docs/components/modeler/desktop-modeler/element-templates/img/icons.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/modal.png b/docs/components/modeler/desktop-modeler/element-templates/img/modal.png index 991e333536..00504f3b68 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/modal.png and b/docs/components/modeler/desktop-modeler/element-templates/img/modal.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/overview.png b/docs/components/modeler/desktop-modeler/element-templates/img/overview.png index ebc7187455..20cd7bc4c0 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/overview.png and b/docs/components/modeler/desktop-modeler/element-templates/img/overview.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png b/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png index 41abcb33ae..9cff74645a 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png and b/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png b/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png index 35ce119332..5f6c0d315f 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png and b/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png b/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png index d5fc644a35..d2789d2ce2 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png and b/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png differ diff --git a/docs/components/modeler/desktop-modeler/flags/flags.md b/docs/components/modeler/desktop-modeler/flags/flags.md index ba88d31892..c53a07565a 100644 --- a/docs/components/modeler/desktop-modeler/flags/flags.md +++ b/docs/components/modeler/desktop-modeler/flags/flags.md @@ -4,17 +4,21 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- -Flags allow you to control the availability of certain features within Desktop Modeler. +Flags allow you to control the availability of certain features within Desktop Modeler. Learn which flags [are available](#available-flags) and how to [configure them](#configuration). -## Configuring Flags +## Configuration You may configure flags in a `flags.json` file or pass them via CLI. -### Configure in `flags.json` +### Configuration via `flags.json` + +:::note +Configuration changes via `flags.json` will only take effect once you restart the application. +::: Place a `flags.json` file inside the `resources` folder of your local [`{USER_DATA}`](../search-paths#user-data-directory) or [`{APP_DATA_DIRECTORY}`](../search-paths#app-data-directory) directory to persist them. -### Configure via CLI +### Configuration via command line Pass flags via the command line when starting the application. @@ -24,7 +28,7 @@ camunda-modeler --disable-plugins Flags passed as command line arguments take precedence over those configured via a configuration file. -## Available Flags +## Available flags | flag | default value | | ---------------------------------------------------------- | ----------------------------------- | @@ -48,13 +52,13 @@ Flags passed as command line arguments take precedence over those configured via ## Examples -### Disable Plug-ins +### Disable plug-ins Start the modeler without activating installed plug-ins. This is useful to debug modeler errors. -### BPMN-only Mode +### BPMN-only mode -To disable the DMN and Form editing capabilities of the App, configure your `flags.json` like this: +To disable the CMMN and DMN editing capabilities of the App, configure your `flags.json` like this: ```js { diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png index 8541e2a7b6..c697791e50 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png differ diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png index d4cd6f97f5..629e1332eb 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png differ diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png index 1664f65815..1a20c4192e 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png differ diff --git a/docs/components/modeler/desktop-modeler/img/element-configuration.png b/docs/components/modeler/desktop-modeler/img/element-configuration.png index a5fdce32da..1b3c1b9231 100644 Binary files a/docs/components/modeler/desktop-modeler/img/element-configuration.png and b/docs/components/modeler/desktop-modeler/img/element-configuration.png differ diff --git a/docs/components/modeler/desktop-modeler/img/elements.png b/docs/components/modeler/desktop-modeler/img/elements.png index e7f798c4e8..3081feb839 100644 Binary files a/docs/components/modeler/desktop-modeler/img/elements.png and b/docs/components/modeler/desktop-modeler/img/elements.png differ diff --git a/docs/components/modeler/desktop-modeler/img/empty.png b/docs/components/modeler/desktop-modeler/img/empty.png index ae5116d28f..28536bfb84 100644 Binary files a/docs/components/modeler/desktop-modeler/img/empty.png and b/docs/components/modeler/desktop-modeler/img/empty.png differ diff --git a/docs/components/modeler/desktop-modeler/img/new-diagram.png b/docs/components/modeler/desktop-modeler/img/new-diagram.png index 45fcc10ebf..1b62ad92e3 100644 Binary files a/docs/components/modeler/desktop-modeler/img/new-diagram.png and b/docs/components/modeler/desktop-modeler/img/new-diagram.png differ diff --git a/docs/components/modeler/desktop-modeler/img/properties-panel.png b/docs/components/modeler/desktop-modeler/img/properties-panel.png index 2f51c2400b..6dea48a56a 100644 Binary files a/docs/components/modeler/desktop-modeler/img/properties-panel.png and b/docs/components/modeler/desktop-modeler/img/properties-panel.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png b/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png index e60f83f973..6987cfa3cc 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png and b/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png b/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png index 83836a98d9..4f2cbc76aa 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png and b/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-successful.png b/docs/components/modeler/desktop-modeler/img/start-instance-successful.png index b8e80dc2fb..3c20db9c9f 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-successful.png and b/docs/components/modeler/desktop-modeler/img/start-instance-successful.png differ diff --git a/docs/components/modeler/desktop-modeler/search-paths/search-paths.md b/docs/components/modeler/desktop-modeler/search-paths/search-paths.md index a2d0af056f..0f1ccabb8f 100644 --- a/docs/components/modeler/desktop-modeler/search-paths/search-paths.md +++ b/docs/components/modeler/desktop-modeler/search-paths/search-paths.md @@ -51,4 +51,18 @@ Resources in the user data directory will be found by all Camunda Modeler instan └── index.js ``` +### Example (macOS) + +``` +└── Library + └── Application Support + └── camunda-modeler + └── resources + ├── element-templates + | └── my-element-templates.json + └── plugins + └── my-plugin + └── index.js +``` + It is possible to change the user data directory using the `--user-data-dir` option via when starting Camunda Modeler from the command line. Refer to the [flags documentation](../flags) on how to configure the application with a flags file. diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png index f670508a7f..0696f5632d 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png index 0b9f6de2ea..987dc2128e 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png index 78fc1728d6..5e61dfc746 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png index 0cf98ce5db..b10d8e34d5 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png index 81186a4d90..0864815e0c 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png index 51ce94ee92..10abf4145b 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png index a729e94f0a..4c994409f9 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png index 0b3d137ae1..7dd3ab6e09 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png index a3df7a349f..1fc5b271bd 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png index 33283a590e..89c1288f5e 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png index 3566c59abf..056c7b9bc4 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png index ce7a607a02..5d2fc48e80 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png b/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png index 155bd29d7b..1de52f3abd 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png index 72974d823b..7b9731d0f9 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png index 9677a09a9c..0fed263476 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png differ diff --git a/docs/components/modeler/web-modeler/collaboration.md b/docs/components/modeler/web-modeler/collaboration.md index 4a4db38760..9b2dfa5b06 100644 --- a/docs/components/modeler/web-modeler/collaboration.md +++ b/docs/components/modeler/web-modeler/collaboration.md @@ -71,6 +71,12 @@ On the right side of a project, view a list of your collaborators and invite mor ![invite sent](img/collaboration/web-modeler-collaborator-invite-sent.png) ![invite email](img/collaboration/web-modeler-collaborator-invite-email.png) +:::info Self-Managed license restrictions +For Self-Managed non-production installations, the number of collaborators per project is limited to **five**, including the project administrator. + +For more information, refer to the [licensing documentation](/reference/licenses.md#web-modeler). +::: + ### Folders You can create folders in a project to semantically group and organize your diagrams. diff --git a/docs/components/modeler/web-modeler/process-applications.md b/docs/components/modeler/web-modeler/process-applications.md index c3b6383b18..e681db20e7 100644 --- a/docs/components/modeler/web-modeler/process-applications.md +++ b/docs/components/modeler/web-modeler/process-applications.md @@ -11,8 +11,6 @@ import DeployProcessApplicationImg from './img/process-applications/deploy-proce import RunProcessApplicationImg from './img/process-applications/run-process-application.png' import DeployErrorImg from './img/process-applications/deploy-error.png' -Camunda 8 SaaS only - ## Idea and purpose A process application is a special type of folder in Web Modeler that allows you to work on a set of related files and @@ -108,11 +106,9 @@ Note that when you deploy the process application: - Linked external forms will be deployed together with the process application. - Linked external BPMN and DMN diagrams are _not_ deployed together. They must be deployed separately. -## Limitations and availability - -Process applications are available in SaaS only. They are not yet available in Web Modeler Self-Managed. +## Limitations -Also be aware of the following limitations when working with process applications: +Be aware of the following limitations when working with process applications: - You cannot create subfolders inside a process application. - Process applications can only be deployed to a Zeebe cluster in version 8.4.0 or higher. diff --git a/docs/components/tasklist/img/task-tile-specification.png b/docs/components/tasklist/img/task-tile-specification.png new file mode 100644 index 0000000000..eaf58f3263 Binary files /dev/null and b/docs/components/tasklist/img/task-tile-specification.png differ diff --git a/docs/components/tasklist/img/tasklist-page-specifications.png b/docs/components/tasklist/img/tasklist-page-specifications.png new file mode 100644 index 0000000000..d79073424c Binary files /dev/null and b/docs/components/tasklist/img/tasklist-page-specifications.png differ diff --git a/docs/components/tasklist/img/tasklist-start-screen_light.png b/docs/components/tasklist/img/tasklist-start-screen_light.png index a35b71f69d..fd277e38b4 100644 Binary files a/docs/components/tasklist/img/tasklist-start-screen_light.png and b/docs/components/tasklist/img/tasklist-start-screen_light.png differ diff --git a/docs/components/tasklist/introduction-to-tasklist.md b/docs/components/tasklist/introduction-to-tasklist.md index 4b6e65eaa7..aea0cbcc02 100644 --- a/docs/components/tasklist/introduction-to-tasklist.md +++ b/docs/components/tasklist/introduction-to-tasklist.md @@ -8,6 +8,6 @@ Tasklist is a ready-to-use application to rapidly implement business processes a With Tasklist, orchestrate human workflows critical to your business and reduce time-to-value for your process orchestration projects with an out-of-the-box interface for manual work. -As you model a business process using BPMN and deploy it to the engine, users are notified in Tasklist when they're assigned a task, and run the work that's required for the specific task. +As you model a business process using BPMN and deploy it to the [Zeebe](/docs/components/zeebe/zeebe-overview.md) engine, users are notified in Tasklist when they're assigned a task, and run the work that's required for the specific task. You are not limited to use the [Tasklist user interface](/components/tasklist/userguide/using-tasklist.md). You can extend your case or build a fully custom application using the APIs. Tasklist provides a [REST API](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md) for task and variable queries, and together with the Zeebe API, tasks can be assigned, updated, and completed. Learn more in the [frontend developer documentation](/apis-tools/frontend-development/01-task-applications/01-introduction-to-task-applications.md). diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-all-tasks.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-all-tasks.jpg new file mode 100644 index 0000000000..638b9b814d Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-all-tasks.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-applied-filter-tasks.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-applied-filter-tasks.jpg new file mode 100644 index 0000000000..f99fa275d3 Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-applied-filter-tasks.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-default-filters.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-default-filters.jpg new file mode 100644 index 0000000000..beb1d1dddb Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-default-filters.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-delete-filter-dialog.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-delete-filter-dialog.jpg new file mode 100644 index 0000000000..b7df98b4dd Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-delete-filter-dialog.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-edit-filter-dialog.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-edit-filter-dialog.jpg new file mode 100644 index 0000000000..e5e74440f5 Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-edit-filter-dialog.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-filter-dialog-with-advanced-options.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-filter-dialog-with-advanced-options.jpg new file mode 100644 index 0000000000..7affd1a025 Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-filter-dialog-with-advanced-options.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-save-filter-dialog.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-save-filter-dialog.jpg new file mode 100644 index 0000000000..33e30a3dcd Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-save-filter-dialog.jpg differ diff --git a/docs/components/tasklist/userguide/img/task-filters/tasklist-saved-filter-options.jpg b/docs/components/tasklist/userguide/img/task-filters/tasklist-saved-filter-options.jpg new file mode 100644 index 0000000000..a79eda9e19 Binary files /dev/null and b/docs/components/tasklist/userguide/img/task-filters/tasklist-saved-filter-options.jpg differ diff --git a/docs/components/tasklist/userguide/img/tasklist-claim_light.png b/docs/components/tasklist/userguide/img/tasklist-claim_light.png index 6894c0db7a..82248b1cf7 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-claim_light.png and b/docs/components/tasklist/userguide/img/tasklist-claim_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-empty_light.png b/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-empty_light.png index 416a85df49..c3543f1041 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-empty_light.png and b/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-empty_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-list_light.png b/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-list_light.png index e721090291..5bd4472148 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-list_light.png and b/docs/components/tasklist/userguide/img/tasklist-claimed-by-me-list_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me_light.png b/docs/components/tasklist/userguide/img/tasklist-claimed-by-me_light.png deleted file mode 100644 index f3ab24e2fb..0000000000 Binary files a/docs/components/tasklist/userguide/img/tasklist-claimed-by-me_light.png and /dev/null differ diff --git a/docs/components/tasklist/userguide/img/tasklist-complete-task_light.png b/docs/components/tasklist/userguide/img/tasklist-complete-task_light.png index 4ed0bc3832..83419f5c97 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-complete-task_light.png and b/docs/components/tasklist/userguide/img/tasklist-complete-task_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-completing-task_light.png b/docs/components/tasklist/userguide/img/tasklist-completing-task_light.png new file mode 100644 index 0000000000..063cf364f1 Binary files /dev/null and b/docs/components/tasklist/userguide/img/tasklist-completing-task_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-notifications.png b/docs/components/tasklist/userguide/img/tasklist-notifications.png index f00d630f11..03c2626561 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-notifications.png and b/docs/components/tasklist/userguide/img/tasklist-notifications.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-task-completed_light.png b/docs/components/tasklist/userguide/img/tasklist-task-completed_light.png index fd6dffadda..fa051fb0a0 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-task-completed_light.png and b/docs/components/tasklist/userguide/img/tasklist-task-completed_light.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-task-details-form.png b/docs/components/tasklist/userguide/img/tasklist-task-details-form.png new file mode 100644 index 0000000000..e1bf206ade Binary files /dev/null and b/docs/components/tasklist/userguide/img/tasklist-task-details-form.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-task-details-process-diagram.png b/docs/components/tasklist/userguide/img/tasklist-task-details-process-diagram.png new file mode 100644 index 0000000000..88b0a6e819 Binary files /dev/null and b/docs/components/tasklist/userguide/img/tasklist-task-details-process-diagram.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-task-ordering.png b/docs/components/tasklist/userguide/img/tasklist-task-ordering.png index 586762d137..4b52c505a6 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-task-ordering.png and b/docs/components/tasklist/userguide/img/tasklist-task-ordering.png differ diff --git a/docs/components/tasklist/userguide/img/tasklist-with-variables-claimed-by-me_light.png b/docs/components/tasklist/userguide/img/tasklist-with-variables-claimed-by-me_light.png index 75602efeac..7c6101d457 100644 Binary files a/docs/components/tasklist/userguide/img/tasklist-with-variables-claimed-by-me_light.png and b/docs/components/tasklist/userguide/img/tasklist-with-variables-claimed-by-me_light.png differ diff --git a/docs/components/tasklist/userguide/starting-processes.md b/docs/components/tasklist/userguide/starting-processes.md index 58fd68a236..614b493c98 100644 --- a/docs/components/tasklist/userguide/starting-processes.md +++ b/docs/components/tasklist/userguide/starting-processes.md @@ -4,7 +4,7 @@ title: Starting processes description: "How to start a process from Tasklist." --- -It is possible to start processes by demand using Tasklist. To do this, click **Processes** in the top menu. All the processes you have access to start will be listed on the **Processes** page. +It is possible to start processes by demand using Tasklist. To do this, click **Processes** in the navigation menu. All the processes you have access to start will be listed on the **Processes** page. ![tasklist-processes](img/tasklist-processes.png) diff --git a/docs/components/tasklist/userguide/styles.module.css b/docs/components/tasklist/userguide/styles.module.css new file mode 100644 index 0000000000..9375e10ad5 --- /dev/null +++ b/docs/components/tasklist/userguide/styles.module.css @@ -0,0 +1,11 @@ +/* stylelint-disable docusaurus/copyright-header */ + +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.noShadow { + box-shadow: none !important; + border: none !important; +} diff --git a/docs/components/tasklist/userguide/tasklist-get-started.md b/docs/components/tasklist/userguide/tasklist-get-started.md new file mode 100644 index 0000000000..6419ba83d9 --- /dev/null +++ b/docs/components/tasklist/userguide/tasklist-get-started.md @@ -0,0 +1,73 @@ +--- +id: tasklist-get-started +title: Getting started +description: "How to assign and complete tasks in Tasklist." +--- + +When you've successfully logged in, you'll see the **Tasks** page: + +![tasklist-start-screen](../img/tasklist-start-screen_light.png) + +## Assign tasks + +To find relevant tasks you can use [filters](./using-filters.md). + +Select the **Unassigned** filter list and assign a task to yourself using the **Assign to me** button on the top panel: + +![tasklist-claim](img/tasklist-claim_light.png) + +## Work on assigned tasks + +Select the **Assigned to me** filter list to see the tasks that are assigned to you. Select a task to work on it. + +![tasklist-claimed-by-me-list](img/tasklist-claimed-by-me-list_light.png) + +### Get notified about new assignments + +Tasklist users can receive a browser notification when new tasks are assigned to them: + +![Tasklist notifications banner](./img/tasklist-notifications.png) + +The **Don't miss new assignments** banner at the top of the page appears when the user either assigns a new task to themselves, or opens a task that is already assigned to them. To turn on browser notifications, click **Turn on notifications**. + +To turn off notifications, disable notifications for this site in your browser settings. + +:::note +This requires Tasklist to run in the background, so if Tasklist is closed, users will not receive notifications. We recommend keeping Tasklist open in your browser for consistent use. +::: + +## Complete a task + +When a task is assigned to you, you can complete the task by filling out the given form, and clicking on the **Complete Task** button. + +![tasklist-completing-task](img/tasklist-completing-task_light.png) + +There are also cases where no form is available. In these cases, you have to add and/or update variables directly. + +![tasklist-with-variables-claimed-by-me](img/tasklist-with-variables-claimed-by-me_light.png) + +Always choose a list of tasks with a specified status. Then, select the task you want to work on. + +Change variables as needed and begin completion with the **Complete Task** button. + +Completed tasks will be shown in the [**Completed** task list](#completed-tasks). + +### Add and update variables + +Update variables in the **Variables** section by adjusting their text field. + +To add a new variable, click **Add Variable**. + +![tasklist-complete-task](img/tasklist-complete-task_light.png) + +## View completed tasks + +You will now see the completed task by selecting the **Completed** task list: + +![tasklist-task-completed](img/tasklist-task-completed_light.png) + +## Options + +### Auto-select first available task + +If this is enabled, whenever you open tasks, change filter options, or complete a task, Tasklist will automatically select the first task in the list. diff --git a/docs/components/tasklist/userguide/using-filters.md b/docs/components/tasklist/userguide/using-filters.md new file mode 100644 index 0000000000..a0e5bb6bcf --- /dev/null +++ b/docs/components/tasklist/userguide/using-filters.md @@ -0,0 +1,87 @@ +--- +id: using-filters +title: Using filters +description: "Find relevant tasks in Tasklist" +--- + +When you open the **Tasks** page, you will see the list of all tasks. This is a starting point for managing your workload. + +![tasklist-all-tasks](img/task-filters/tasklist-all-tasks.jpg "All open tasks") + +## Apply a filter + +As you browse through the list, you can utilize filters to locate specific tasks and organize your workload. + +### Select a filter + +You can select one of the default filters or [create a new filter](#create-new-filter). + +Default filters: + +- All open tasks +- Assigned to me +- Unassigned +- Completed tasks + +![tasklist-default-filters](img/task-filters/tasklist-default-filters.jpg "List of the default filters") + +## Create new filter + +To create a new filter, click to apply a new filter. This action will open a filter dialog. +In the dialog, you can define various rules based on task attributes. The supported attributes are: + +- Assignees and candidate groups +- Status +- Processes tasks belong to +- Dates (due date and follow up date) +- Task ID +- Task variables + +![tasklist-filter-dialog-with-advanced-options](img/task-filters/tasklist-filter-dialog-with-advanced-options.jpg "Available filter attributes") + +After defining the rules, click **Apply** to apply the filter. The system will then filter the tasks according to your criteria, displaying only the relevant tasks. + +## Save filter for future use + +If you need to use the filter again, you can save it: + +1. Click **Save**. +2. You will be prompted to enter a name for the filter. Choose a descriptive name that will help you recognize it later. +3. Click **Save and apply**. + +![tasklist-save-filter-dialog](img/task-filters/tasklist-save-filter-dialog.jpg "Add a descriptive name for the filter") + +The next time you need this filter, select it from your saved filters. + +![tasklist-applied-filter-tasks](img/task-filters/tasklist-applied-filter-tasks.jpg "List of tasks for the applied filter") + +:::note +Filters you create are saved locally to your device. Therefore, while you can access and reuse them on the same device, these filters will not be available if you switch to a different device. +::: + +## Update saved filter + +You can edit or [delete](#delete-a-filter) filters that you saved. + +![tasklist-saved-filter-options](img/task-filters/tasklist-saved-filter-options.jpg "Saved filter options") + +To change the criteria of an existing filter, take the following steps: + +1. Choose the filter you want to update from your list of saved filters, and click the three vertical dots next to its name. +2. Click **Edit**. This action will open the filter dialog with the current settings of the filter. +3. Update the filter criteria as needed. +4. Confirm the changes by clicking **Save and apply**. + +![tasklist-edit-filter-dialog](img/task-filters/tasklist-edit-filter-dialog.jpg "Edit filter details") + +## Delete a filter + +To delete a filter, take the following steps: + +1. Choose the filter you want to delete from your saved filters, and click the three vertical dots next to its name. +2. Click **Delete**. +3. Click **Confirm deletion** in the dialog. + +![tasklist-delete-filter-dialog](img/task-filters/tasklist-delete-filter-dialog.jpg "Confirm filter deletion") + +After deletion, the default filter will be applied, showing the full list of tasks again. diff --git a/docs/components/tasklist/userguide/using-tasklist.md b/docs/components/tasklist/userguide/using-tasklist.md index 7f0b0682ac..8345f85b61 100644 --- a/docs/components/tasklist/userguide/using-tasklist.md +++ b/docs/components/tasklist/userguide/using-tasklist.md @@ -1,113 +1,89 @@ --- id: using-tasklist -title: Overview and example use case -description: "What you can do with Tasklist and an example use case." +title: Overview +description: "Use Tasklist to manage and complete tasks that require manual interaction." --- -## What can I do with Tasklist? +import TasklistTasksPageSpecifications from '../img/tasklist-page-specifications.png'; +import TaskTileSpecification from '../img/task-tile-specification.png'; +import styles from "./styles.module.css"; -Tasklist shows you all user tasks that appeared in processes. Those processes are running in Zeebe. +Tasklist provides a user-friendly interface for managing and completing tasks that require manual interaction. -User tasks need an interaction from the user. This can be updating, adding variables, filling out a [Camunda Form](../../../guides/utilizing-forms.md), or simply completion of the task. +Tasklist shows you all user tasks that appear in processes running in [Zeebe](/docs/components/zeebe/zeebe-overview.md). -To work on a task the user must self-assign it first. Once assigned, the task can be completed. -The user can unassign the task if they do not intend to work on it. +The user interaction with a task may involve making updates, adding variables, filling out a [Camunda Form](../../../guides/utilizing-forms.md), or simply reviewing and completing the task. -Different task statuses and filters help the user choose the desired task. +User tasks can be automatically assigned to users and groups in the BPMN process, or they must be self-assigned from Tasklist. +Once assigned to a user, the task can be completed. The user can unassign the task if they do not intend to work on it. -:::note +:::info When a user is granted Tasklist access, the user has full access to the respective process instance data. ::: -## Example use case - -When you've successfully logged in, you'll see a screen similar to the following: - -![tasklist-start-screen](../img/tasklist-start-screen_light.png) +## Tasks overview -On the left side of the screen, you can see the list of tasks. On the right side of the screen, you can see details of the currently selected task. +Tasklist has two main pages: -You can filter tasks to see the following: +- Tasks page +- [Processes page](./starting-processes.md) -- All open tasks -- Assigned to me -- Unassigned -- Completed -- Custom (after selecting custom filters) +The **Tasks** page lists all tasks available to a user or user group and allows users to assign themselves a task from the list to work on. -To apply filter, click on the selection field in the left panel and choose preferred option. +On the left side of the page you can see task filters and the queue of tasks. +On the right side, details of the selected task are displayed. -Additionally, you can click the custom filters icon ![custom-filters-icon](img/custom-filters-icon.png) to define personalised filters. For example, you can filter by assignment state, status, and process. +See an overview of the page structure below: -![tasklist-custom-filters-modal](img/tasklist-custom-filters-modal.png) - -Click the order icon ![order-icon](img/order-icon.png) to order the tasks. You can arrange them by the date of creation, the due date, or the follow-up date. +Tasks page layout -The follow-up date defines the latest time you should start working on a task, helping you to prioritize work. -The due date provides a deadline for when the task should be finished: +The queue shows the preview of available tasks with the following information: -![tasklist-task-ordering](img/tasklist-task-ordering.png) +- Task name +- Name of the process the task belongs to +- Task context description ([can be optionally configured](/docs/components/concepts/variables.md#context-variable)) +- Assignee +- Creation date +- Due date +- Follow up date -### Assign tasks +Task attributes -When no tasks are assigned to you, the list appears empty. +## Task details -![tasklist-claimed-by-me-empty](img/tasklist-claimed-by-me-empty_light.png) +Select a task from the list to view its details. -Select the **Unassigned** list and assign a task to yourself using the **Assign to me** button on the top panel: +![tasklist-task-details-form](./img/tasklist-task-details-form.png "Task completion form") -![tasklist-claim](img/tasklist-claim_light.png) +Tasks often include a form that has to be filled out and submitted to complete a task. If the task doesn’t have a form, it will display task variables. -### Work on assigned tasks +![tasklist-with-variables-claimed-by-me](img/tasklist-with-variables-claimed-by-me_light.png "Task variables") -Select the **Assigned to me** list to see the tasks that are assigned to you. Select a task to work on it. +### View process diagram -![tasklist-claimed-by-me-list](img/tasklist-claimed-by-me-list_light.png) +From the task detail page you can switch to the **Processes** tab. This provides a visual representation of the BPMN diagram the task is part of, and may help you understand how an individual task fits into the larger workflow, what activities happened earlier, and what’s coming next. -Tasklist users can now receive a browser notification when new tasks are assigned to them: - -![Tasklist notifications banner](./img/tasklist-notifications.png) - -The **Don't miss new assignments** banner at the top of the page appears when the user either assigns a new task to themselves, or opens a task that is already assigned to them. To turn on browser notifications, click **Turn on notifications**. - -To turn off notifications, disable notifications for this site in your browser settings. +![tasklist-process-diagram](./img/tasklist-task-details-process-diagram.png "Process diagram preview") :::note -This requires Tasklist to run in the background, so if Tasklist is closed, users will not receive notifications. We recommend keeping Tasklist open in your browser for consistent use. +The diagram indicates the version of the process instance in which the task was initiated. ::: -### Complete a task - -When a task is assigned to you, you can complete the task by filling out the given form, and clicking on the **Complete Task** button. +#### Role-based access (RBA) -![tasklist-claimed-by-me](img/tasklist-claimed-by-me_light.png) +If your organization has RBA enabled, the process diagram will be displayed only to users that have permission to view process and decision definitions. -There are also cases where no form is available. In these cases, you have to add and/or update variables directly. +## Filtering -![tasklist-with-variables-claimed-by-me](img/tasklist-with-variables-claimed-by-me_light.png) +To group tasks and quickly find relevant assignments, use [task filters](./using-filters.md). -Always choose a list of tasks with a specified status. Then, select the task you want to work on. +[![tasklist-default-filters](img/task-filters/tasklist-default-filters.jpg "Task filters")](./using-filters.md) -Change variables as needed and begin completion with the **Complete Task** button. +## Ordering -Completed tasks will be shown in the [**Completed** task list](#completed-tasks). - -#### Add and update variables - -Update variables in the **Variables** section by adjusting their text field. - -To add a new variable, click **Add Variable**. - -![tasklist-complete-task](img/tasklist-complete-task_light.png) - -### Completed tasks - -You will now see the completed task by selecting the **Completed** task list: - -![tasklist-task-completed](img/tasklist-task-completed_light.png) - -## Options +Click the order icon ![order-icon](img/order-icon.png) to order the tasks. You can arrange them by the date of creation, the due date, or the follow-up date. -### Auto-select first available task +The follow-up date defines the latest time you should start working on a task, helping you prioritize work. +The due date provides a deadline for when the task should be finished. -If this is enabled, whenever you open tasks, change filter options, or complete a task, Tasklist will automatically select the first task in the list. +![tasklist-task-ordering](img/tasklist-task-ordering.png "Order tasks by dates") diff --git a/docs/guides/migrating-from-camunda-7/adjusting-source-code.md b/docs/guides/migrating-from-camunda-7/adjusting-source-code.md index 07c3534ace..0147d4a724 100644 --- a/docs/guides/migrating-from-camunda-7/adjusting-source-code.md +++ b/docs/guides/migrating-from-camunda-7/adjusting-source-code.md @@ -17,11 +17,11 @@ For example, to migrate an existing Spring Boot application, take the following 1. Adjust Maven dependencies: - Remove Camunda 7 Spring Boot Starter and all other Camunda dependencies. -- Add [Spring Zeebe Starter](https://github.com/camunda-community-hub/spring-zeebe). +- Add the [Spring Zeebe SDK](../../apis-tools/spring-zeebe-sdk/getting-started.md). 2. Adjust config: -- Set [Camunda 8 credentials](https://github.com/camunda-community-hub/spring-zeebe#configuring-camunda-platform-8-saas-connection) (for example, in `src/main/resources/application.properties`) and point it to an existing Zeebe cluster. +- Set [Camunda 8 credentials](../../apis-tools/spring-zeebe-sdk/configuration.md) (for example, in `src/main/resources/application.yaml`) and point it to an existing Zeebe cluster. - Remove existing Camunda 7 settings. 3. Add `@ZeebeDeployment(resources = "classpath*:**/*.bpmn")` to automatically deploy all BPMN models. @@ -52,7 +52,7 @@ In Camunda 7, there are three ways to attach Java code to service tasks in the B Camunda 8 cannot directly execute custom Java code. Instead, there must be a [job worker](/components/concepts/job-workers.md) executing code. -The community-supported [Camunda 7 Adapter](https://github.com/camunda-community-hub/camunda-7-to-8-migration/tree/main/camunda-7-adapter) implements such a job worker using [Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe). It subscribes to the task type `camunda-7-adapter`. [Task headers](/components/modeler/bpmn/service-tasks/service-tasks.md#task-headers) are used to configure a delegation class or expression for this worker. +The community-supported [Camunda 7 Adapter](https://github.com/camunda-community-hub/camunda-7-to-8-migration/tree/main/camunda-7-adapter) implements such a job worker using the [Spring Zeebe SDK](../../apis-tools/spring-zeebe-sdk/getting-started.md). It subscribes to the task type `camunda-7-adapter`. [Task headers](/components/modeler/bpmn/service-tasks/service-tasks.md#task-headers) are used to configure a delegation class or expression for this worker. ![Service task in Camunda 7 and Camunda 8](../img/migration-service-task.png) diff --git a/docs/guides/migrating-from-camunda-7/conceptual-differences.md b/docs/guides/migrating-from-camunda-7/conceptual-differences.md index bbd37c2c08..fa6375d3f8 100644 --- a/docs/guides/migrating-from-camunda-7/conceptual-differences.md +++ b/docs/guides/migrating-from-camunda-7/conceptual-differences.md @@ -92,7 +92,7 @@ You can find a complete Java Spring Boot example, showing the Camunda 7 process The programming models of Camunda 7 and Camunda 8 are very similar if you program in Java and use Spring. -For example, a worker in Camunda 8 can be implemented like this (using [spring-zeebe](https://github.com/camunda-community-hub/spring-zeebe)): +For example, a worker in Camunda 8 can be implemented like this (using the [Spring Zeebe SDK](../../apis-tools/spring-zeebe-sdk/getting-started.md)): ```java @JobWorker(type = "payment") @@ -106,7 +106,7 @@ public void retrievePayment(ActivatedJob job) { You can find more information on the programming model in Camunda 8 in [this blog post](https://blog.bernd-ruecker.com/how-to-write-glue-code-without-java-delegates-in-camunda-cloud-9ec0495d2ba5). :::note -JUnit testing with an embedded in-memory engine is also possible with Camunda 8, see [spring-zeebe documentation](https://github.com/camunda-community-hub/spring-zeebe#writing-test-cases). +JUnit testing with an embedded in-memory engine is also possible with Camunda 8, see the [Spring Zeebe SDK documentation](../../apis-tools/spring-zeebe-sdk/getting-started.md). ::: ## Camunda deployment @@ -149,7 +149,7 @@ Camunda 8 doesn't provide integration into Jakarta EE application servers like C ### CDI or OSGI -Due to limited adoption, there is no support for CDI or OSGI in Camunda 8. A lightweight integration layer comparable to [Spring Zeebe](https://github.com/camunda-community-hub/spring-zeebe) might evolve in the feature, and we are happy to support this as a community extension to the Zeebe project. +Due to limited adoption, there is no support for CDI or OSGI in Camunda 8. A lightweight integration layer comparable to the [Spring Zeebe SDK](../../apis-tools/spring-zeebe-sdk/getting-started.md) may be provided in the future. ### Polyglot applications (C#, Node.js) diff --git a/docs/reference/announcements.md b/docs/reference/announcements.md index af6bc1bbcc..6275e80453 100644 --- a/docs/reference/announcements.md +++ b/docs/reference/announcements.md @@ -10,6 +10,33 @@ Scheduled release date: 8th of Oct 2024 Scheduled end of maintenance: 14th of April 2026 +### Camunda 8 SaaS - Required cluster update + +:::caution +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: + +- **8.2+gen27** +- **8.3+gen11** +- **8.4+gen7** +- **8.5+gen2** + +::: + +auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. + +You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: + +- 8.0.x -> 8.2+gen27 +- 8.1.x -> 8.2+gen27 +- 8.2.x -> 8.2+gen27 +- 8.3.x -> 8.3+gen11 +- 8.4.x -> 8.4+gen7 +- 8.5.x -> 8.5+gen2 + +If you do not update the cluster by August 30th 2024, we will update the cluster for you. **Without an update, you would lose access to your cluster.** + +Camunda 8 Self-Managed clusters are not affected by this. + ### Zeebe repo rename impacts Go client The Camunda 8 Github repository was renamed from `http://github.com/camunda/zeebe` to `http://github.com/camunda/camunda`, impacting the Zeebe Go client path. diff --git a/docs/reference/dependencies.md b/docs/reference/dependencies.md index 4271b7425f..a0395ffb59 100644 --- a/docs/reference/dependencies.md +++ b/docs/reference/dependencies.md @@ -2079,58 +2079,59 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) - [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) - [@bpmn-io/diagram-js-ui@0.2.3](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.4.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.4.0) (MIT) +- [@bpmn-io/dmn-variable-resolver@0.7.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.7.0) (MIT) - [@bpmn-io/draggle@4.0.0](https://github.com/bpmn-io/draggle) (MIT) - [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) - [@bpmn-io/element-template-icon-renderer@0.5.2](https://github.com/bpmn-io/element-template-icon-renderer) (MIT) -- [@bpmn-io/element-templates-validator@2.0.1](https://github.com/bpmn-io/element-templates-validator) (MIT) +- [@bpmn-io/element-templates-validator@2.1.0](https://github.com/bpmn-io/element-templates-validator) (MIT) - [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@1.3.0](https://github.com/bpmn-io/feel-editor) (MIT) +- [@bpmn-io/feel-editor@1.5.0](https://github.com/bpmn-io/feel-editor) (MIT) - [@bpmn-io/feel-lint@1.2.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-carbon-styles@1.8.6](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-editor@1.8.6](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@1.8.6](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@1.8.6](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@1.8.6](https://github.com/bpmn-io/form-js) (MIT\*) +- [@bpmn-io/form-js-carbon-styles@1.8.7](https://github.com/bpmn-io/form-js) (MIT\*) +- [@bpmn-io/form-js-editor@1.8.7](https://github.com/bpmn-io/form-js) (MIT\*) +- [@bpmn-io/form-js-playground@1.8.7](https://github.com/bpmn-io/form-js) (MIT\*) +- [@bpmn-io/form-js-viewer@1.8.7](https://github.com/bpmn-io/form-js) (MIT\*) +- [@bpmn-io/form-js@1.8.7](https://github.com/bpmn-io/form-js) (MIT\*) - [@bpmn-io/form-variable-provider@1.3.0](https://github.com/bpmn-io/form-variable-provider) (MIT) - [@bpmn-io/moddle-utils@0.2.1](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@3.18.2](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/refactorings@0.2.1](https://www.npmjs.com/package/@bpmn-io/refactorings@0.2.1) (MIT) +- [@bpmn-io/properties-panel@3.19.0](https://github.com/bpmn-io/properties-panel) (MIT) +- [@bpmn-io/refactorings@0.2.2](https://www.npmjs.com/package/@bpmn-io/refactorings@0.2.2) (MIT) - [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) - [@bpmn-io/variable-resolver@1.2.2](https://www.npmjs.com/package/@bpmn-io/variable-resolver@1.2.2) (MIT) -- [@camunda/camunda-composite-components@0.6.3](https://github.com/camunda-cloud/camunda-composite-components) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.17.2](https://github.com/camunda/element-templates-json-schema) (MIT) +- [@camunda-cloud/license-validator@0.1.2](https://github.com/camunda-cloud/camunda-cloud-management-apps) (UNKNOWN) +- [@camunda/camunda-composite-components@0.7.1](https://github.com/camunda-cloud/camunda-composite-components) (Apache-2.0) +- [@camunda/element-templates-json-schema@0.18.0](https://github.com/camunda/element-templates-json-schema) (MIT) - [@camunda/example-data-properties-provider@1.2.1](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.1) (MIT) - [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) - [@camunda/form-js-assistant-module@0.5.0](https://github.com/camunda/form-js-assistant-module) (UNKNOWN) - [@camunda/form-linting@0.16.0](https://www.npmjs.com/package/@camunda/form-linting@0.16.0) (MIT) - [@camunda/form-playground@0.14.0](https://github.com/camunda/form-playground) (MIT) -- [@camunda/improved-canvas@1.3.2](https://github.com/camunda/improved-canvas) (MIT) -- [@camunda/linting@3.18.0](https://github.com/camunda/linting) (MIT) -- [@camunda/play@1.5.3](https://www.npmjs.com/package/@camunda/play@1.5.3) (Apache-2.0) -- [@camunda/zeebe-element-templates-json-schema@0.19.2](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@carbon/colors@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/elements@11.44.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@camunda/improved-canvas@1.7.0](https://github.com/camunda/improved-canvas) (MIT) +- [@camunda/linting@3.20.0](https://github.com/camunda/linting) (MIT) +- [@camunda/play@1.7.1](https://www.npmjs.com/package/@camunda/play@1.7.1) (Apache-2.0) +- [@camunda/zeebe-element-templates-json-schema@0.20.0](https://github.com/camunda/element-templates-json-schema) (MIT) +- [@carbon/colors@11.22.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/elements@11.46.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/feature-flags@0.18.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.22.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/grid@11.23.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/icon-helpers@10.47.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/icons-react@11.39.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons@11.40.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.17.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/icons@11.42.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/layout@11.22.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/motion@11.18.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/react@1.50.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) - [@carbon/styles@1.53.1](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.34.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.26.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.12.0](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.3.3](https://github.com/codemirror/commands) (MIT) +- [@carbon/themes@11.36.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/type@11.27.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@codemirror/autocomplete@6.16.0](https://github.com/codemirror/autocomplete) (MIT) +- [@codemirror/commands@6.5.0](https://github.com/codemirror/commands) (MIT) - [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.10.0](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.4.2](https://github.com/codemirror/lint) (MIT) +- [@codemirror/language@6.10.1](https://github.com/codemirror/language) (MIT) +- [@codemirror/lint@6.8.0](https://github.com/codemirror/lint) (MIT) - [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.4.0](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.23.1](https://github.com/codemirror/view) (MIT) +- [@codemirror/state@6.4.1](https://github.com/codemirror/state) (MIT) +- [@codemirror/view@6.26.3](https://github.com/codemirror/view) (MIT) - [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) - [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) - [@emotion/is-prop-valid@1.2.2](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) @@ -2139,7 +2140,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) - [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) - [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@ibm/telemetry-js@1.2.1](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) +- [@ibm/telemetry-js@1.5.2](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) - [@lezer/common@1.2.1](https://github.com/lezer-parser/common) (MIT) - [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) - [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) @@ -2147,16 +2148,16 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [@lezer/markdown@1.2.0](https://github.com/lezer-parser/markdown) (MIT) - [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) - [@monaco-editor/react@4.6.0](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@sentry-internal/feedback@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/replay-canvas@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/tracing@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/browser@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/integrations@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/replay@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@7.112.2](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry-internal/feedback@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry-internal/replay-canvas@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry-internal/tracing@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/browser@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/core@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/integrations@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/node@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/replay@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/types@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) +- [@sentry/utils@7.116.0](https://github.com/getsentry/sentry-javascript) (MIT) - [@sideway/address@4.1.5](https://github.com/sideway/address) (BSD-3-Clause) - [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) - [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) @@ -2184,34 +2185,34 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [async@3.2.5](https://github.com/caolan/async) (MIT) - [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) - [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.6.8](https://github.com/axios/axios) (MIT) +- [axios@1.7.2](https://github.com/axios/axios) (MIT) - [bail@2.0.2](https://github.com/wooorm/bail) (MIT) - [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) - [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) - [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.7.0](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) +- [bpmn-js-color-picker@0.7.1](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) - [bpmn-js-create-append-anything@0.5.1](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-element-templates@1.15.2](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) +- [bpmn-js-element-templates@1.15.3](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) - [bpmn-js-executable-fix@0.2.1](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@5.15.0](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.34.0](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) +- [bpmn-js-properties-panel@5.17.1](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) +- [bpmn-js-token-simulation@0.34.1](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) - [bpmn-js-tracking@0.6.0](https://github.com/bpmn-io/bpmn-js-tracking) (MIT) -- [bpmn-js@17.6.0](https://github.com/bpmn-io/bpmn-js) (MIT\*) +- [bpmn-js@17.8.1](https://github.com/bpmn-io/bpmn-js) (MIT\*) - [bpmn-moddle@8.1.0](https://github.com/bpmn-io/bpmn-moddle) (MIT) - [bpmn-moddle@9.0.1](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@2.18.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) +- [bpmnlint-plugin-camunda-compat@2.19.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) - [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@10.2.1](https://github.com/bpmn-io/bpmnlint) (MIT) -- [braces@3.0.2](https://github.com/micromatch/braces) (MIT) +- [bpmnlint@10.2.3](https://github.com/bpmn-io/bpmnlint) (MIT) +- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) - [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) - [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) - [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) - [call-bind@1.0.7](https://github.com/ljharb/call-bind) (MIT) - [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) - [camunda-bpmn-js-behaviors@1.3.0](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@4.5.1](https://github.com/camunda/camunda-bpmn-js) (MIT) +- [camunda-bpmn-js@4.9.0](https://github.com/camunda/camunda-bpmn-js) (MIT) - [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@2.2.0](https://github.com/camunda/camunda-dmn-js) (MIT) +- [camunda-dmn-js@2.4.0](https://github.com/camunda/camunda-dmn-js) (MIT) - [camunda-dmn-moddle@1.3.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) - [canvg@4.0.2](https://github.com/canvg/canvg) (MIT) - [character-entities@2.0.2](https://github.com/wooorm/character-entities) (MIT) @@ -2234,7 +2235,6 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) - [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) - [comma-separated-tokens@2.0.3](https://github.com/wooorm/comma-separated-tokens) (MIT) -- [component-event@0.1.4](https://github.com/component/event) (MIT\*) - [component-event@0.2.1](https://github.com/component/event) (MIT) - [component-props@1.1.1](https://github.com/component/props) (MIT\*) - [component-xor@0.0.4](https://github.com/component/xor) (MIT) @@ -2246,9 +2246,10 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [cookies@0.9.1](https://github.com/pillarjs/cookies) (MIT) - [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) - [copy-to@2.0.1](https://github.com/node-modules/copy-to) (MIT) -- [core-js@3.37.0](https://github.com/zloirock/core-js) (MIT) +- [core-js@3.37.1](https://github.com/zloirock/core-js) (MIT) - [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) - [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) +- [crypto-js@4.2.0](https://github.com/brix/crypto-js) (MIT) - [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) - [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) - [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) @@ -2267,25 +2268,25 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) - [dequal@2.0.3](https://github.com/lukeed/dequal) (MIT) - [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [diagram-js-direct-editing@2.1.2](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) - [diagram-js-direct-editing@3.0.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) - [diagram-js-grid@1.0.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@4.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) +- [diagram-js-minimap@5.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) - [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@14.4.1](https://github.com/bpmn-io/diagram-js) (MIT) +- [diagram-js@14.7.1](https://github.com/bpmn-io/diagram-js) (MIT) - [didi@10.2.2](https://github.com/nikku/didi) (MIT) - [diff@5.1.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) -- [dmn-js-decision-table@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js-boxed-expression@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js-decision-table@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js-drd@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js-literal-expression@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) - [dmn-js-properties-panel@3.3.0](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js-shared@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) +- [dmn-js@16.4.0](https://github.com/bpmn-io/dmn-js) (MIT\*) - [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) - [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) - [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) - [domify@2.0.0](https://github.com/sindresorhus/domify) (MIT) -- [dompurify@3.1.2](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) +- [dompurify@3.1.4](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) - [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) - [downshift@8.3.1](https://github.com/downshift-js/downshift) (MIT) - [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) @@ -2300,9 +2301,9 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [extend@3.0.2](https://github.com/justmoon/node-extend) (MIT) - [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) - [feelers@1.3.1](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@3.0.1](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.4.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.0.1](https://github.com/jonschlinkert/fill-range) (MIT) +- [feelin@3.1.0](https://github.com/nikku/feelin) (MIT) +- [file-drops@0.5.0](https://github.com/nikku/file-drops) (MIT) +- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) - [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) - [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) - [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) @@ -2317,12 +2318,11 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) - [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) - [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js) (MIT) - [has-property-descriptors@1.0.2](https://github.com/inspect-js/has-property-descriptors) (MIT) - [has-proto@1.0.3](https://github.com/inspect-js/has-proto) (MIT) - [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) - [has-tostringtag@1.0.2](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.1](https://github.com/inspect-js/hasOwn) (MIT) +- [hasown@2.0.2](https://github.com/inspect-js/hasOwn) (MIT) - [hast-util-whitespace@2.0.1](https://github.com/syntax-tree/hast-util-whitespace) (MIT) - [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) - [history@4.10.1](https://github.com/ReactTraining/history) (MIT) @@ -2335,7 +2335,6 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [ids@1.0.5](https://github.com/bpmn-io/ids) (MIT) - [immediate@3.0.6](https://github.com/calvinmetcalf/immediate) (MIT) - [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [indexof@0.0.1](https://www.npmjs.com/package/indexof) (MIT\*) - [inferno-shared@5.6.1](https://github.com/infernojs/inferno) (MIT) - [inferno-vnode-flags@5.6.1](https://github.com/infernojs/inferno) (MIT) - [inferno@5.6.2](https://github.com/infernojs/inferno) (MIT) @@ -2355,11 +2354,12 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [is-plain-obj@4.1.0](https://github.com/sindresorhus/is-plain-obj) (MIT) - [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) - [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [joi@17.13.0](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@5.2.4](https://github.com/panva/jose) (MIT) +- [joi@17.13.1](https://github.com/hapijs/joi) (BSD-3-Clause) +- [jose@5.3.0](https://github.com/panva/jose) (MIT) - [js-sha256@0.11.0](https://github.com/emn178/js-sha256) (MIT) - [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) - [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) +- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) - [jwt-decode@4.0.0](https://github.com/auth0/jwt-decode) (MIT) - [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) - [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) @@ -2390,10 +2390,8 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) - [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) - [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) - [luxon@3.4.4](https://github.com/moment/luxon) (MIT) - [marked@12.0.2](https://github.com/markedjs/marked) (MIT) -- [matches-selector@1.2.0](https://github.com/ForbesLindesay/matches-selector) (MIT) - [mdast-util-definitions@5.1.2](https://github.com/syntax-tree/mdast-util-definitions) (MIT) - [mdast-util-from-markdown@1.3.1](https://github.com/syntax-tree/mdast-util-from-markdown) (MIT) - [mdast-util-to-hast@12.3.0](https://github.com/syntax-tree/mdast-util-to-hast) (MIT) @@ -2425,8 +2423,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) - [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) - [min-dash@4.2.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@3.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@4.1.0](https://github.com/bpmn-io/min-dom) (MIT) +- [min-dom@4.2.1](https://github.com/bpmn-io/min-dom) (MIT) - [min-dom@5.0.0](https://github.com/bpmn-io/min-dom) (MIT) - [mitt@3.0.1](https://github.com/developit/mitt) (MIT) - [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) @@ -2440,7 +2437,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [moddle@7.0.0](https://github.com/bpmn-io/moddle) (MIT) - [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) - [moment@2.30.1](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.48.0](https://github.com/microsoft/monaco-editor) (MIT) +- [monaco-editor@0.49.0](https://github.com/microsoft/monaco-editor) (MIT) - [mri@1.2.0](https://github.com/lukeed/mri) (MIT) - [ms@2.1.2](https://github.com/zeit/ms) (MIT) - [mz@2.7.0](https://github.com/normalize/mz) (MIT) @@ -2452,7 +2449,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) - [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) - [object-refs@0.4.0](https://github.com/bpmn-io/object-refs) (MIT) -- [oidc-client-ts@3.0.1](https://github.com/authts/oidc-client-ts) (Apache-2.0) +- [oidc-client-ts@2.4.0](https://github.com/authts/oidc-client-ts) (Apache-2.0) - [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) - [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) - [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) @@ -2482,7 +2479,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [react-dom@18.2.0](https://github.com/facebook/react) (MIT) - [react-error-boundary@4.0.13](https://github.com/bvaughn/react-error-boundary) (MIT) - [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@2.0.4](https://github.com/staylor/react-helmet-async) (Apache-2.0) +- [react-helmet-async@2.0.5](https://github.com/staylor/react-helmet-async) (Apache-2.0) - [react-is@16.13.1](https://github.com/facebook/react) (MIT) - [react-is@18.2.0](https://github.com/facebook/react) (MIT) - [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) @@ -2502,18 +2499,18 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) - [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) - [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.76.0](https://github.com/sass/dart-sass) (MIT) +- [sass@1.77.4](https://github.com/sass/dart-sass) (MIT) - [saxen@10.0.0](https://github.com/nikku/saxen) (MIT) - [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) - [scheduler@0.23.2](https://github.com/facebook/react) (MIT) - [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) - [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) - [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.6.0](https://github.com/npm/node-semver) (ISC) +- [semver@7.6.2](https://github.com/npm/node-semver) (ISC) - [set-function-length@1.2.1](https://github.com/ljharb/set-function-length) (MIT) - [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) - [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) +- [side-channel@1.0.6](https://github.com/ljharb/side-channel) (MIT) - [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) - [source-map-js@1.2.0](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) - [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) @@ -2522,15 +2519,15 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) - [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) - [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statsig-js@4.51.0](https://github.com/statsig-io/js-client-sdk) (ISC) -- [statsig-react@1.38.1](https://github.com/statsig-io/react-sdk) (ISC) +- [statsig-js@5.0.0](https://github.com/statsig-io/js-client-sdk) (ISC) +- [statsig-react@2.0.0](https://github.com/statsig-io/react-sdk) (ISC) - [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) - [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) - [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) - [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) - [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) - [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) -- [styled-components@6.1.10](https://github.com/styled-components/styled-components) (MIT) +- [styled-components@6.1.11](https://github.com/styled-components/styled-components) (MIT) - [stylis@4.3.2](https://github.com/thysultan/stylis.js) (MIT) - [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) - [tabbable@6.2.0](https://github.com/focus-trap/tabbable) (MIT) @@ -2543,7 +2540,8 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) - [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) - [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-svg@4.0.0](https://github.com/bpmn-io/tiny-svg) (MIT) +- [tiny-svg@3.1.2](https://github.com/bpmn-io/tiny-svg) (MIT) +- [tiny-svg@4.1.2](https://github.com/bpmn-io/tiny-svg) (MIT) - [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) - [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) - [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) @@ -2569,7 +2567,6 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) - [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) - [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@8.3.2](https://github.com/uuidjs/uuid) (MIT) - [uuid@9.0.1](https://github.com/uuidjs/uuid) (MIT) - [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) - [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) @@ -2584,14 +2581,13 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) - [winston-transport@4.7.0](https://github.com/winstonjs/winston-transport) (MIT) - [winston@3.13.0](https://github.com/winstonjs/winston) (MIT) -- [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) - [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.1.0](https://github.com/camunda/camunda-bpmn-moddle) (MIT) +- [zeebe-bpmn-moddle@1.1.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) ### Web Modeler Dependencies (restapi) -- [ch.qos.logback:logback-classic@1.4.14](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.4.14](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) +- [ch.qos.logback:logback-classic@1.5.6](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) +- [ch.qos.logback:logback-core@1.5.6](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) - [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) - [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) - [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) @@ -2599,28 +2595,27 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [com.auth0:java-jwt@4.4.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) - [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) - [com.ethlo.time:itu@1.8.0](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.6.0](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.15.4](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.stephenc.jcip:jcip-annotations@1.0-1](http://stephenc.github.com/jcip-annotations) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml:classmate@1.7.0](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.core:jackson-annotations@2.17.1](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.core:jackson-core@2.17.1](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.core:jackson-databind@2.17.1](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.17.1](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.17.1](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.17.1](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.17.1](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.17.1](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.38.0](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.google.api.grpc:proto-google-common-protos@2.39.1](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.27.1](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.google.errorprone:error_prone_annotations@2.28.0](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.guava:failureaccess@1.0.2](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.guava:guava@33.1.0-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.j2objc:j2objc-annotations@3.0.0](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.google.protobuf:protobuf-java@3.25.3](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) - [com.networknt:json-schema-validator@1.4.0](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [com.nimbusds:nimbus-jose-jwt@9.37.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.nimbusds:nimbus-jose-jwt@9.39.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) - [com.squareup.okhttp3:logging-interceptor@4.12.0](https://square.github.io/okhttp/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.squareup.okio:okio@3.9.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) @@ -2629,57 +2624,58 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.0.1](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [com.zaxxer:HikariCP@5.1.0](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [commons-codec:commons-codec@1.16.1](https://commons.apache.org/proper/commons-codec/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-util@1.63.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-jakarta9@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.109.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.109.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.109.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.109.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.109.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.109.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.109.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.109.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.109.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.109.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.109.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.109.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.109.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.109.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.109.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.109.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.109.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.grpc:grpc-api@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-context@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-core@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-netty@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-protobuf@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-protobuf-lite@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-stub@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.grpc:grpc-util@1.64.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) +- [io.micrometer:micrometer-commons@1.13.0](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.micrometer:micrometer-core@1.13.0](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.micrometer:micrometer-jakarta9@1.13.0](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.micrometer:micrometer-observation@1.13.0](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.micrometer:micrometer-registry-prometheus@1.13.0](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.netty:netty-buffer@4.1.110.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-codec@4.1.110.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-codec-dns@4.1.110.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-codec-http@4.1.110.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-codec-http2@4.1.110.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-codec-socks@4.1.110.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-common@4.1.110.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-handler@4.1.110.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-handler-proxy@4.1.110.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-resolver@4.1.110.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-resolver-dns@4.1.110.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-resolver-dns-classes-macos@4.1.110.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-resolver-dns-native-macos@4.1.110.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport@4.1.110.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport-classes-epoll@4.1.110.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport-classes-kqueue@4.1.110.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport-native-epoll@4.1.110.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport-native-kqueue@4.1.110.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [io.netty:netty-transport-native-unix-common@4.1.110.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - [io.perfmark:perfmark-api@0.27.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.6.5](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient@0.16.0](http://github.com/prometheus/client_java/simpleclient) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel_agent@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.projectreactor:reactor-core@3.6.6](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.projectreactor.netty:reactor-netty-core@1.1.19](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.projectreactor.netty:reactor-netty-http@1.1.19](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-config@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-config) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-core@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-core) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-exposition-formats@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-exposition-formats) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-model@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-shaded-protobuf@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-shaded-dependencies/prometheus-metrics-shaded-protobuf) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [io.prometheus:prometheus-metrics-tracer-common@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-tracer/prometheus-metrics-tracer-common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [io.smallrye:jandex@3.1.2](https://smallrye.io) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) +- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) +- [io.swagger.core.v3:swagger-core-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) +- [io.swagger.core.v3:swagger-models-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) +- [io.undertow:undertow-core@2.3.13.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) +- [io.undertow:undertow-servlet@2.3.13.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) +- [io.undertow:undertow-websockets-jsr@2.3.13.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) - [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) - [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) @@ -2691,47 +2687,49 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) - [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.13](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [net.bytebuddy:byte-buddy@1.14.16](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [net.jodah:failsafe@2.4.1](http://github.com/jhalterman/failsafe/) ([Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0)) - [org.agrona:agrona@1.21.1](https://github.com/real-logic/agrona) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.antlr:antlr4-runtime@4.13.0](https://www.antlr.org/antlr4-runtime/) ([BSD-3-Clause](https://www.antlr.org/license.html)) - [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.13.0](https://commons.apache.org/proper/commons-lang/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.apache.commons:commons-lang3@3.14.0](https://commons.apache.org/proper/commons-lang/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.apache.httpcomponents:httpclient@4.5.14](http://hc.apache.org/httpcomponents-client-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.client5:httpclient5@5.2.3](https://hc.apache.org/httpcomponents-client-5.0.x/5.2.3/httpclient5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.apache.httpcomponents.client5:httpclient5@5.3.1](https://hc.apache.org/httpcomponents-client-5.0.x/5.3.1/httpclient5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.apache.httpcomponents.core5:httpcore5@5.2.4](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.4/httpcore5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.apache.httpcomponents.core5:httpcore5-h2@5.2.4](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.4/httpcore5-h2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.21.1](https://logging.apache.org/log4j/2.x/log4j/log4j-api/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.21.1](https://logging.apache.org/log4j/2.x/log4j/log4j-to-slf4j/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.20](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.apache.logging.log4j:log4j-api@2.23.1](https://logging.apache.org/log4j/2.x/log4j/log4j-api/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.apache.logging.log4j:log4j-to-slf4j@2.23.1](https://logging.apache.org/log4j/2.x/log4j/log4j-to-slf4j/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.apache.tomcat.embed:tomcat-embed-el@10.1.24](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.aspectj:aspectjweaver@1.9.22](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) - [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.21.1-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.21.1-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.camunda.bpm:camunda-license-check@2.7.0](http://www.camunda.org/camunda-license-check) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.camunda.bpm.model:camunda-dmn-model@7.21.2-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.camunda.bpm.model:camunda-xml-model@7.21.2-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.checkerframework:checker-qual@3.43.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) - [org.codehaus.mojo:animal-sniffer-annotations@1.23](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](https://spdx.org/licenses/MIT.txt)) - [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [org.eclipse.angus:jakarta.mail@2.0.3](http://eclipse-ee4j.github.io/angus-mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) - [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@9.22.3](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community)) +- [org.flywaydb:flyway-core@10.10.0](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-oss)) +- [org.flywaydb:flyway-database-postgresql@10.10.0](https://flywaydb.org/flyway-database-postgresql) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-oss)) - [org.freemarker:freemarker@2.3.32](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) - [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.1.12](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) +- [org.hdrhistogram:HdrHistogram@2.2.1](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) - [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.4.4.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) +- [org.hibernate.orm:hibernate-core@6.5.2.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) - [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) - [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.14.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) +- [org.jboss.xnio:xnio-api@3.8.15.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) - [org.jboss.xnio:xnio-nio@3.8.8.Final](http://www.jboss.org/xnio-all/xnio-nio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) - [org.jetbrains:annotations@13.0](http://www.jetbrains.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.jetbrains.kotlin:kotlin-stdlib@1.9.24](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.9.24](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.9.24](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.jsoup:jsoup@1.17.2](https://jsoup.org/) ([The MIT License](https://jsoup.org/license)) - [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) - [org.mapstruct:mapstruct@1.5.5.Final](https://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) @@ -2743,152 +2741,152 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [org.springdoc:springdoc-openapi-starter-common@2.5.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.springdoc:springdoc-openapi-starter-webmvc-api@2.5.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) - [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.5.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.2.5](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.2.5](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.5](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-aop@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-aspects@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-beans@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-context@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-context-support@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-core@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-expression@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-jcl@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-jdbc@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-orm@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-tx@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-web@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-webflux@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework:spring-webmvc@6.1.8](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-actuator@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-autoconfigure@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-actuator@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-aop@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-data-jpa@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-freemarker@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-jdbc@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-json@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-logging@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-mail@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-reactor-netty@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-security@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-undertow@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-validation@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.boot:spring-boot-starter-web@3.3.0](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.data:spring-data-commons@3.3.0](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.data:spring-data-jpa@3.3.0](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.retry:spring-retry@2.0.6](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) +- [org.springframework.security:spring-security-config@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-core@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-crypto@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-data@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-oauth2-core@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-oauth2-jose@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-oauth2-resource-server@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) +- [org.springframework.security:spring-security-web@6.3.0](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - [org.webjars:swagger-ui@5.13.0](http://webjars.org) ([Apache 2.0](https://github.com/swagger-api/swagger-ui)) - [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) - [org.wildfly.common:wildfly-common@1.5.4.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) - [org.yaml:snakeyaml@2.2](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.25.45](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.25.45](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums-spi@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.25.45](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-aws@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-spi@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.25.45](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:identity-spi@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.25.45](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.25.45](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.25.45](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.25.45](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.25.45](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:annotations@2.25.64](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:apache-client@2.25.64](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:auth@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:aws-core@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:aws-query-protocol@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:checksums@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:checksums-spi@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:endpoints-spi@2.25.64](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:http-auth@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:http-auth-aws@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:http-auth-spi@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:http-client-spi@2.25.64](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:identity-spi@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:json-utils@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:metrics-spi@2.25.64](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:netty-nio-client@2.25.64](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:profiles@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:protocol-core@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:rds@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:regions@2.25.64](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:sdk-core@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:sts@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:third-party-jackson-core@2.25.64](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) +- [software.amazon.awssdk:utils@2.25.64](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) - [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) - [software.amazon.jdbc:aws-advanced-jdbc-wrapper@2.3.6](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) ### Web Modeler Dependencies (websockets) -- [beyondcode/laravel-websockets@1.14.1](https://github.com/beyondcode/laravel-websockets.git) (MIT) -- [brick/math@0.11.0](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@2.1.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [cboden/ratchet@v0.4.4](https://github.com/ratchetphp/Ratchet.git) (MIT) +- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) +- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) +- [clue/redis-protocol@v0.3.1](https://github.com/clue/php-redis-protocol.git) (MIT) +- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) - [dflydev/dot-access-data@v3.0.2](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) - [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) - [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) - [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) - [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) - [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [facade/ignition-contracts@1.0.2](https://github.com/facade/ignition-contracts.git) (MIT) -- [fig/http-message-util@1.1.5](https://github.com/php-fig/http-message-util.git) (MIT) - [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) - [graham-campbell/result-type@v1.1.2](https://github.com/GrahamCampbell/Result-Type.git) (MIT) - [guzzlehttp/guzzle@7.8.1](https://github.com/guzzle/guzzle.git) (MIT) - [guzzlehttp/promises@2.0.2](https://github.com/guzzle/promises.git) (MIT) - [guzzlehttp/psr7@2.6.2](https://github.com/guzzle/psr7.git) (MIT) - [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v10.48.4](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.17](https://github.com/laravel/prompts.git) (MIT) +- [laravel/framework@v11.9.2](https://github.com/laravel/framework.git) (MIT) +- [laravel/prompts@v0.1.23](https://github.com/laravel/prompts.git) (MIT) +- [laravel/reverb@v1.0.0-beta12](https://github.com/laravel/reverb.git) (MIT) - [laravel/serializable-closure@v1.3.3](https://github.com/laravel/serializable-closure.git) (MIT) - [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) - [league/commonmark@2.4.2](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) - [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.27.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.25.1](https://github.com/thephpleague/flysystem-local.git) (MIT) +- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) +- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) - [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.5.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@2.72.3](https://github.com/briannesbitt/Carbon.git) (MIT) +- [monolog/monolog@3.6.0](https://github.com/Seldaek/monolog.git) (MIT) +- [nesbot/carbon@3.5.0](https://github.com/briannesbitt/Carbon.git) (MIT) - [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) - [nette/utils@v4.0.4](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.0](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v1.15.1](https://github.com/nunomaduro/termwind.git) (MIT) +- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) +- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) - [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.20.0](https://github.com/paragonie/sodium_compat.git) (ISC) +- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) - [phpoption/phpoption@1.9.2](https://github.com/schmittjoh/php-option.git) (Apache-2.0) - [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) - [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) - [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) - [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.0.2](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@1.1](https://github.com/php-fig/http-message.git) (MIT) +- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) +- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) - [psr/log@3.0.0](https://github.com/php-fig/log.git) (MIT) - [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.0](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.3](https://github.com/pusher/pusher-http-php.git) (MIT) +- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) +- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) - [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) - [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.5](https://github.com/ramsey/uuid.git) (MIT) +- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) - [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) +- [react/async@v4.2.0](https://github.com/reactphp/async.git) (MIT) - [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.11.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.4.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/http@v1.9.0](https://github.com/reactphp/http.git) (MIT) -- [react/promise@v3.0.0](https://github.com/reactphp/promise.git) (MIT) -- [react/socket@v1.14.0](https://github.com/reactphp/socket.git) (MIT) +- [react/dns@v1.12.0](https://github.com/reactphp/dns.git) (MIT) +- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) +- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) +- [react/promise-timer@v1.10.0](https://github.com/reactphp/promise-timer.git) (MIT) +- [react/socket@v1.15.0](https://github.com/reactphp/socket.git) (MIT) - [react/stream@v1.3.0](https://github.com/reactphp/stream.git) (MIT) -- [ringcentral/psr7@1.3.0](https://github.com/ringcentral/psr7.git) (MIT) -- [symfony/console@v6.4.6](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.0.3](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.4.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v6.4.6](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.0.3](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.4.2](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v6.4.0](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v6.4.4](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v6.4.6](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v6.4.6](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v6.4.6](https://github.com/symfony/mime.git) (MIT) +- [symfony/clock@v7.1.0](https://github.com/symfony/clock.git) (MIT) +- [symfony/console@v7.1.0](https://github.com/symfony/console.git) (MIT) +- [symfony/css-selector@v7.1.0](https://github.com/symfony/css-selector.git) (MIT) +- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) +- [symfony/error-handler@v7.1.0](https://github.com/symfony/error-handler.git) (MIT) +- [symfony/event-dispatcher@v7.1.0](https://github.com/symfony/event-dispatcher.git) (MIT) +- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) +- [symfony/finder@v7.1.0](https://github.com/symfony/finder.git) (MIT) +- [symfony/http-foundation@v7.1.0](https://github.com/symfony/http-foundation.git) (MIT) +- [symfony/http-kernel@v7.1.0](https://github.com/symfony/http-kernel.git) (MIT) +- [symfony/mailer@v7.1.0](https://github.com/symfony/mailer.git) (MIT) +- [symfony/mime@v7.1.0](https://github.com/symfony/mime.git) (MIT) - [symfony/polyfill-ctype@v1.29.0](https://github.com/symfony/polyfill-ctype.git) (MIT) - [symfony/polyfill-intl-grapheme@v1.29.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) - [symfony/polyfill-intl-idn@v1.29.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) @@ -2898,15 +2896,14 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [symfony/polyfill-php80@v1.29.0](https://github.com/symfony/polyfill-php80.git) (MIT) - [symfony/polyfill-php83@v1.29.0](https://github.com/symfony/polyfill-php83.git) (MIT) - [symfony/polyfill-uuid@v1.29.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v6.4.4](https://github.com/symfony/process.git) (MIT) -- [symfony/psr-http-message-bridge@v2.3.1](https://github.com/symfony/psr-http-message-bridge.git) (MIT) -- [symfony/routing@v6.4.6](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.4.2](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.0.4](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v6.4.4](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.4.2](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v6.4.3](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v6.4.6](https://github.com/symfony/var-dumper.git) (MIT) +- [symfony/process@v7.1.0](https://github.com/symfony/process.git) (MIT) +- [symfony/routing@v7.1.0](https://github.com/symfony/routing.git) (MIT) +- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) +- [symfony/string@v7.1.0](https://github.com/symfony/string.git) (MIT) +- [symfony/translation@v7.1.0](https://github.com/symfony/translation.git) (MIT) +- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) +- [symfony/uid@v7.1.0](https://github.com/symfony/uid.git) (MIT) +- [symfony/var-dumper@v7.1.0](https://github.com/symfony/var-dumper.git) (MIT) - [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) - [vlucas/phpdotenv@v5.6.0](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) - [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) diff --git a/docs/reference/licenses.md b/docs/reference/licenses.md index 32814d24fe..42e9ee0472 100644 --- a/docs/reference/licenses.md +++ b/docs/reference/licenses.md @@ -22,7 +22,7 @@ The Connector SDK, REST Connector, Connector Runtime Docker image, and Connector ### Web Modeler -Web Modeler is licensed under the proprietary Camunda Self-Managed Enterprise Edition license (a copy you obtain when you contact Camunda). +Web Modeler is licensed under the [Camunda License 1.0](https://legal.camunda.com/#camunda-license). ### Desktop Modeler diff --git a/docs/reference/supported-environments.md b/docs/reference/supported-environments.md index 06699960f6..e9b4721535 100644 --- a/docs/reference/supported-environments.md +++ b/docs/reference/supported-environments.md @@ -56,7 +56,7 @@ The following are tested and supported deployment options for Kubernetes, Docker - [Amazon EKS](/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md) - [Microsoft AKS](/self-managed/setup/deploy/azure/microsoft-aks.md) - [Google GKE](/self-managed/setup/deploy/gcp/google-gke.md) -- [Red Hat OpenShift](/self-managed/setup/deploy/openshift/redhat-openshift.md) (4.11+) +- [Red Hat OpenShift](/self-managed/setup/deploy/openshift/redhat-openshift.md) - [Docker](/self-managed/setup/deploy/other/docker.md) (`linux/amd64`) - [Manual](/self-managed/setup/deploy/local/manual.md) diff --git a/docs/self-managed/about-self-managed.md b/docs/self-managed/about-self-managed.md index bc5adfcacf..51e979a3e9 100644 --- a/docs/self-managed/about-self-managed.md +++ b/docs/self-managed/about-self-managed.md @@ -30,6 +30,6 @@ The following components are available for Camunda 8 Self-Managed: - Optimize - Identity (not available in Camunda 8 SaaS) - Console [Enterprise only](../../reference/licenses/#console) -- Web Modeler [Enterprise only](../../reference/licenses/#web-modeler) +- Web Modeler Camunda 8 Self-Managed users may also use [Desktop Modeler](../../components/modeler/desktop-modeler/install-the-modeler) as an addition to these components. Desktop Modeler can be used by process developers to build BPMN diagrams, DMN diagrams, or [Camunda Forms](../guides/utilizing-forms.md) for automation. diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png index a1323cb145..c82b673173 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png index 2ca8cd336e..7633ca05e2 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png index 5971136b47..cf8a1929a7 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png index a4919ccdb3..93b9633af7 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png index 9ffbacf8ba..be99b43046 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png differ diff --git a/docs/self-managed/modeler/web-modeler/configuration/configuration.md b/docs/self-managed/modeler/web-modeler/configuration/configuration.md index 96d78a9cd1..b599574c69 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/configuration.md +++ b/docs/self-managed/modeler/web-modeler/configuration/configuration.md @@ -5,10 +5,6 @@ sidebar_label: "Overview" description: "Read details on the configuration variables of Web Modeler Self-Managed, including components such as REST API, Identity, Keycloak, webapp, and WebSocket." --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - The different components of Web Modeler Self-Managed can be configured using environment variables. Each component's variables are described below. - For a working example configuration showing how the components are correctly wired together, see the [Docker Compose file for Web Modeler](/self-managed/setup/deploy/local/docker-compose.md). diff --git a/docs/self-managed/modeler/web-modeler/configuration/database.md b/docs/self-managed/modeler/web-modeler/configuration/database.md index 090e1291e3..441b139b7b 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/database.md +++ b/docs/self-managed/modeler/web-modeler/configuration/database.md @@ -4,10 +4,6 @@ title: "Database" description: "Read details on how to connect Web Modeler with a database." --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - This page describes advanced database connection configuration for Web Modeler. For a general guide on how to set up Web Modeler's database connection, visit [the configuration overview](configuration.md#database). ## Configuring SSL for the database connection diff --git a/docs/self-managed/modeler/web-modeler/configuration/identity.md b/docs/self-managed/modeler/web-modeler/configuration/identity.md index 41ab7759ad..30c357da3d 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/identity.md +++ b/docs/self-managed/modeler/web-modeler/configuration/identity.md @@ -4,10 +4,6 @@ title: "Identity" description: "Read details on how to connect Web Modeler with Identity securely." --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - ## Configuring secure connections to Identity By default, communication between Web Modeler and Identity is not encrypted, as it usually happens backend-to-backend within the same [Docker](/self-managed/setup/deploy/other/docker.md) network or [Kubernetes](/self-managed/setup/install.md) cluster. diff --git a/docs/self-managed/modeler/web-modeler/configuration/logging.md b/docs/self-managed/modeler/web-modeler/configuration/logging.md index b01e481934..f88fe21d42 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/logging.md +++ b/docs/self-managed/modeler/web-modeler/configuration/logging.md @@ -4,10 +4,6 @@ title: "Logging" description: "Read details on additional logging configuration for Web Modeler." --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - ## Logging configuration for the `restapi` component Web Modeler's `restapi` component uses the [logback framework](https://logback.qos.ch/) for logging. By default, the diff --git a/docs/self-managed/modeler/web-modeler/installation.md b/docs/self-managed/modeler/web-modeler/installation.md index 6f9f92a2ed..9cc2ac0709 100644 --- a/docs/self-managed/modeler/web-modeler/installation.md +++ b/docs/self-managed/modeler/web-modeler/installation.md @@ -4,8 +4,4 @@ title: Installation description: "Details on installation of Web Modeler Self-Managed." --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - Refer to the [installation guide](/self-managed/setup/overview.md) for details on how to install Web Modeler, and the [contact page](/contact) for guidance on obtaining Camunda 8 credentials. diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md index 0ddb6a530b..1c15961855 100644 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md @@ -4,10 +4,6 @@ title: "Troubleshooting database connection issues" sidebar_label: "Database connection" --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - You try to start Web Modeler, and encounter issues with the database connection. ## Secure connection to standard PostgreSQL diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md index 288635692c..65d993ec0a 100644 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md @@ -4,10 +4,6 @@ title: "Troubleshooting login issues" sidebar_label: "Login issues" --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - Logging in to Web Modeler doesn't work as expected and shows an error or a blank page when accessing the application. To further debug this issue, check the [log output](docs/self-managed/modeler/web-modeler/configuration/logging.md) of the `modeler-restapi` and `modeler-webapp` services for errors and warnings. diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md index 22cf9cb38a..1c99d947d5 100644 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md @@ -4,10 +4,6 @@ title: "Troubleshooting Zeebe connection issues" sidebar_label: "Zeebe connection" --- -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - You try to connect (i.e., to deploy) to a remote Zeebe cluster and Web Modeler reports an error. To resolve this issue, check if you can connect to Zeebe through another client, i.e., [`zbctl`](/apis-tools/cli-client/index.md). diff --git a/docs/self-managed/setup/deploy/openshift/redhat-openshift.md b/docs/self-managed/setup/deploy/openshift/redhat-openshift.md index 941839e830..d228a6d27f 100644 --- a/docs/self-managed/setup/deploy/openshift/redhat-openshift.md +++ b/docs/self-managed/setup/deploy/openshift/redhat-openshift.md @@ -4,64 +4,106 @@ title: "Red Hat OpenShift" description: "Deploy Camunda 8 Self-Managed on Red Hat OpenShift" --- -Camunda 8 can be deployed using Helm on Red Hat OpenShift with proper configurations. The primarily difference from [general Helm deployment guide](/self-managed/setup/install.md) is related to the Security Context Constraints (SCCs) you have in your cluster. +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -## Compatibility +Red Hat OpenShift, a Kubernetes distribution maintained by [Red Hat](https://www.redhat.com/en/technologies/cloud-computing/openshift), provides options for both managed and on-premise hosting. -We test against the following OpenShift versions and guarantee compatibility with: +Deploying Camunda 8 on Red Hat OpenShift is achievable using Helm, given the appropriate configurations. However, it's important to note that the [Security Context Constraints (SCCs)](#security-context-constraints-sccs) and [Routes](./redhat-openshift.md?current-ingress=openshift-routes#using-openshift-routes) configurations might require slight deviations from the guidelines provided in the [general Helm deployment guide](/self-managed/setup/install.md). -| OpenShift version | Supported | -| ----------------- | ------------------ | -| 4.12.x | :white_check_mark: | -| 4.13.x | :white_check_mark: | -| 4.14.x | :white_check_mark: | +## Cluster Specification -Any version not explicitly marked in the table above is not tested, and we cannot guarantee compatibility. +When deploying Camunda 8 on an OpenShift cluster, the cluster specification should align with your specific requirements and workload characteristics. Here's a suggested configuration to begin with: -## Pitfalls to avoid +- **Instance type:** 4 vCPUs (x86_64, >3.1 GHz), 16 GiB Memory (for example, [m5.xlarge on AWS](https://aws.amazon.com/en/ebs/general-purpose/)) +- **Number of dedicated nodes:** 4 +- **Volume type:** SSD volumes (with between 1000 and 3000 IOPS per volume, and a throughput of 1,000 MB/s per volume, for instance, [gp3 on AWS](https://aws.amazon.com/en/ebs/general-purpose/)) -For general deployment pitfalls, visit the [deployment troubleshooting guide](/self-managed/operational-guides/troubleshooting/troubleshooting.md). +### Supported Versions -### Security Context Constraints (SCCs) +We conduct testing and ensure compatibility against the following OpenShift versions: -Much like how roles control the permissions of users, Security Context Constraints (SCCs) are a way to control the permissions of the applications deployed, both at the pod and container level. It's generally recommended deploying your application with the most restricted SCCs possible. If you're not familiar with security context constraints, refer to the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html). +- Compatibility is not guaranteed for OpenShift versions no longer supported by Red Hat, as indicated in the "End of Support Date" column. -#### Permissive SCCs +| OpenShift Version | [End of Support Date](https://access.redhat.com/support/policy/updates/openshift) | +| ----------------- | --------------------------------------------------------------------------------- | +| 4.15.x | August 27, 2025 | +| 4.14.x | May 1, 2025 | +| 4.13.x | November 17, 2024 | +| 4.12.x | July 17, 2024 | -Out of the box, if you deploy Camunda 8 (and related infrastructure) with a permissive SCCs, there is nothing particular for you to configure. Here, a permissive SCCs refers to one where the strategy for `RunAsUser` is defined as `RunAsAny` (including root). +## Deploying Camunda 8 in OpenShift -#### Non-root SCCs +Depending on your OpenShift cluster's Security Context Constraints (SCCs) configuration, the deployment process may vary. -If you wish to deploy Camunda 8 but restrict the applications from running as root (e.g. the `nonroot` built-in SCCs), you will need to configure each pod and container to run as a non-root user. For example, when deploying Zeebe using a stateful set, you would add the following, replacing `1000` with the user ID you wish to use: + + -```yaml -spec: - template: - spec: - securityContext: - runAsUser: 1000 - containers: - securityContext: - runAsUser: 1000 +### With restrictive SCCs + +By default, OpenShift employs more restrictive SCCs. The Helm chart must assign `null` to the user running all components and dependencies. Due to a [null bug](https://github.com/helm/helm/issues/9136) [in Helm](https://github.com/helm/helm/issues/12490), this operation must be executed using [a post-renderer](https://helm.sh/docs/topics/advanced/#post-rendering). + +To deploy Camunda 8 on OpenShift, please follow these installation steps: + +1. Install [Helm and other CLI tools](/self-managed/setup/install.md#prerequisites). +2. Ensure that `bash` and `sed` on linux or `gsed` on mac are available locally, as they are necessary for the [post-rendering process to patch the values of OpenShift](https://github.com/camunda/camunda-platform-helm/blob/main/charts/camunda-platform/openshift/patch.sh). +3. Install the [Camunda Helm chart repository](/self-managed/setup/install.md#helm-repository). +4. Download the exact version of the chart that you want to install and extract it in a directory ([Camunda 8 Helm Chart Version Matrix](https://helm.camunda.io/camunda-platform/version-matrix/)): + +```shell +# List of available version: https://helm.camunda.io/camunda-platform/version-matrix/ +export CHART_VERSION="pleaseDefine" + +# Make sure to set CHART_VERSION to match the chart version you want to install. +helm pull camunda/camunda-platform --version "$CHART_VERSION" --untar --untardir "/tmp/camunda-platform-$CHART_VERSION" ``` -:::note -As the container user in OpenShift is always part of the root group, it's not necessary to define a `fsGroup` for any Camunda 8 applications pod security context. +5. Install the Camunda chart with the patched SCCs (`/tmp/camunda-platform-CHART_VERSION/camunda-platform/openshift/values.yaml`) and the post-renderer script (`/tmp/camunda-platform-CHART_VERSION/camunda-platform/openshift/patch.sh`): + +```shell +helm install camunda camunda/camunda-platform --skip-crds \ + --values "/tmp/camunda-platform-$CHART_VERSION/camunda-platform/openshift/values.yaml" \ + --post-renderer bash --post-renderer-args "/tmp/camunda-platform-$CHART_VERSION/camunda-platform/openshift/patch.sh" +``` + +You can customize the values by providing your own values in addition to the OpenShift values file. + +:::note Always use the post-renderer +For updates as well as the initial installation. Skipping it will reapply default values and may prevent some services from starting. ::: -This is necessary for all Camunda 8 applications, as well as related ones (e.g. Keycloak, PostgreSQL, etc.). This is notably crucial for stateful applications which will write to persistent volumes, but it's also generally a good idea to set. + + + +### With permissive SCCs + +To use permissive SCCs, simply install the charts as they are. Follow the [general Helm deployment guide](/self-managed/setup/install.md). + + + + +## Available Configurations of OpenShift Components + +### Security Context Constraints (SCCs) + +[Security Context Constraints (SCCs)](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html) are a set of conditions that a pod must adhere to in order to be accepted into the system. They define the security conditions under which a pod operates. + +Similar to how roles control user permissions, SCCs regulate the permissions of deployed applications, both at the pod and container level. It's generally recommended to deploy applications with the most restrictive SCCs possible. If you're unfamiliar with security context constraints, you can refer to the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html). + + + #### Restrictive SCCs -The following is the most restrictive SCCs you can use to deploy Camunda 8. Note that this is, in OpenShift 4.10, equivalent to the built-in `restricted` SCCs (which is the default SCCs). +The following represents the most restrictive SCCs that can be used to deploy Camunda 8. Note that in OpenShift 4.10, these are equivalent to the built-in `restricted` SCCs (which are the default SCCs). ```yaml Allow Privileged: false Default Add Capabilities: -Required Drop Capabilities: KILL,MKNOD,SYS_CHROOT,SETUID,SETGID +Required Drop Capabilities: KILL, MKNOD, SYS_CHROOT, SETUID, SETGID Allowed Capabilities: Allowed Seccomp Profiles: -Allowed Volume Types: configMap,downwardAPI,emptyDir,persistentVolumeClaim,projected,secret +Allowed Volume Types: configMap, downwardAPI, emptyDir, persistentVolumeClaim, projected, secret Allow Host Network: false Allow Host Ports: false Allow Host PID: false @@ -73,220 +115,103 @@ FSGroup Strategy: MustRunAs Supplemental Groups Strategy: RunAsAny ``` -When using this, you must take care not to specify _any_ `runAsUser` or `fsGroup` in either the pod or container security context. Instead, let OpenShift assign arbitrary IDs. +When using these SCCs, be sure not to specify _any_ `runAsUser` or `fsGroup` values in either the pod or container security context. Instead, allow OpenShift to assign arbitrary IDs. :::note -If you are providing the ID ranges yourself, you can configure the `runAsUser` and `fsGroup` values yourself as well. +If you are providing the ID ranges yourself, you can also configure the `runAsUser` and `fsGroup` values accordingly. ::: -The Camunda Helm chart can be deployed to OpenShift with a few modifications, primarily revolving around your desired security context constraints. You can find out more about this in the next section. +The Camunda Helm chart can be deployed to OpenShift with a few modifications, primarily revolving around your desired security context constraints. + + -## Deployment - -As discussed in the previous section, you need to configure the pod and container security contexts based on your desired security context constraints (SCCs). +#### Non-root SCCs -The `Elasticsearch`, `Keycloak`, and `PostgreSQL` charts all specify default non-root users for security purposes. To deploy these charts through the Camunda Helm chart, these default values must be removed. Unfortunately, due to a [longstanding bug in Helm](https://github.com/helm/helm/issues/9136) affecting all Helm versions from 3.2.0 and greater, this makes the installation of the chart (when deploying any of these sub-charts) more complex. +If you intend to deploy Camunda 8 while restricting applications from running as root (e.g., using the `nonroot` built-in SCCs), you'll need to configure each pod and container to run as a non-root user. For example, when deploying Zeebe using a stateful set, you would include the following YAML, replacing `1000` with the desired user ID: -Note that this is only an issue if you are deploying `Elasticsearch`, `Keycloak` (via `Identity`), or `PostgreSQL` (via `Keycloak`). If you are not deploying these, or not via the `camunda-platform` chart, or you are using [permissive SCCs](#permissive-sccs), this issue does not affect your deployment. +```yaml +spec: + template: + spec: + securityContext: + runAsUser: 1000 + containers: + securityContext: + runAsUser: 1000 +``` :::note -This also affects installations done through the OpenShift console, as it still uses Helm under the hood. +As the container user in OpenShift is always part of the root group, defining a `fsGroup` for any Camunda 8 application pod security context is unnecessary. ::: -### Permissive SCCs - -To use permissive SCCs, install the charts as they are. Follow the [general Helm deployment guide](/self-managed/setup/install.md). +This configuration is necessary for all Camunda 8 applications, as well as related ones (e.g., Keycloak, PostgreSQL, etc.). It's particularly crucial for stateful applications that will write to persistent volumes, but it's also generally a good security practice. + + -### Restrictive SCCs - -To use more restrictive SCCs, configure the following minimum set of values for the various applications. The recommendations outlined in the sections are relevant here as well. As the Camunda 8 applications do not define a pod or security context, follow these recommendations, or simply omit defining any. - -If you are deploying with SCCs where `RunAsUser` is `MustRunAsRange` (e.g. the default `restricted` SCCs), and are deploying at least one of `Elasticsearch`, `Keycloak`, or `PostgreSQL`, it's necessary to unset the default security context of these charts. If this does not apply to you, you can stop here. - -Now this depends on which Helm version you use: `3.1.3 and lower`, or `3.2.0 and greater` (i.e. one affected by [Helm's nested sub-charts](https://github.com/helm/helm/issues/9136)). Find out your Helm version by running the following: - -```shell -helm version --short - -v3.8.1+g5cb9af4 -``` - -#### Helm 3.1.3 or lower +#### Permissive SCCs -If you're running on Helm 3.0.0 up to 3.1.3, you need to add these values to your `values.yaml` file, or save them to a new file locally, e.g. `openshift.yaml`: +If you deploy Camunda 8 (and related infrastructure) with permissive SCCs out of the box, there's nothing specific for you to configure. Here, permissive SCCs refer to those where the strategy for `RunAsUser` is defined as `RunAsAny` (including root). -:::note -These values are also available in the [Camunda Helm chart repository](https://github.com/camunda/camunda-platform-helm/tree/main/charts/camunda-platform/openshift). -::: + + -```yaml -# omit this section if elasticsearch.enabled is false -elasticsearch: - securityContext: - runAsUser: null - sysctlInitContainer: - enabled: false - podSecurityContext: - fsGroup: null - runAsUser: null - -# omit this section if identity.enabled is false -identityKeycloak: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - postgresql: - # omit this section if identityKeycloak.postgresql.primary.enabled is false - primary: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - # omit this section if identityKeycloak.postgresql.readReplicas.enabled is false - readReplicas: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - # omit this section if identityKeycloak.postgresql.metrics.enabled is false - metrics: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null -``` +## Ingress Configuration -When installing the chart, run the following: +Before exposing services outside the cluster, we need an ingress component. Here's how you can configure it: -```shell -helm install camunda camunda/camunda-platform --skip-crds -f values.yaml -f openshift.yaml -``` + + -#### Helm 3.2.0 and greater +### Using Kubernetes Ingress -If you must deploy using Helm 3.2.0 or greater, you have two options. One is to use a SCCs which defines the `RunAsUser` strategy to be at least `RunAsAny`. If that's not possible, then you need to make use of [a post-renderer](https://helm.sh/docs/topics/advanced/#post-rendering). This workaround is also described in detail in the [Helm chart repository](https://github.com/camunda/camunda-platform-helm/tree/main/charts/camunda-platform/openshift#post-renderer-setup). +[Routes](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html) serve as OpenShift's default Ingress implementation. -:::warning -If using a post-renderer, you **must** use the post-renderer whenever you are updating your release, not only during the initial installation. If you do not, the default values will be used again, which will prevent some services from starting. -::: +If you find that its features aren't suitable for your needs, or if you prefer to use a Kubernetes-native Ingress controller, such as the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx), [you have that option](https://www.redhat.com/en/blog/a-guide-to-using-routes-ingress-and-gateway-apis-in-kubernetes-without-vendor-lock-in). -While you can use your preferred `post-renderer`, we provide one (included in the chart archive) which requires only `bash` and `sed` to be available locally: +For guidance on installing an Ingress controller, you can refer to the [Ingress Setup documentation](/self-managed/setup/guides/ingress-setup.md). -```shell -#!/bin/bash -eu -# Expected usage is as an Helm post renderer. -# Example usage: -# helm install my-release camunda/camunda-platform --post-renderer ./patch.sh -# -# This script is a Helm chart post-renderer for users on Helm 3.2.0 and greater. It allows removing default -# values set in sub-charts/dependencies, something which should be possible but is currently not working. -# See this issue for more: https://github.com/helm/helm/issues/9136 -# -# The result of patching the rendered Helm templates is printed out to STDOUT. Any other logging from the -# script is thus sent to STDERR. -# -# Note to contributors: this post-renderer is used in the integration tests, so make sure that it can be used -# from any working directory. - -set -o pipefail - -# Perform two passes: once for single quotes, once for double quotes, as it's not specified that string values are -# always output with single or double quotes -sed -e "s/'@@null@@'/null/g" -e 's/"@@null@@"/null/g' -``` +:::note Difference between ingress-nginx and NGINX Ingress -You also need to use a custom values file, where instead of using `null` as a value to unset default values, you use a special marker value which will be removed by the post-renderer. +Do not confuse the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) with the [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift) that is endorsed by Red Hat for usage with OpenShift. Despite very similar names, they are two different products. -Copy these values to your values file or save them as a separate file, e.g. `openshift.yaml`: +If you should decide to use the Red Hat endorsed [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift), you would require additional adjustments done to the Camunda 8 ingress objects and the NGINX Ingress Controller itself to make `gRPC` and `HTTP/2` connections work. In that case, please refer to the [example and the prerequisites](https://github.com/nginxinc/kubernetes-ingress/blob/main/examples/ingress-resources/grpc-services/README.md). -:::note -These values are also available in the [Camunda Helm chart repository](https://github.com/camunda/camunda-platform-helm/blob/main/charts/camunda-platform/openshift/values.yaml). ::: -```yaml -# omit this section if elasticsearch.enabled is false -elasticsearch: - securityContext: - runAsUser: "@@null@@" - sysctlInitContainer: - enabled: false - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - - # omit this section if identityKeycloak.enabled is false -identityKeycloak: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - postgresql: - # omit this section if identityKeycloak.postgresql.primary.enabled is false - primary: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - # omit this section if identityKeycloak.postgresql.readReplicas.enabled is false - readReplicas: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - # omit this section if identityKeycloak.postgresql.metrics.enabled is false - metrics: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" -``` - -Now, when installing the chart, you can do so by running the following: + + -```shell -helm install camunda camunda/camunda-platform --skip-crds \ - -f values.yaml -f openshift.yaml --post-renderer ./patch.sh -``` +### Using OpenShift Routes -## Configuring Ingress using routes for Zeebe Gateway +[Routes](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html) expose services externally by linking a URL to a service within the cluster. [OpenShift supports both the standard Kubernetes Ingress and routes](https://docs.openshift.com/container-platform/latest/networking/ingress-operator.html), giving cluster users the flexibility to choose. -The Ingress on OpenShift works slightly different from the Kubernetes default. The mechanism is called [routes](https://docs.openshift.com/container-platform/4.11/networking/routes/route-configuration.html). +The presence of routes is rooted in their specification predating Ingress. It's worth noting that the functionality of routes differs from Ingress; for example, unlike Ingress, routes don't allow multiple services to be linked to a single route or the use of paths. To use these routes for the Zeebe Gateway, configure this through Ingress as well. -### Alternatives +#### Prerequisite -An alternative to using [routes](https://docs.openshift.com/container-platform/4.14/networking/routes/route-configuration.html) is to install and use one of the Kubernetes Ingress controllers instead, for example, the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx). +As the Zeebe Gateway also uses `gRPC` (which relies on `HTTP/2`), [HTTP/2 Ingress Connectivity has to be enabled](https://docs.openshift.com/container-platform/latest/networking/ingress-operator.html#nw-http2-haproxy_configuring-ingress). -:::warning +#### Required Steps -Do not confuse the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) with the [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift) that is endorsed by Red Hat for usage with OpenShift. Despite very similar names, they are two different products. +1. Provide [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) for the Zeebe Gateway. The [Cert Manager](https://docs.openshift.com/container-platform/latest/security/cert_manager_operator/index.html) might be helpful here: -If you should decide to use the Red Hat endorsed [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift), you would require additional adjustments done to the Camunda 8 ingress objects and the NGINX Ingress Controller itself to make `gRPC` and `HTTP/2` connections work. In that case, please refer to the [example and the prerequisites](https://github.com/nginxinc/kubernetes-ingress/blob/main/examples/ingress-resources/grpc-services/README.md). + - One issued to the Zeebe Gateway Service Name. This must use the [pkcs8 syntax](https://en.wikipedia.org/wiki/PKCS_8) or [pkcs1 syntax](https://en.wikipedia.org/wiki/PKCS_1) as Zeebe only supports these, referenced as **Service Certificate Secret** or ``. For more details, review the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/networking/routes/secured-routes.html#nw-ingress-creating-a-reencrypt-route-with-a-custom-certificate_secured-routes). -::: +
+ pkcs8, pkcs1 syntax -### Prerequisite + > PKCS1 private key encoding. PKCS1 produces a PEM block that contains the private key algorithm in the header and the private key in the body. A key that uses this can be recognised by its BEGIN RSA PRIVATE KEY or BEGIN EC PRIVATE KEY header. NOTE: This encoding is not supported for Ed25519 keys. Attempting to use this encoding with an Ed25519 key will be ignored and default to PKCS8. -As the Zeebe Gateway also uses `gRPC` (which relies on `HTTP/2`), this [has to be enabled](https://docs.openshift.com/container-platform/4.11/networking/ingress-operator.html#nw-http2-haproxy_configuring-ingress). + > PKCS8 private key encoding. PKCS8 produces a PEM block with a static header and both the private key algorithm and the private key in the body. A key that uses this encoding can be recognised by its BEGIN PRIVATE KEY header. -### Required steps + [pkcs1, pkcs8 syntax definitionfrom cert-manager](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.PrivateKeyEncoding) +
-1. Provide [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) for the Zeebe Gateway, the [Cert Manager](https://docs.openshift.com/container-platform/4.11/security/cert_manager_operator/index.html) might be helpful here: + - One that is used on the exposed route, referenced as **External URL Certificate Secret** or ``. -- One issued to the Zeebe Gateway Service Name. This must use the [pkcs8 syntax](https://www.openssl.org/docs/man3.1/man1/openssl-pkcs8.html) or [pkcs1 syntax](https://en.wikipedia.org/wiki/PKCS_1) as Zeebe only supports these, referenced as **Service Certificate Secret** or ``. For more details, review the [OpenShift documentation](https://docs.openshift.com/container-platform/4.11/networking/routes/secured-routes.html#nw-ingress-creating-a-reencrypt-route-with-a-custom-certificate_secured-routes). -- One that is used on the exposed route, referenced as **External URL Certificate Secret** or ``. - -1. Configure your Zeebe Gateway Ingress to create a [re-encrypt route](https://docs.openshift.com/container-platform/4.11/networking/routes/route-configuration.html#nw-ingress-creating-a-route-via-an-ingress_route-configuration): +2. Configure your Zeebe Gateway Ingress to create a [Re-encrypt Route](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html#nw-ingress-creating-a-route-via-an-ingress_route-configuration): ```yaml zeebeGateway: @@ -361,7 +286,7 @@ operate: defaultMode: 420 ``` -The actual configuration properties can be reviewed [in the Operate configuration documentation](docs/self-managed/operate-deployment/operate-configuration.md#zeebe-broker-connection). +The actual configuration properties can be reviewed [in the Operate configuration documentation](/self-managed/operate-deployment/operate-configuration.md#zeebe-broker-connection). For Tasklist: @@ -386,6 +311,16 @@ tasklist: defaultMode: 420 ``` -The actual configuration properties can be reviewed [in the Tasklist configuration documentation](docs/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). +The actual configuration properties can be reviewed [in the Tasklist configuration documentation](/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). 5. Configure all other applications running inside the cluster and connecting to the Zeebe Gateway to also use TLS. + + + + +
+
+ +## Pitfalls to avoid + +For general deployment pitfalls, visit the [deployment troubleshooting guide](/self-managed/operational-guides/troubleshooting/troubleshooting.md). diff --git a/docs/self-managed/setup/deploy/other/docker.md b/docs/self-managed/setup/deploy/other/docker.md index 6efd21d194..ff0b52fcd6 100644 --- a/docs/self-managed/setup/deploy/other/docker.md +++ b/docs/self-managed/setup/deploy/other/docker.md @@ -8,21 +8,22 @@ keywords: ["camunda docker"] While the Docker images themselves are supported for production usage, [Docker Compose](/self-managed/setup/deploy/local/docker-compose.md) files are designed to be used by developers to run an environment locally; they are not designed to be used in production. We recommend to use [Kubernetes](/self-managed/setup/install.md) in production. ::: -We provide Docker images [via Dockerhub](https://hub.docker.com/u/camunda). All these images are publicly accessible (except for [Web Modeler](#web-modeler)). +We provide Docker images [via Dockerhub](https://hub.docker.com/u/camunda). All these images are publicly accessible. :::info The provided Docker images are supported for production usage only on Linux systems. Windows or macOS are only supported for development environments. ::: -| Component | Docker image | Link to configuration options | -| ----------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -| Zeebe | [camunda/zeebe:latest](https://hub.docker.com/r/camunda/zeebe) | [Environment variables](/self-managed/zeebe-deployment/configuration/environment-variables.md) | -| Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](/self-managed/operate-deployment/operate-configuration.md) | -| Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](/self-managed/tasklist-deployment/tasklist-configuration.md) | -| Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](/self-managed/identity/deployment/configuration-variables.md) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | -| Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | -| Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | +| Component | Docker image | Link to configuration options | +| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| Zeebe | [camunda/zeebe:latest](https://hub.docker.com/r/camunda/zeebe) | [Environment variables](/self-managed/zeebe-deployment/configuration/environment-variables.md) | +| Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](/self-managed/operate-deployment/operate-configuration.md) | +| Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](/self-managed/tasklist-deployment/tasklist-configuration.md) | +| Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](/self-managed/identity/deployment/configuration-variables.md) | +| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | +| Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | +| Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | +| Web Modeler (restapi, webapp, websockets) | [camunda/web-modeler-restapi:latest](https://hub.docker.com/r/camunda/web-modeler-restapi), [camunda/web-modeler-webapp:latest](https://hub.docker.com/r/camunda/web-modeler-webapp), [camunda/web-modeler-websockets:latest](https://hub.docker.com/r/camunda/web-modeler-websockets) | [Configuration variables](/self-managed/modeler/web-modeler/configuration/configuration.md) | Zeebe is the only component that is often run on its own as a standalone component. In this scenario, it does not need anything else, so a simple `docker run` is sufficient: @@ -47,32 +48,6 @@ Use `linux/amd64` for your production environment. The `linux/arm64` image is pr For Web Modeler, we only provide multi-platform images from the following releases onward: 8.2.8, 8.3.1, 8.4.0-alpha1. ::: -### Web Modeler - -:::note -Web Modeler Self-Managed is available to [enterprise customers](/reference/licenses.md#web-modeler) only. -::: - -The Docker images for Web Modeler are not publicly accessible, but available to enterprise customers only from -Camunda's private Docker registry. - -| Web Modeler Component | Docker image | -| --------------------- | :---------------------------------------------------------------- | -| Backend (`restapi`) | `registry.camunda.cloud/web-modeler-ee/modeler-restapi:latest` | -| Frontend (`webapp`) | `registry.camunda.cloud/web-modeler-ee/modeler-webapp:latest` | -| WebSocket server | `registry.camunda.cloud/web-modeler-ee/modeler-websockets:latest` | - -To pull the images you first need to log in using the credentials you received from Camunda: - -```shell -$ docker login registry.camunda.cloud -Username: your_username -Password: ****** -Login Succeeded -``` - -You can also find more information on the supported [configuration variables](/self-managed/modeler/web-modeler/configuration/configuration.md). - ## Configuration hints ### Zeebe diff --git a/docs/self-managed/setup/install.md b/docs/self-managed/setup/install.md index d934e97b6e..97ec20a4c1 100644 --- a/docs/self-managed/setup/install.md +++ b/docs/self-managed/setup/install.md @@ -270,10 +270,6 @@ For more details, check [Connectors Helm values](https://artifacthub.io/packages ### Install Web Modeler -:::note -Web Modeler Self-Managed is available to [Enterprise customers](/reference/licenses.md#web-modeler) only. -::: - Follow the steps below to install the Camunda Helm chart with Web Modeler enabled: #### Configure Web Modeler diff --git a/docs/self-managed/setup/overview.md b/docs/self-managed/setup/overview.md index ee436e833e..a116fb26c8 100644 --- a/docs/self-managed/setup/overview.md +++ b/docs/self-managed/setup/overview.md @@ -16,7 +16,7 @@ This chapter contains information for users who want to deploy and run Camunda 8 - Connectors - Optimize - Identity -- Web Modeler [Enterprise only](../../../reference/licenses/#web-modeler) +- Web Modeler - Console [Enterprise only](../../../reference/licenses/#console-sm) All components except Web Modeler and Console are single Java applications. @@ -32,7 +32,7 @@ For details on supported environments (e.g. Java or Elasticsearch versions), see You have the following options to run or deploy the above components in a self-managed fashion: - **Helm/Kubernetes**: We strongly recommend using Kubernetes to run Camunda 8 in production. In addition to stock Kubernetes we also officially support variety of providers like Red Hat OpenShift and Amazon EKS. Also using Kubernetes with Minikube or KIND can be an interesting environment to run Camunda 8 locally on developer machines. -- **Docker**: You can run the provided Docker images of the components, also in production. For your convenience, we provide a Docker Compose configuration to run Camunda 8 on developer machines. Note that the Docker Compose configuration is **not** optimized for production usage, but for local development. +- **Docker**: You can run the provided Docker images of the components, also in production. For your convenience, we provide a Docker Compose configuration to run Camunda 8 on developer machines. Note that the Docker Compose configuration is **not** optimized for production usage, but for local development. You can find setup instructions in the [camunda-platform](https://github.com/camunda/camunda-platform) repository. - **Manual**: You can run the Java applications on a local or virtual machine if it provides a supported Java Virtual Machine (JVM). This allows you to run Camunda on virtual machines or bare metal and offers a significant amount of flexibility. However, you will need to configure the details for the components to interact correctly yourself. We consider this a last resort. Note that Windows/Mac is **not** supported for production usage of Zeebe. :::note diff --git a/optimize_sidebars.js b/optimize_sidebars.js index 3a309e9b9a..c2a9e10360 100644 --- a/optimize_sidebars.js +++ b/optimize_sidebars.js @@ -1157,9 +1157,17 @@ module.exports = { { "User guide": [ docsLink( - "Overview and example use case", + "Overview", "components/tasklist/userguide/using-tasklist/" ), + docsLink( + "Getting started", + "components/tasklist/userguide/tasklist-get-started/" + ), + docsLink( + "Using filters", + "components/tasklist/userguide/using-filters/" + ), docsLink( "Starting processes", "components/tasklist/userguide/starting-processes/" diff --git a/sidebars.js b/sidebars.js index 202f75033f..2b9401a664 100644 --- a/sidebars.js +++ b/sidebars.js @@ -411,6 +411,8 @@ module.exports = { { "User guide": [ "components/tasklist/userguide/using-tasklist", + "components/tasklist/userguide/tasklist-get-started", + "components/tasklist/userguide/using-filters", "components/tasklist/userguide/starting-processes", ], }, diff --git a/versioned_docs/version-8.2/reference/announcements.md b/versioned_docs/version-8.2/reference/announcements.md index a0c93e3e2e..e4812255d8 100644 --- a/versioned_docs/version-8.2/reference/announcements.md +++ b/versioned_docs/version-8.2/reference/announcements.md @@ -22,6 +22,33 @@ End of maintenance: 8th of October 2024 [Release notes](https://github.com/camunda/camunda-platform/releases/tag/8.2.0) [Release blog](https://camunda.com/blog/2023/04/camunda-platform-8-2-key-to-scaling-automation/) +### Camunda 8 SaaS - Required cluster update + +:::caution +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be updated to the following versions at a **minimum**: + +- **8.2+gen27** +- **8.3+gen11** +- **8.4+gen7** +- **8.5+gen2** + +::: + +auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. + +You minimally need to take the following update path: + +- 8.0.x -> 8.2+gen27 +- 8.1.x -> 8.2+gen27 +- 8.2.x -> 8.2+gen27 +- 8.3.x -> 8.3+gen11 +- 8.4.x -> 8.4+gen7 +- 8.5.x -> 8.5+gen2 + +If you do not update the cluster by August 30th 2024, we will update the cluster for you. **Without an update, you would lose access to your cluster.** + +Camunda 8 Self-Managed clusters are not affected by this. + ### Update from Web Modeler 8.2 to a later minor version Web Modeler versions 8.2.7 to 8.2.12 are affected by [camunda/issues#677](https://github.com/camunda/issues/issues/677). diff --git a/versioned_docs/version-8.2/reference/dependencies.md b/versioned_docs/version-8.2/reference/dependencies.md index 6dc9c8163c..5f2dfb59bc 100644 --- a/versioned_docs/version-8.2/reference/dependencies.md +++ b/versioned_docs/version-8.2/reference/dependencies.md @@ -2372,7 +2372,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [yallist@3.1.1](https://github.com/isaacs/yallist) (ISC) - [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) - [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@0.18.0](https://github.com/camunda/camunda-bpmn-moddle) (MIT) +- [zeebe-bpmn-moddle@0.18.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) - [zod@3.22.4](https://github.com/colinhacks/zod) (MIT) ### Web Modeler Dependencies (restapi) @@ -2587,75 +2587,75 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t ### Web Modeler Dependencies (websockets) -- [beyondcode/laravel-websockets@1.14.1](https://github.com/beyondcode/laravel-websockets.git) (MIT) -- [brick/math@0.11.0](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@2.1.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [cboden/ratchet@v0.4.4](https://github.com/ratchetphp/Ratchet.git) (MIT) +- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) +- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) +- [clue/redis-protocol@v0.3.1](https://github.com/clue/php-redis-protocol.git) (MIT) +- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) - [dflydev/dot-access-data@v3.0.2](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) - [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) - [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) - [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) - [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) - [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [facade/ignition-contracts@1.0.2](https://github.com/facade/ignition-contracts.git) (MIT) -- [fig/http-message-util@1.1.5](https://github.com/php-fig/http-message-util.git) (MIT) - [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) - [graham-campbell/result-type@v1.1.2](https://github.com/GrahamCampbell/Result-Type.git) (MIT) - [guzzlehttp/guzzle@7.8.1](https://github.com/guzzle/guzzle.git) (MIT) - [guzzlehttp/promises@2.0.2](https://github.com/guzzle/promises.git) (MIT) - [guzzlehttp/psr7@2.6.2](https://github.com/guzzle/psr7.git) (MIT) - [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v10.48.4](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.17](https://github.com/laravel/prompts.git) (MIT) +- [laravel/framework@v11.9.2](https://github.com/laravel/framework.git) (MIT) +- [laravel/prompts@v0.1.23](https://github.com/laravel/prompts.git) (MIT) +- [laravel/reverb@v1.0.0-beta12](https://github.com/laravel/reverb.git) (MIT) - [laravel/serializable-closure@v1.3.3](https://github.com/laravel/serializable-closure.git) (MIT) - [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) - [league/commonmark@2.4.2](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) - [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.27.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.25.1](https://github.com/thephpleague/flysystem-local.git) (MIT) +- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) +- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) - [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.5.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@2.72.3](https://github.com/briannesbitt/Carbon.git) (MIT) +- [monolog/monolog@3.6.0](https://github.com/Seldaek/monolog.git) (MIT) +- [nesbot/carbon@3.5.0](https://github.com/briannesbitt/Carbon.git) (MIT) - [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) - [nette/utils@v4.0.4](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.0](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v1.15.1](https://github.com/nunomaduro/termwind.git) (MIT) +- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) +- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) - [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.20.0](https://github.com/paragonie/sodium_compat.git) (ISC) +- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) - [phpoption/phpoption@1.9.2](https://github.com/schmittjoh/php-option.git) (Apache-2.0) - [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) - [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) - [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) - [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.0.2](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@1.1](https://github.com/php-fig/http-message.git) (MIT) +- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) +- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) - [psr/log@3.0.0](https://github.com/php-fig/log.git) (MIT) - [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.0](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.3](https://github.com/pusher/pusher-http-php.git) (MIT) +- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) +- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) - [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) - [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.5](https://github.com/ramsey/uuid.git) (MIT) +- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) - [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) +- [react/async@v4.2.0](https://github.com/reactphp/async.git) (MIT) - [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.11.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.4.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/http@v1.9.0](https://github.com/reactphp/http.git) (MIT) -- [react/promise@v3.0.0](https://github.com/reactphp/promise.git) (MIT) -- [react/socket@v1.14.0](https://github.com/reactphp/socket.git) (MIT) +- [react/dns@v1.12.0](https://github.com/reactphp/dns.git) (MIT) +- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) +- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) +- [react/promise-timer@v1.10.0](https://github.com/reactphp/promise-timer.git) (MIT) +- [react/socket@v1.15.0](https://github.com/reactphp/socket.git) (MIT) - [react/stream@v1.3.0](https://github.com/reactphp/stream.git) (MIT) -- [ringcentral/psr7@1.3.0](https://github.com/ringcentral/psr7.git) (MIT) -- [symfony/console@v6.4.6](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.0.3](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.4.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v6.4.6](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.0.3](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.4.2](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v6.4.0](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v6.4.4](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v6.4.6](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v6.4.6](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v6.4.6](https://github.com/symfony/mime.git) (MIT) +- [symfony/clock@v7.1.0](https://github.com/symfony/clock.git) (MIT) +- [symfony/console@v7.1.0](https://github.com/symfony/console.git) (MIT) +- [symfony/css-selector@v7.1.0](https://github.com/symfony/css-selector.git) (MIT) +- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) +- [symfony/error-handler@v7.1.0](https://github.com/symfony/error-handler.git) (MIT) +- [symfony/event-dispatcher@v7.1.0](https://github.com/symfony/event-dispatcher.git) (MIT) +- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) +- [symfony/finder@v7.1.0](https://github.com/symfony/finder.git) (MIT) +- [symfony/http-foundation@v7.1.0](https://github.com/symfony/http-foundation.git) (MIT) +- [symfony/http-kernel@v7.1.0](https://github.com/symfony/http-kernel.git) (MIT) +- [symfony/mailer@v7.1.0](https://github.com/symfony/mailer.git) (MIT) +- [symfony/mime@v7.1.0](https://github.com/symfony/mime.git) (MIT) - [symfony/polyfill-ctype@v1.29.0](https://github.com/symfony/polyfill-ctype.git) (MIT) - [symfony/polyfill-intl-grapheme@v1.29.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) - [symfony/polyfill-intl-idn@v1.29.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) @@ -2665,15 +2665,14 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [symfony/polyfill-php80@v1.29.0](https://github.com/symfony/polyfill-php80.git) (MIT) - [symfony/polyfill-php83@v1.29.0](https://github.com/symfony/polyfill-php83.git) (MIT) - [symfony/polyfill-uuid@v1.29.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v6.4.4](https://github.com/symfony/process.git) (MIT) -- [symfony/psr-http-message-bridge@v2.3.1](https://github.com/symfony/psr-http-message-bridge.git) (MIT) -- [symfony/routing@v6.4.6](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.4.2](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.0.4](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v6.4.4](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.4.2](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v6.4.3](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v6.4.6](https://github.com/symfony/var-dumper.git) (MIT) +- [symfony/process@v7.1.0](https://github.com/symfony/process.git) (MIT) +- [symfony/routing@v7.1.0](https://github.com/symfony/routing.git) (MIT) +- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) +- [symfony/string@v7.1.0](https://github.com/symfony/string.git) (MIT) +- [symfony/translation@v7.1.0](https://github.com/symfony/translation.git) (MIT) +- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) +- [symfony/uid@v7.1.0](https://github.com/symfony/uid.git) (MIT) +- [symfony/var-dumper@v7.1.0](https://github.com/symfony/var-dumper.git) (MIT) - [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) - [vlucas/phpdotenv@v5.6.0](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) - [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) diff --git a/versioned_docs/version-8.3/apis-tools/web-modeler-api/index.md b/versioned_docs/version-8.3/apis-tools/web-modeler-api/index.md index 1c664a1235..e567c9801b 100644 --- a/versioned_docs/version-8.3/apis-tools/web-modeler-api/index.md +++ b/versioned_docs/version-8.3/apis-tools/web-modeler-api/index.md @@ -27,7 +27,7 @@ To authenticate for the API, generate a JWT token depending on your environment -1. Create client credentials by clicking **Console > Manage (Organization) > API > Create New Credentials**. +1. Create client credentials by clicking **Console > Organization > Administration API > Create new credentials**. 2. Add permissions to this client for **Web Modeler API**. 3. After creating the client, you can download a shell script to obtain a token. 4. When you run it, you will get something like the following: diff --git a/versioned_docs/version-8.3/components/connectors/out-of-the-box-connectors/kafka.md b/versioned_docs/version-8.3/components/connectors/out-of-the-box-connectors/kafka.md index 0756cae99b..518c2647e7 100644 --- a/versioned_docs/version-8.3/components/connectors/out-of-the-box-connectors/kafka.md +++ b/versioned_docs/version-8.3/components/connectors/out-of-the-box-connectors/kafka.md @@ -214,7 +214,7 @@ To make your **Kafka Consumer Connector** executable, take the following steps: 7. In the **Kafka** section, you can set the **Offsets** for the partition. The number of offsets specified should match the number of partitions on the current topic. 8. In the **Kafka** section, you can set the **Auto offset reset** which tells the Connector what strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. 9. (For **Avro (experimental)**) In the **Message deserialization** section, input the schema that defines the message structure into the **Avro schema** field. -10. In the **Activation** section, you can set the **Activation Condition**. Based on this condition, we either start a process instance or do nothing if the condition is not met. For example, `=(value.itemId = "a4f6j2")`. Leave this field empty to trigger your webhook every time. +10. In the **Activation** section, you can set the **Activation Condition**. This condition filters if the process step triggers when a Kafka message is consumed. For example, `=(value.itemId = "a4f6j2")` will only trigger the start event or continue the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. When using the **Kafka Consumer Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. @@ -226,6 +226,8 @@ For example, given that your correlation key is defined with `myCorrelationKey` - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=value.correlationKey` +You can also use the key of the message to accomplish this in the **Correlation key (payload)** field with `=key`. + Learn more about correlation keys in the [messages guide](../../../concepts/messages). ### Example Avro schema and data diff --git a/versioned_docs/version-8.3/reference/announcements.md b/versioned_docs/version-8.3/reference/announcements.md index 6f0e25d460..f2601ef013 100644 --- a/versioned_docs/version-8.3/reference/announcements.md +++ b/versioned_docs/version-8.3/reference/announcements.md @@ -10,6 +10,33 @@ Release date: 10th of October 2023 End of maintenance: 9th of April 2025 +### Camunda 8 SaaS - Required cluster update + +:::caution +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: + +- **8.2+gen27** +- **8.3+gen11** +- **8.4+gen7** +- **8.5+gen2** + +::: + +auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. + +You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: + +- 8.0.x -> 8.2+gen27 +- 8.1.x -> 8.2+gen27 +- 8.2.x -> 8.2+gen27 +- 8.3.x -> 8.3+gen11 +- 8.4.x -> 8.4+gen7 +- 8.5.x -> 8.5+gen2 + +If you do not update the cluster by August 30th 2024, we will update the cluster for you. **Without an update, you would lose access to your cluster.** + +Camunda 8 Self-Managed clusters are not affected by this. + :::caution For existing clusters we recommend updating to `8.3.1` directly and not `8.3.0` due to issues in data migration of Operate, Tasklist, and Optimize that could prolong the migration or even blocking it from finishing. ::: diff --git a/versioned_docs/version-8.3/reference/dependencies.md b/versioned_docs/version-8.3/reference/dependencies.md index 06f8fa6ad5..478bae33ca 100644 --- a/versioned_docs/version-8.3/reference/dependencies.md +++ b/versioned_docs/version-8.3/reference/dependencies.md @@ -2806,7 +2806,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [yallist@3.1.1](https://github.com/isaacs/yallist) (ISC) - [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) - [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/camunda-bpmn-moddle) (MIT) +- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) - [zod@3.22.4](https://github.com/colinhacks/zod) (MIT) ### Web Modeler Dependencies (restapi) @@ -3032,75 +3032,75 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t ### Web Modeler Dependencies (websockets) -- [beyondcode/laravel-websockets@1.14.1](https://github.com/beyondcode/laravel-websockets.git) (MIT) -- [brick/math@0.11.0](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@2.1.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [cboden/ratchet@v0.4.4](https://github.com/ratchetphp/Ratchet.git) (MIT) +- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) +- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) +- [clue/redis-protocol@v0.3.1](https://github.com/clue/php-redis-protocol.git) (MIT) +- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) - [dflydev/dot-access-data@v3.0.2](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) - [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) - [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) - [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) - [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) - [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [facade/ignition-contracts@1.0.2](https://github.com/facade/ignition-contracts.git) (MIT) -- [fig/http-message-util@1.1.5](https://github.com/php-fig/http-message-util.git) (MIT) - [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) - [graham-campbell/result-type@v1.1.2](https://github.com/GrahamCampbell/Result-Type.git) (MIT) - [guzzlehttp/guzzle@7.8.1](https://github.com/guzzle/guzzle.git) (MIT) - [guzzlehttp/promises@2.0.2](https://github.com/guzzle/promises.git) (MIT) - [guzzlehttp/psr7@2.6.2](https://github.com/guzzle/psr7.git) (MIT) - [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v10.48.4](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.17](https://github.com/laravel/prompts.git) (MIT) +- [laravel/framework@v11.9.2](https://github.com/laravel/framework.git) (MIT) +- [laravel/prompts@v0.1.23](https://github.com/laravel/prompts.git) (MIT) +- [laravel/reverb@v1.0.0-beta12](https://github.com/laravel/reverb.git) (MIT) - [laravel/serializable-closure@v1.3.3](https://github.com/laravel/serializable-closure.git) (MIT) - [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) - [league/commonmark@2.4.2](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) - [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.27.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.25.1](https://github.com/thephpleague/flysystem-local.git) (MIT) +- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) +- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) - [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.5.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@2.72.3](https://github.com/briannesbitt/Carbon.git) (MIT) +- [monolog/monolog@3.6.0](https://github.com/Seldaek/monolog.git) (MIT) +- [nesbot/carbon@3.5.0](https://github.com/briannesbitt/Carbon.git) (MIT) - [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) - [nette/utils@v4.0.4](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.0](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v1.15.1](https://github.com/nunomaduro/termwind.git) (MIT) +- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) +- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) - [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.20.0](https://github.com/paragonie/sodium_compat.git) (ISC) +- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) - [phpoption/phpoption@1.9.2](https://github.com/schmittjoh/php-option.git) (Apache-2.0) - [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) - [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) - [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) - [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.0.2](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@1.1](https://github.com/php-fig/http-message.git) (MIT) +- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) +- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) - [psr/log@3.0.0](https://github.com/php-fig/log.git) (MIT) - [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.0](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.3](https://github.com/pusher/pusher-http-php.git) (MIT) +- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) +- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) - [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) - [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.5](https://github.com/ramsey/uuid.git) (MIT) +- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) - [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) +- [react/async@v4.2.0](https://github.com/reactphp/async.git) (MIT) - [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.11.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.4.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/http@v1.9.0](https://github.com/reactphp/http.git) (MIT) -- [react/promise@v3.0.0](https://github.com/reactphp/promise.git) (MIT) -- [react/socket@v1.14.0](https://github.com/reactphp/socket.git) (MIT) +- [react/dns@v1.12.0](https://github.com/reactphp/dns.git) (MIT) +- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) +- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) +- [react/promise-timer@v1.10.0](https://github.com/reactphp/promise-timer.git) (MIT) +- [react/socket@v1.15.0](https://github.com/reactphp/socket.git) (MIT) - [react/stream@v1.3.0](https://github.com/reactphp/stream.git) (MIT) -- [ringcentral/psr7@1.3.0](https://github.com/ringcentral/psr7.git) (MIT) -- [symfony/console@v6.4.6](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.0.3](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.4.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v6.4.6](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.0.3](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.4.2](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v6.4.0](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v6.4.4](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v6.4.6](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v6.4.6](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v6.4.6](https://github.com/symfony/mime.git) (MIT) +- [symfony/clock@v7.1.0](https://github.com/symfony/clock.git) (MIT) +- [symfony/console@v7.1.0](https://github.com/symfony/console.git) (MIT) +- [symfony/css-selector@v7.1.0](https://github.com/symfony/css-selector.git) (MIT) +- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) +- [symfony/error-handler@v7.1.0](https://github.com/symfony/error-handler.git) (MIT) +- [symfony/event-dispatcher@v7.1.0](https://github.com/symfony/event-dispatcher.git) (MIT) +- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) +- [symfony/finder@v7.1.0](https://github.com/symfony/finder.git) (MIT) +- [symfony/http-foundation@v7.1.0](https://github.com/symfony/http-foundation.git) (MIT) +- [symfony/http-kernel@v7.1.0](https://github.com/symfony/http-kernel.git) (MIT) +- [symfony/mailer@v7.1.0](https://github.com/symfony/mailer.git) (MIT) +- [symfony/mime@v7.1.0](https://github.com/symfony/mime.git) (MIT) - [symfony/polyfill-ctype@v1.29.0](https://github.com/symfony/polyfill-ctype.git) (MIT) - [symfony/polyfill-intl-grapheme@v1.29.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) - [symfony/polyfill-intl-idn@v1.29.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) @@ -3110,15 +3110,14 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [symfony/polyfill-php80@v1.29.0](https://github.com/symfony/polyfill-php80.git) (MIT) - [symfony/polyfill-php83@v1.29.0](https://github.com/symfony/polyfill-php83.git) (MIT) - [symfony/polyfill-uuid@v1.29.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v6.4.4](https://github.com/symfony/process.git) (MIT) -- [symfony/psr-http-message-bridge@v2.3.1](https://github.com/symfony/psr-http-message-bridge.git) (MIT) -- [symfony/routing@v6.4.6](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.4.2](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.0.4](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v6.4.4](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.4.2](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v6.4.3](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v6.4.6](https://github.com/symfony/var-dumper.git) (MIT) +- [symfony/process@v7.1.0](https://github.com/symfony/process.git) (MIT) +- [symfony/routing@v7.1.0](https://github.com/symfony/routing.git) (MIT) +- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) +- [symfony/string@v7.1.0](https://github.com/symfony/string.git) (MIT) +- [symfony/translation@v7.1.0](https://github.com/symfony/translation.git) (MIT) +- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) +- [symfony/uid@v7.1.0](https://github.com/symfony/uid.git) (MIT) +- [symfony/var-dumper@v7.1.0](https://github.com/symfony/var-dumper.git) (MIT) - [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) - [vlucas/phpdotenv@v5.6.0](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) - [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) diff --git a/versioned_docs/version-8.4/apis-tools/web-modeler-api/authentication.md b/versioned_docs/version-8.4/apis-tools/web-modeler-api/authentication.md index d3b203b8a0..388f3f494b 100644 --- a/versioned_docs/version-8.4/apis-tools/web-modeler-api/authentication.md +++ b/versioned_docs/version-8.4/apis-tools/web-modeler-api/authentication.md @@ -19,7 +19,7 @@ To authenticate for the API, generate a JWT token depending on your environment -1. Create client credentials by clicking **Console > Manage (Organization) > API > Create New Credentials**. +1. Create client credentials by clicking **Console > Organization > Administration API > Create new credentials**. 2. Add permissions to this client for **Web Modeler API**. 3. After creating the client, you can download a shell script to obtain a token. 4. When you run it, you will get something like the following: diff --git a/versioned_docs/version-8.4/components/connectors/out-of-the-box-connectors/kafka.md b/versioned_docs/version-8.4/components/connectors/out-of-the-box-connectors/kafka.md index 0756cae99b..518c2647e7 100644 --- a/versioned_docs/version-8.4/components/connectors/out-of-the-box-connectors/kafka.md +++ b/versioned_docs/version-8.4/components/connectors/out-of-the-box-connectors/kafka.md @@ -214,7 +214,7 @@ To make your **Kafka Consumer Connector** executable, take the following steps: 7. In the **Kafka** section, you can set the **Offsets** for the partition. The number of offsets specified should match the number of partitions on the current topic. 8. In the **Kafka** section, you can set the **Auto offset reset** which tells the Connector what strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. 9. (For **Avro (experimental)**) In the **Message deserialization** section, input the schema that defines the message structure into the **Avro schema** field. -10. In the **Activation** section, you can set the **Activation Condition**. Based on this condition, we either start a process instance or do nothing if the condition is not met. For example, `=(value.itemId = "a4f6j2")`. Leave this field empty to trigger your webhook every time. +10. In the **Activation** section, you can set the **Activation Condition**. This condition filters if the process step triggers when a Kafka message is consumed. For example, `=(value.itemId = "a4f6j2")` will only trigger the start event or continue the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. When using the **Kafka Consumer Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. @@ -226,6 +226,8 @@ For example, given that your correlation key is defined with `myCorrelationKey` - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=value.correlationKey` +You can also use the key of the message to accomplish this in the **Correlation key (payload)** field with `=key`. + Learn more about correlation keys in the [messages guide](../../../concepts/messages). ### Example Avro schema and data diff --git a/versioned_docs/version-8.4/components/console/manage-clusters/cluster-backups.md b/versioned_docs/version-8.4/components/console/manage-clusters/cluster-backups.md index 77522f6bc4..1b7029ad27 100644 --- a/versioned_docs/version-8.4/components/console/manage-clusters/cluster-backups.md +++ b/versioned_docs/version-8.4/components/console/manage-clusters/cluster-backups.md @@ -30,10 +30,7 @@ To create a manual backup, take the following steps: To create a scheduled backup, take the following steps: 1. Select the **Backups** tab. -2. Click **Create schedule**. - -![cluster-details](./img/cluster-detail-backups.png) - +2. Click **Set up schedule**. 3. Use the dropdown to schedule the frequency for backups - daily or weekly. 4. Select the time of day you would like backups to be taken at this frequency. 5. Click **Create schedule**. diff --git a/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups-manual.png b/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups-manual.png index b40db2f086..c3f06b3175 100644 Binary files a/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups-manual.png and b/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups-manual.png differ diff --git a/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups.png b/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups.png index d2d76df1a6..f50f706803 100644 Binary files a/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups.png and b/versioned_docs/version-8.4/components/console/manage-clusters/img/cluster-detail-backups.png differ diff --git a/versioned_docs/version-8.4/reference/announcements.md b/versioned_docs/version-8.4/reference/announcements.md index cadf7ff092..626dc96955 100644 --- a/versioned_docs/version-8.4/reference/announcements.md +++ b/versioned_docs/version-8.4/reference/announcements.md @@ -10,6 +10,33 @@ Release date: 9th of January 2024 End of maintenance: 9th of July 2025 +### Camunda 8 SaaS - Required cluster update + +:::caution +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: + +- **8.2+gen27** +- **8.3+gen11** +- **8.4+gen7** +- **8.5+gen2** + +::: + +auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. + +You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: + +- 8.0.x -> 8.2+gen27 +- 8.1.x -> 8.2+gen27 +- 8.2.x -> 8.2+gen27 +- 8.3.x -> 8.3+gen11 +- 8.4.x -> 8.4+gen7 +- 8.5.x -> 8.5+gen2 + +If you do not update the cluster by August 30th 2024, we will update the cluster for you. **Without an update, you would lose access to your cluster.** + +Camunda 8 Self-Managed clusters are not affected by this. + ### Form linking :::caution diff --git a/versioned_docs/version-8.4/reference/dependencies.md b/versioned_docs/version-8.4/reference/dependencies.md index 180f74136e..f6b3c6474b 100644 --- a/versioned_docs/version-8.4/reference/dependencies.md +++ b/versioned_docs/version-8.4/reference/dependencies.md @@ -2528,7 +2528,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [winston@3.11.0](https://github.com/winstonjs/winston) (MIT) - [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) - [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/camunda-bpmn-moddle) (MIT) +- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) ### Web Modeler Dependencies (restapi) @@ -2760,75 +2760,75 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t ### Web Modeler Dependencies (websockets) -- [beyondcode/laravel-websockets@1.14.1](https://github.com/beyondcode/laravel-websockets.git) (MIT) -- [brick/math@0.11.0](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@2.1.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [cboden/ratchet@v0.4.4](https://github.com/ratchetphp/Ratchet.git) (MIT) +- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) +- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) +- [clue/redis-protocol@v0.3.1](https://github.com/clue/php-redis-protocol.git) (MIT) +- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) - [dflydev/dot-access-data@v3.0.2](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) - [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) - [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) - [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) - [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) - [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [facade/ignition-contracts@1.0.2](https://github.com/facade/ignition-contracts.git) (MIT) -- [fig/http-message-util@1.1.5](https://github.com/php-fig/http-message-util.git) (MIT) - [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) - [graham-campbell/result-type@v1.1.2](https://github.com/GrahamCampbell/Result-Type.git) (MIT) - [guzzlehttp/guzzle@7.8.1](https://github.com/guzzle/guzzle.git) (MIT) - [guzzlehttp/promises@2.0.2](https://github.com/guzzle/promises.git) (MIT) - [guzzlehttp/psr7@2.6.2](https://github.com/guzzle/psr7.git) (MIT) - [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v10.48.4](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.17](https://github.com/laravel/prompts.git) (MIT) +- [laravel/framework@v11.9.2](https://github.com/laravel/framework.git) (MIT) +- [laravel/prompts@v0.1.23](https://github.com/laravel/prompts.git) (MIT) +- [laravel/reverb@v1.0.0-beta12](https://github.com/laravel/reverb.git) (MIT) - [laravel/serializable-closure@v1.3.3](https://github.com/laravel/serializable-closure.git) (MIT) - [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) - [league/commonmark@2.4.2](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) - [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.27.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.25.1](https://github.com/thephpleague/flysystem-local.git) (MIT) +- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) +- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) - [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.5.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@2.72.3](https://github.com/briannesbitt/Carbon.git) (MIT) +- [monolog/monolog@3.6.0](https://github.com/Seldaek/monolog.git) (MIT) +- [nesbot/carbon@3.5.0](https://github.com/briannesbitt/Carbon.git) (MIT) - [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) - [nette/utils@v4.0.4](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.0](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v1.15.1](https://github.com/nunomaduro/termwind.git) (MIT) +- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) +- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) - [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.20.0](https://github.com/paragonie/sodium_compat.git) (ISC) +- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) - [phpoption/phpoption@1.9.2](https://github.com/schmittjoh/php-option.git) (Apache-2.0) - [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) - [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) - [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) - [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.0.2](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@1.1](https://github.com/php-fig/http-message.git) (MIT) +- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) +- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) - [psr/log@3.0.0](https://github.com/php-fig/log.git) (MIT) - [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.0](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.3](https://github.com/pusher/pusher-http-php.git) (MIT) +- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) +- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) - [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) - [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.5](https://github.com/ramsey/uuid.git) (MIT) +- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) - [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) +- [react/async@v4.2.0](https://github.com/reactphp/async.git) (MIT) - [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.11.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.4.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/http@v1.9.0](https://github.com/reactphp/http.git) (MIT) -- [react/promise@v3.0.0](https://github.com/reactphp/promise.git) (MIT) -- [react/socket@v1.14.0](https://github.com/reactphp/socket.git) (MIT) +- [react/dns@v1.12.0](https://github.com/reactphp/dns.git) (MIT) +- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) +- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) +- [react/promise-timer@v1.10.0](https://github.com/reactphp/promise-timer.git) (MIT) +- [react/socket@v1.15.0](https://github.com/reactphp/socket.git) (MIT) - [react/stream@v1.3.0](https://github.com/reactphp/stream.git) (MIT) -- [ringcentral/psr7@1.3.0](https://github.com/ringcentral/psr7.git) (MIT) -- [symfony/console@v6.4.6](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.0.3](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.4.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v6.4.6](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.0.3](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.4.2](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v6.4.0](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v6.4.4](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v6.4.6](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v6.4.6](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v6.4.6](https://github.com/symfony/mime.git) (MIT) +- [symfony/clock@v7.1.0](https://github.com/symfony/clock.git) (MIT) +- [symfony/console@v7.1.0](https://github.com/symfony/console.git) (MIT) +- [symfony/css-selector@v7.1.0](https://github.com/symfony/css-selector.git) (MIT) +- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) +- [symfony/error-handler@v7.1.0](https://github.com/symfony/error-handler.git) (MIT) +- [symfony/event-dispatcher@v7.1.0](https://github.com/symfony/event-dispatcher.git) (MIT) +- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) +- [symfony/finder@v7.1.0](https://github.com/symfony/finder.git) (MIT) +- [symfony/http-foundation@v7.1.0](https://github.com/symfony/http-foundation.git) (MIT) +- [symfony/http-kernel@v7.1.0](https://github.com/symfony/http-kernel.git) (MIT) +- [symfony/mailer@v7.1.0](https://github.com/symfony/mailer.git) (MIT) +- [symfony/mime@v7.1.0](https://github.com/symfony/mime.git) (MIT) - [symfony/polyfill-ctype@v1.29.0](https://github.com/symfony/polyfill-ctype.git) (MIT) - [symfony/polyfill-intl-grapheme@v1.29.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) - [symfony/polyfill-intl-idn@v1.29.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) @@ -2838,15 +2838,14 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [symfony/polyfill-php80@v1.29.0](https://github.com/symfony/polyfill-php80.git) (MIT) - [symfony/polyfill-php83@v1.29.0](https://github.com/symfony/polyfill-php83.git) (MIT) - [symfony/polyfill-uuid@v1.29.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v6.4.4](https://github.com/symfony/process.git) (MIT) -- [symfony/psr-http-message-bridge@v2.3.1](https://github.com/symfony/psr-http-message-bridge.git) (MIT) -- [symfony/routing@v6.4.6](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.4.2](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.0.4](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v6.4.4](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.4.2](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v6.4.3](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v6.4.6](https://github.com/symfony/var-dumper.git) (MIT) +- [symfony/process@v7.1.0](https://github.com/symfony/process.git) (MIT) +- [symfony/routing@v7.1.0](https://github.com/symfony/routing.git) (MIT) +- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) +- [symfony/string@v7.1.0](https://github.com/symfony/string.git) (MIT) +- [symfony/translation@v7.1.0](https://github.com/symfony/translation.git) (MIT) +- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) +- [symfony/uid@v7.1.0](https://github.com/symfony/uid.git) (MIT) +- [symfony/var-dumper@v7.1.0](https://github.com/symfony/var-dumper.git) (MIT) - [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) - [vlucas/phpdotenv@v5.6.0](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) - [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) diff --git a/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/configuration.md b/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/configuration.md index 081bc0e7b8..e0ed336055 100644 --- a/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/configuration.md +++ b/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/configuration.md @@ -218,14 +218,6 @@ public void handleJobFoo() { ## Additional configuration options -### Configuring Self-Managed Zeebe connection - -```properties -zeebe.client.broker.grpcAddress=http://127.0.0.1:26500 -zeebe.client.broker.restAddress=http://127.0.0.1:8080 -zeebe.client.security.plaintext=true -``` - ### Configure different cloud environments If you don't connect to the Camunda 8 SaaS production environment, you might have to also adjust these properties: @@ -334,6 +326,46 @@ You can override this property as well: zeebe.client.worker.override.tenant-ids=myThirdTenant ``` +### Override authority + +The alternative authority to use, commonly in the form `host` or `host:port`: + +```properties +zeebe.client.security.overrideAuthority=host:port +``` + +### CA certificate + +Path to a root CA certificate to be used instead of the certificate in the default store: + +```properties +zeebe.client.security.certPath=host:port +``` + +### Message time to live + +The time-to-live which is used when none is provided for a message (default 1H): + +```properties +zeebe.client.message.timeToLive=PT2H +``` + +### Max message size + +A custom maxMessageSize allows the client to receive larger or smaller responses from Zeebe. Technically, it specifies the maxInboundMessageSize of the gRPC channel (default 4MB): + +```properties +zeebe.client.message.maxMessage-size=3 +``` + +### Keep alive + +Time interval between keep alive messages sent to the gateway (default is 45s): + +```properties +zeebe.client.broker.keepAlive=PT60S +``` + ## Observing metrics The Spring Zeebe SDK provides some out-of-the-box metrics that can be leveraged via [Spring Actuator](https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/). Whenever actuator is on the classpath, you can access the following metrics: diff --git a/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/getting-started.md b/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/getting-started.md index fc6a46b19e..2d8485dc6a 100644 --- a/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/getting-started.md +++ b/versioned_docs/version-8.5/apis-tools/spring-zeebe-sdk/getting-started.md @@ -90,23 +90,52 @@ zeebe.client.cloud.region=bru-2 You can also configure the connection to a Self-Managed Zeebe broker: ```properties -zeebe.client.broker.grpcAddress=https://127.0.0.1:26500 -zeebe.client.broker.restAddress=https://127.0.0.1:8080 +zeebe.client.cloud.clientId=xxx +zeebe.client.cloud.clientSecret=xxx +zeebe.client.cloud.authUrl=xxx +zeebe.client.broker.grpcAddress=xxx +zeebe.client.broker.restAddress=xxx zeebe.client.security.plaintext=true ``` -You can enforce the right connection mode, for example if multiple contradicting properties are set: +Example of configuring the connection to a Self-Managed Zeebe cluster: ```properties -zeebe.client.connection-mode=CLOUD -zeebe.client.connection-mode=ADDRESS +zeebe.client.cloud.clientId=your-client-id +zeebe.client.cloud.clientSecret=your-client-secret +zeebe.client.cloud.authUrl=http://localhost:18080/auth/realms/your-realm/protocol/openid-connect/token +zeebe.client.broker.grpcAddress=http://localhost:26500 +zeebe.client.broker.restAddress=http://localhost:8080 +zeebe.client.security.plaintext=true +``` + +:::note +The `zeebe.client.cloud.authUrl` property above is the Keycloak token endpoint. +::: + +You can also configure the connection to a Self-Managed Zeebe cluster using environment variables and specifying your +gateway address: + +Environment variable to be set using this approach: + +```properties +ZEEBE_AUTHORIZATION_SERVER_URL=xxx +ZEEBE_CLIENT_ID=xxx +ZEEBE_CLIENT_SECRET=xxx +``` + +Properties to be set using this approach: + +```properties +zeebe.client.broker.gateway-address=http://127.0.0.1:26500 +zeebe.client.security.plaintext=true ``` -You can specify credentials in the following way: +You can enforce the right connection mode, for example if multiple contradicting properties are set: ```properties -common.clientId=xxx -common.clientSecret=xxx +zeebe.client.connection-mode=CLOUD +zeebe.client.connection-mode=ADDRESS ``` ## Obtain the Zeebe client diff --git a/versioned_docs/version-8.5/apis-tools/web-modeler-api/authentication.md b/versioned_docs/version-8.5/apis-tools/web-modeler-api/authentication.md index d3b203b8a0..388f3f494b 100644 --- a/versioned_docs/version-8.5/apis-tools/web-modeler-api/authentication.md +++ b/versioned_docs/version-8.5/apis-tools/web-modeler-api/authentication.md @@ -19,7 +19,7 @@ To authenticate for the API, generate a JWT token depending on your environment -1. Create client credentials by clicking **Console > Manage (Organization) > API > Create New Credentials**. +1. Create client credentials by clicking **Console > Organization > Administration API > Create new credentials**. 2. Add permissions to this client for **Web Modeler API**. 3. After creating the client, you can download a shell script to obtain a token. 4. When you run it, you will get something like the following: diff --git a/versioned_docs/version-8.5/components/concepts/access-control/user-task-access-restrictions.md b/versioned_docs/version-8.5/components/concepts/access-control/user-task-access-restrictions.md index b9a986078f..633c6d0743 100644 --- a/versioned_docs/version-8.5/components/concepts/access-control/user-task-access-restrictions.md +++ b/versioned_docs/version-8.5/components/concepts/access-control/user-task-access-restrictions.md @@ -5,10 +5,6 @@ sidebar_label: "User task access restrictions" description: "Control the level of access a user or group has to perform tasks in the system via user task access restrictions." --- -:::caution -User task access restrictions are enabled by default on SaaS. -::: - User task access restrictions allow you to restrict access of user tasks in Tasklist to [users](../../console/manage-organization/manage-users.md) or [groups](user-groups.md) where they are assignees or candidates. @@ -23,6 +19,10 @@ users that belong to `Team A` and the user `example` will have access to the tas ### Enabling/disabling user task access restrictions +:::caution +User task access restrictions are enabled by default on SaaS. For details on user task access restrictions in Self-Managed, visit the [Self-Managed documentation](/self-managed/concepts/access-control/user-task-access-restrictions.md). +::: + User task access restrictions are enabled by default. To disable them, navigate to the **Settings** section of Console and click the **Enforce user task restrictions** toggle to enable or disable the functionality. ![Enabling User Task Restriction](../assets/access-control/enforce-user-task-restriction.png) diff --git a/versioned_docs/version-8.5/components/connectors/out-of-the-box-connectors/kafka.md b/versioned_docs/version-8.5/components/connectors/out-of-the-box-connectors/kafka.md index 0756cae99b..518c2647e7 100644 --- a/versioned_docs/version-8.5/components/connectors/out-of-the-box-connectors/kafka.md +++ b/versioned_docs/version-8.5/components/connectors/out-of-the-box-connectors/kafka.md @@ -214,7 +214,7 @@ To make your **Kafka Consumer Connector** executable, take the following steps: 7. In the **Kafka** section, you can set the **Offsets** for the partition. The number of offsets specified should match the number of partitions on the current topic. 8. In the **Kafka** section, you can set the **Auto offset reset** which tells the Connector what strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. 9. (For **Avro (experimental)**) In the **Message deserialization** section, input the schema that defines the message structure into the **Avro schema** field. -10. In the **Activation** section, you can set the **Activation Condition**. Based on this condition, we either start a process instance or do nothing if the condition is not met. For example, `=(value.itemId = "a4f6j2")`. Leave this field empty to trigger your webhook every time. +10. In the **Activation** section, you can set the **Activation Condition**. This condition filters if the process step triggers when a Kafka message is consumed. For example, `=(value.itemId = "a4f6j2")` will only trigger the start event or continue the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. When using the **Kafka Consumer Connector** with an **Intermediate Catch Event**, fill in the **Correlation key (process)** and **Correlation key (payload)**. @@ -226,6 +226,8 @@ For example, given that your correlation key is defined with `myCorrelationKey` - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=value.correlationKey` +You can also use the key of the message to accomplish this in the **Correlation key (payload)** field with `=key`. + Learn more about correlation keys in the [messages guide](../../../concepts/messages). ### Example Avro schema and data diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/cluster-backups.md b/versioned_docs/version-8.5/components/console/manage-clusters/cluster-backups.md index 77522f6bc4..1b7029ad27 100644 --- a/versioned_docs/version-8.5/components/console/manage-clusters/cluster-backups.md +++ b/versioned_docs/version-8.5/components/console/manage-clusters/cluster-backups.md @@ -30,10 +30,7 @@ To create a manual backup, take the following steps: To create a scheduled backup, take the following steps: 1. Select the **Backups** tab. -2. Click **Create schedule**. - -![cluster-details](./img/cluster-detail-backups.png) - +2. Click **Set up schedule**. 3. Use the dropdown to schedule the frequency for backups - daily or weekly. 4. Select the time of day you would like backups to be taken at this frequency. 5. Click **Create schedule**. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups-manual.png b/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups-manual.png index b40db2f086..c3f06b3175 100644 Binary files a/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups-manual.png and b/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups-manual.png differ diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups.png b/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups.png index d2d76df1a6..f50f706803 100644 Binary files a/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups.png and b/versioned_docs/version-8.5/components/console/manage-clusters/img/cluster-detail-backups.png differ diff --git a/versioned_docs/version-8.5/components/console/manage-organization/external-sso.md b/versioned_docs/version-8.5/components/console/manage-organization/external-sso.md index f48916b1d6..b0823e8c3b 100644 --- a/versioned_docs/version-8.5/components/console/manage-organization/external-sso.md +++ b/versioned_docs/version-8.5/components/console/manage-organization/external-sso.md @@ -38,3 +38,7 @@ To generate the client on your end, you will need to use the Camunda **Redirect ### Additional information In some situations, you might need to access `openid-configuration` to establish the connection from your end. See [this OpenID configuration](https://weblogin.cloud.camunda.io/.well-known/openid-configuration) as an example. + +## Login + +If your organization is using social login procedures (like GitHub or Google), these procedures will not work when using your own IdP with Camunda. Users must log in by providing their email address on the login screen. diff --git a/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue-multiple-organisations.png b/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue-multiple-organisations.png index 5b7951e798..3274327600 100644 Binary files a/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue-multiple-organisations.png and b/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue-multiple-organisations.png differ diff --git a/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue.png b/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue.png index 5b7951e798..3274327600 100644 Binary files a/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue.png and b/versioned_docs/version-8.5/components/console/manage-organization/img/avatar-menue.png differ diff --git a/versioned_docs/version-8.5/components/console/manage-organization/organization-settings.md b/versioned_docs/version-8.5/components/console/manage-organization/organization-settings.md index 5a057cbb0d..307227dcad 100644 --- a/versioned_docs/version-8.5/components/console/manage-organization/organization-settings.md +++ b/versioned_docs/version-8.5/components/console/manage-organization/organization-settings.md @@ -8,6 +8,8 @@ Organization management can be accessed via the **Open Organizations** icon in t ![Open Organizations icon in navigation bar](./img/avatar-menue.png) +Using the context menu of each organization, you can manage or leave an organization. + ### Overview The overview provides a summary of the organization, including: diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png new file mode 100644 index 0000000000..d3c24226d4 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png new file mode 100644 index 0000000000..586490545e Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png new file mode 100644 index 0000000000..55b4df4aa3 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/groups.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/groups.png new file mode 100644 index 0000000000..63f4a73a82 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/groups.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/icons.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/icons.png new file mode 100644 index 0000000000..13767f94c8 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/icons.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/modal.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/modal.png new file mode 100644 index 0000000000..00504f3b68 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/modal.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/overview.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/overview.png new file mode 100644 index 0000000000..20cd7bc4c0 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/overview.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png new file mode 100644 index 0000000000..9cff74645a Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png new file mode 100644 index 0000000000..5f6c0d315f Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png new file mode 100644 index 0000000000..d2789d2ce2 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png new file mode 100644 index 0000000000..c697791e50 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png new file mode 100644 index 0000000000..629e1332eb Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png new file mode 100644 index 0000000000..1a20c4192e Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-icon.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-icon.png new file mode 100644 index 0000000000..f322ad0165 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/deploy-icon.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/element-configuration.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/element-configuration.png new file mode 100644 index 0000000000..1b3c1b9231 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/element-configuration.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/elements.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/elements.png new file mode 100644 index 0000000000..3081feb839 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/elements.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/empty.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/empty.png new file mode 100644 index 0000000000..28536bfb84 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/empty.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/new-diagram.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/new-diagram.png new file mode 100644 index 0000000000..1b62ad92e3 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/new-diagram.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/properties-panel.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/properties-panel.png new file mode 100644 index 0000000000..6dea48a56a Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/properties-panel.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-icon.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-icon.png new file mode 100644 index 0000000000..4fa881c5de Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-icon.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png new file mode 100644 index 0000000000..6987cfa3cc Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png new file mode 100644 index 0000000000..4f2cbc76aa Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-successful.png b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-successful.png new file mode 100644 index 0000000000..3c20db9c9f Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/desktop-modeler/img/start-instance-successful.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png new file mode 100644 index 0000000000..0696f5632d Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png new file mode 100644 index 0000000000..987dc2128e Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png new file mode 100644 index 0000000000..5e61dfc746 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png new file mode 100644 index 0000000000..b10d8e34d5 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png new file mode 100644 index 0000000000..0864815e0c Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png new file mode 100644 index 0000000000..10abf4145b Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png new file mode 100644 index 0000000000..4c994409f9 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png new file mode 100644 index 0000000000..7dd3ab6e09 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png new file mode 100644 index 0000000000..1fc5b271bd Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png new file mode 100644 index 0000000000..89c1288f5e Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png new file mode 100644 index 0000000000..056c7b9bc4 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png new file mode 100644 index 0000000000..5d2fc48e80 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png new file mode 100644 index 0000000000..1de52f3abd Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png new file mode 100644 index 0000000000..7b9731d0f9 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png differ diff --git a/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png new file mode 100644 index 0000000000..0fed263476 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png new file mode 100644 index 0000000000..c82b673173 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png new file mode 100644 index 0000000000..7633ca05e2 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-icon.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-icon.png new file mode 100644 index 0000000000..f322ad0165 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-icon.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png new file mode 100644 index 0000000000..cf8a1929a7 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png new file mode 100644 index 0000000000..93b9633af7 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png differ diff --git a/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png new file mode 100644 index 0000000000..be99b43046 Binary files /dev/null and b/versioned_docs/version-8.5/components/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png differ diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md index 71d2bc19bb..69d052dce3 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md @@ -4,17 +4,21 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- -Flags allow you to control the availability of certain features within Desktop Modeler. +Flags allow you to control the availability of certain features within Desktop Modeler. Learn which flags [are available](#available-flags) and how to [configure them](#configuration). -## Configuring Flags +## Configuration You may configure flags in a `flags.json` file or pass them via CLI. -### Configure in `flags.json` +### Configuration via `flags.json` + +:::note +Configuration changes via `flags.json` will only take effect once you restart the application. +::: Place a `flags.json` file inside the `resources` folder of your local [`{USER_DATA}`](../search-paths#user-data-directory) or [`{APP_DATA_DIRECTORY}`](../search-paths#app-data-directory) directory to persist them. -### Configure via CLI +### Configuration via command line Pass flags via the command line when starting the application. @@ -24,7 +28,7 @@ camunda-modeler --disable-plugins Flags passed as command line arguments take precedence over those configured via a configuration file. -## Available Flags +## Available flags | flag | default value | | ---------------------------------------------------------- | ----------------------------------- | @@ -47,11 +51,11 @@ Flags passed as command line arguments take precedence over those configured via ## Examples -### Disable Plug-ins +### Disable plug-ins Start the modeler without activating installed plug-ins. This is useful to debug modeler errors. -### BPMN-only Mode +### BPMN-only mode To disable the CMMN and DMN editing capabilities of the App, configure your `flags.json` like this: diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/search-paths/search-paths.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/search-paths/search-paths.md index a2d0af056f..0f1ccabb8f 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/search-paths/search-paths.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/search-paths/search-paths.md @@ -51,4 +51,18 @@ Resources in the user data directory will be found by all Camunda Modeler instan └── index.js ``` +### Example (macOS) + +``` +└── Library + └── Application Support + └── camunda-modeler + └── resources + ├── element-templates + | └── my-element-templates.json + └── plugins + └── my-plugin + └── index.js +``` + It is possible to change the user data directory using the `--user-data-dir` option via when starting Camunda Modeler from the command line. Refer to the [flags documentation](../flags) on how to configure the application with a flags file. diff --git a/versioned_docs/version-8.5/reference/announcements.md b/versioned_docs/version-8.5/reference/announcements.md index ae74be7c71..12fdc775d4 100644 --- a/versioned_docs/version-8.5/reference/announcements.md +++ b/versioned_docs/version-8.5/reference/announcements.md @@ -10,6 +10,33 @@ Release date: 9th of April 2024 End of maintenance: 14th of October 2025 +### Camunda 8 SaaS - Required cluster update + +:::caution +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: + +- **8.2+gen27** +- **8.3+gen11** +- **8.4+gen7** +- **8.5+gen2** + +::: + +auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. + +You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: + +- 8.0.x -> 8.2+gen27 +- 8.1.x -> 8.2+gen27 +- 8.2.x -> 8.2+gen27 +- 8.3.x -> 8.3+gen11 +- 8.4.x -> 8.4+gen7 +- 8.5.x -> 8.5+gen2 + +If you do not update the cluster by August 30th 2024, we will update the cluster for you. **Without an update, you would lose access to your cluster.** + +Camunda 8 Self-Managed clusters are not affected by this. + ### Syntax changes in Helm chart A Camunda Helm chart upgrade is not possible from v9.x.x to v10.0.0 or v10.0.1. Instead, upgrade directly to v10.0.2+. diff --git a/versioned_docs/version-8.5/reference/dependencies.md b/versioned_docs/version-8.5/reference/dependencies.md index c6eb16916a..5a83455c9e 100644 --- a/versioned_docs/version-8.5/reference/dependencies.md +++ b/versioned_docs/version-8.5/reference/dependencies.md @@ -2238,6 +2238,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [core-js@3.36.1](https://github.com/zloirock/core-js) (MIT) - [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) - [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) +- [crypto-js@4.2.0](https://github.com/brix/crypto-js) (MIT) - [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) - [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) - [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) @@ -2348,6 +2349,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [js-sha256@0.11.0](https://github.com/emn178/js-sha256) (MIT) - [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) - [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) +- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) - [jwt-decode@4.0.0](https://github.com/auth0/jwt-decode) (MIT) - [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) - [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) @@ -2437,7 +2439,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) - [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) - [object-refs@0.4.0](https://github.com/bpmn-io/object-refs) (MIT) -- [oidc-client-ts@3.0.1](https://github.com/authts/oidc-client-ts) (Apache-2.0) +- [oidc-client-ts@2.4.0](https://github.com/authts/oidc-client-ts) (Apache-2.0) - [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) - [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) - [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) @@ -2571,7 +2573,7 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [winston@3.13.0](https://github.com/winstonjs/winston) (MIT) - [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) - [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.1.0](https://github.com/camunda/camunda-bpmn-moddle) (MIT) +- [zeebe-bpmn-moddle@1.1.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) ### Web Modeler Dependencies (restapi) @@ -2805,75 +2807,75 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t ### Web Modeler Dependencies (websockets) -- [beyondcode/laravel-websockets@1.14.1](https://github.com/beyondcode/laravel-websockets.git) (MIT) -- [brick/math@0.11.0](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@2.1.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [cboden/ratchet@v0.4.4](https://github.com/ratchetphp/Ratchet.git) (MIT) +- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) +- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) +- [clue/redis-protocol@v0.3.1](https://github.com/clue/php-redis-protocol.git) (MIT) +- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) - [dflydev/dot-access-data@v3.0.2](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) - [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) - [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) - [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) - [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) - [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [facade/ignition-contracts@1.0.2](https://github.com/facade/ignition-contracts.git) (MIT) -- [fig/http-message-util@1.1.5](https://github.com/php-fig/http-message-util.git) (MIT) - [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) - [graham-campbell/result-type@v1.1.2](https://github.com/GrahamCampbell/Result-Type.git) (MIT) - [guzzlehttp/guzzle@7.8.1](https://github.com/guzzle/guzzle.git) (MIT) - [guzzlehttp/promises@2.0.2](https://github.com/guzzle/promises.git) (MIT) - [guzzlehttp/psr7@2.6.2](https://github.com/guzzle/psr7.git) (MIT) - [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v10.48.4](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.17](https://github.com/laravel/prompts.git) (MIT) +- [laravel/framework@v11.9.2](https://github.com/laravel/framework.git) (MIT) +- [laravel/prompts@v0.1.23](https://github.com/laravel/prompts.git) (MIT) +- [laravel/reverb@v1.0.0-beta12](https://github.com/laravel/reverb.git) (MIT) - [laravel/serializable-closure@v1.3.3](https://github.com/laravel/serializable-closure.git) (MIT) - [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) - [league/commonmark@2.4.2](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) - [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.27.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.25.1](https://github.com/thephpleague/flysystem-local.git) (MIT) +- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) +- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) - [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.5.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@2.72.3](https://github.com/briannesbitt/Carbon.git) (MIT) +- [monolog/monolog@3.6.0](https://github.com/Seldaek/monolog.git) (MIT) +- [nesbot/carbon@3.5.0](https://github.com/briannesbitt/Carbon.git) (MIT) - [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) - [nette/utils@v4.0.4](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.0](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v1.15.1](https://github.com/nunomaduro/termwind.git) (MIT) +- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) +- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) - [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.20.0](https://github.com/paragonie/sodium_compat.git) (ISC) +- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) - [phpoption/phpoption@1.9.2](https://github.com/schmittjoh/php-option.git) (Apache-2.0) - [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) - [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) - [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) - [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.0.2](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@1.1](https://github.com/php-fig/http-message.git) (MIT) +- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) +- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) - [psr/log@3.0.0](https://github.com/php-fig/log.git) (MIT) - [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.0](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.3](https://github.com/pusher/pusher-http-php.git) (MIT) +- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) +- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) - [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) - [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.5](https://github.com/ramsey/uuid.git) (MIT) +- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) - [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) +- [react/async@v4.2.0](https://github.com/reactphp/async.git) (MIT) - [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.11.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.4.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/http@v1.9.0](https://github.com/reactphp/http.git) (MIT) -- [react/promise@v3.0.0](https://github.com/reactphp/promise.git) (MIT) -- [react/socket@v1.14.0](https://github.com/reactphp/socket.git) (MIT) +- [react/dns@v1.12.0](https://github.com/reactphp/dns.git) (MIT) +- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) +- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) +- [react/promise-timer@v1.10.0](https://github.com/reactphp/promise-timer.git) (MIT) +- [react/socket@v1.15.0](https://github.com/reactphp/socket.git) (MIT) - [react/stream@v1.3.0](https://github.com/reactphp/stream.git) (MIT) -- [ringcentral/psr7@1.3.0](https://github.com/ringcentral/psr7.git) (MIT) -- [symfony/console@v6.4.6](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.0.3](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.4.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v6.4.6](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.0.3](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.4.2](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v6.4.0](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v6.4.4](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v6.4.6](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v6.4.6](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v6.4.6](https://github.com/symfony/mime.git) (MIT) +- [symfony/clock@v7.1.0](https://github.com/symfony/clock.git) (MIT) +- [symfony/console@v7.1.0](https://github.com/symfony/console.git) (MIT) +- [symfony/css-selector@v7.1.0](https://github.com/symfony/css-selector.git) (MIT) +- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) +- [symfony/error-handler@v7.1.0](https://github.com/symfony/error-handler.git) (MIT) +- [symfony/event-dispatcher@v7.1.0](https://github.com/symfony/event-dispatcher.git) (MIT) +- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) +- [symfony/finder@v7.1.0](https://github.com/symfony/finder.git) (MIT) +- [symfony/http-foundation@v7.1.0](https://github.com/symfony/http-foundation.git) (MIT) +- [symfony/http-kernel@v7.1.0](https://github.com/symfony/http-kernel.git) (MIT) +- [symfony/mailer@v7.1.0](https://github.com/symfony/mailer.git) (MIT) +- [symfony/mime@v7.1.0](https://github.com/symfony/mime.git) (MIT) - [symfony/polyfill-ctype@v1.29.0](https://github.com/symfony/polyfill-ctype.git) (MIT) - [symfony/polyfill-intl-grapheme@v1.29.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) - [symfony/polyfill-intl-idn@v1.29.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) @@ -2883,15 +2885,14 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t - [symfony/polyfill-php80@v1.29.0](https://github.com/symfony/polyfill-php80.git) (MIT) - [symfony/polyfill-php83@v1.29.0](https://github.com/symfony/polyfill-php83.git) (MIT) - [symfony/polyfill-uuid@v1.29.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v6.4.4](https://github.com/symfony/process.git) (MIT) -- [symfony/psr-http-message-bridge@v2.3.1](https://github.com/symfony/psr-http-message-bridge.git) (MIT) -- [symfony/routing@v6.4.6](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.4.2](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.0.4](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v6.4.4](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.4.2](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v6.4.3](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v6.4.6](https://github.com/symfony/var-dumper.git) (MIT) +- [symfony/process@v7.1.0](https://github.com/symfony/process.git) (MIT) +- [symfony/routing@v7.1.0](https://github.com/symfony/routing.git) (MIT) +- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) +- [symfony/string@v7.1.0](https://github.com/symfony/string.git) (MIT) +- [symfony/translation@v7.1.0](https://github.com/symfony/translation.git) (MIT) +- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) +- [symfony/uid@v7.1.0](https://github.com/symfony/uid.git) (MIT) +- [symfony/var-dumper@v7.1.0](https://github.com/symfony/var-dumper.git) (MIT) - [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) - [vlucas/phpdotenv@v5.6.0](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) - [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) diff --git a/versioned_docs/version-8.5/reference/supported-environments.md b/versioned_docs/version-8.5/reference/supported-environments.md index 67f5ff146e..b039a7e6c3 100644 --- a/versioned_docs/version-8.5/reference/supported-environments.md +++ b/versioned_docs/version-8.5/reference/supported-environments.md @@ -56,7 +56,7 @@ The following are tested and supported deployment options for Kubernetes, Docker - [Amazon EKS](/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md) - [Microsoft AKS](/self-managed/setup/deploy/azure/microsoft-aks.md) - [Google GKE](/self-managed/setup/deploy/gcp/google-gke.md) -- [Red Hat OpenShift](/self-managed/setup/deploy/openshift/redhat-openshift.md) (4.11+) +- [Red Hat OpenShift](/self-managed/setup/deploy/openshift/redhat-openshift.md) - [Docker](/self-managed/setup/deploy/other/docker.md) (`linux/amd64`) - [Manual](/self-managed/setup/deploy/local/manual.md) diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md b/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md index 941839e830..d228a6d27f 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md @@ -4,64 +4,106 @@ title: "Red Hat OpenShift" description: "Deploy Camunda 8 Self-Managed on Red Hat OpenShift" --- -Camunda 8 can be deployed using Helm on Red Hat OpenShift with proper configurations. The primarily difference from [general Helm deployment guide](/self-managed/setup/install.md) is related to the Security Context Constraints (SCCs) you have in your cluster. +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -## Compatibility +Red Hat OpenShift, a Kubernetes distribution maintained by [Red Hat](https://www.redhat.com/en/technologies/cloud-computing/openshift), provides options for both managed and on-premise hosting. -We test against the following OpenShift versions and guarantee compatibility with: +Deploying Camunda 8 on Red Hat OpenShift is achievable using Helm, given the appropriate configurations. However, it's important to note that the [Security Context Constraints (SCCs)](#security-context-constraints-sccs) and [Routes](./redhat-openshift.md?current-ingress=openshift-routes#using-openshift-routes) configurations might require slight deviations from the guidelines provided in the [general Helm deployment guide](/self-managed/setup/install.md). -| OpenShift version | Supported | -| ----------------- | ------------------ | -| 4.12.x | :white_check_mark: | -| 4.13.x | :white_check_mark: | -| 4.14.x | :white_check_mark: | +## Cluster Specification -Any version not explicitly marked in the table above is not tested, and we cannot guarantee compatibility. +When deploying Camunda 8 on an OpenShift cluster, the cluster specification should align with your specific requirements and workload characteristics. Here's a suggested configuration to begin with: -## Pitfalls to avoid +- **Instance type:** 4 vCPUs (x86_64, >3.1 GHz), 16 GiB Memory (for example, [m5.xlarge on AWS](https://aws.amazon.com/en/ebs/general-purpose/)) +- **Number of dedicated nodes:** 4 +- **Volume type:** SSD volumes (with between 1000 and 3000 IOPS per volume, and a throughput of 1,000 MB/s per volume, for instance, [gp3 on AWS](https://aws.amazon.com/en/ebs/general-purpose/)) -For general deployment pitfalls, visit the [deployment troubleshooting guide](/self-managed/operational-guides/troubleshooting/troubleshooting.md). +### Supported Versions -### Security Context Constraints (SCCs) +We conduct testing and ensure compatibility against the following OpenShift versions: -Much like how roles control the permissions of users, Security Context Constraints (SCCs) are a way to control the permissions of the applications deployed, both at the pod and container level. It's generally recommended deploying your application with the most restricted SCCs possible. If you're not familiar with security context constraints, refer to the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html). +- Compatibility is not guaranteed for OpenShift versions no longer supported by Red Hat, as indicated in the "End of Support Date" column. -#### Permissive SCCs +| OpenShift Version | [End of Support Date](https://access.redhat.com/support/policy/updates/openshift) | +| ----------------- | --------------------------------------------------------------------------------- | +| 4.15.x | August 27, 2025 | +| 4.14.x | May 1, 2025 | +| 4.13.x | November 17, 2024 | +| 4.12.x | July 17, 2024 | -Out of the box, if you deploy Camunda 8 (and related infrastructure) with a permissive SCCs, there is nothing particular for you to configure. Here, a permissive SCCs refers to one where the strategy for `RunAsUser` is defined as `RunAsAny` (including root). +## Deploying Camunda 8 in OpenShift -#### Non-root SCCs +Depending on your OpenShift cluster's Security Context Constraints (SCCs) configuration, the deployment process may vary. -If you wish to deploy Camunda 8 but restrict the applications from running as root (e.g. the `nonroot` built-in SCCs), you will need to configure each pod and container to run as a non-root user. For example, when deploying Zeebe using a stateful set, you would add the following, replacing `1000` with the user ID you wish to use: + + -```yaml -spec: - template: - spec: - securityContext: - runAsUser: 1000 - containers: - securityContext: - runAsUser: 1000 +### With restrictive SCCs + +By default, OpenShift employs more restrictive SCCs. The Helm chart must assign `null` to the user running all components and dependencies. Due to a [null bug](https://github.com/helm/helm/issues/9136) [in Helm](https://github.com/helm/helm/issues/12490), this operation must be executed using [a post-renderer](https://helm.sh/docs/topics/advanced/#post-rendering). + +To deploy Camunda 8 on OpenShift, please follow these installation steps: + +1. Install [Helm and other CLI tools](/self-managed/setup/install.md#prerequisites). +2. Ensure that `bash` and `sed` on linux or `gsed` on mac are available locally, as they are necessary for the [post-rendering process to patch the values of OpenShift](https://github.com/camunda/camunda-platform-helm/blob/main/charts/camunda-platform/openshift/patch.sh). +3. Install the [Camunda Helm chart repository](/self-managed/setup/install.md#helm-repository). +4. Download the exact version of the chart that you want to install and extract it in a directory ([Camunda 8 Helm Chart Version Matrix](https://helm.camunda.io/camunda-platform/version-matrix/)): + +```shell +# List of available version: https://helm.camunda.io/camunda-platform/version-matrix/ +export CHART_VERSION="pleaseDefine" + +# Make sure to set CHART_VERSION to match the chart version you want to install. +helm pull camunda/camunda-platform --version "$CHART_VERSION" --untar --untardir "/tmp/camunda-platform-$CHART_VERSION" ``` -:::note -As the container user in OpenShift is always part of the root group, it's not necessary to define a `fsGroup` for any Camunda 8 applications pod security context. +5. Install the Camunda chart with the patched SCCs (`/tmp/camunda-platform-CHART_VERSION/camunda-platform/openshift/values.yaml`) and the post-renderer script (`/tmp/camunda-platform-CHART_VERSION/camunda-platform/openshift/patch.sh`): + +```shell +helm install camunda camunda/camunda-platform --skip-crds \ + --values "/tmp/camunda-platform-$CHART_VERSION/camunda-platform/openshift/values.yaml" \ + --post-renderer bash --post-renderer-args "/tmp/camunda-platform-$CHART_VERSION/camunda-platform/openshift/patch.sh" +``` + +You can customize the values by providing your own values in addition to the OpenShift values file. + +:::note Always use the post-renderer +For updates as well as the initial installation. Skipping it will reapply default values and may prevent some services from starting. ::: -This is necessary for all Camunda 8 applications, as well as related ones (e.g. Keycloak, PostgreSQL, etc.). This is notably crucial for stateful applications which will write to persistent volumes, but it's also generally a good idea to set. + + + +### With permissive SCCs + +To use permissive SCCs, simply install the charts as they are. Follow the [general Helm deployment guide](/self-managed/setup/install.md). + + + + +## Available Configurations of OpenShift Components + +### Security Context Constraints (SCCs) + +[Security Context Constraints (SCCs)](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html) are a set of conditions that a pod must adhere to in order to be accepted into the system. They define the security conditions under which a pod operates. + +Similar to how roles control user permissions, SCCs regulate the permissions of deployed applications, both at the pod and container level. It's generally recommended to deploy applications with the most restrictive SCCs possible. If you're unfamiliar with security context constraints, you can refer to the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html). + + + #### Restrictive SCCs -The following is the most restrictive SCCs you can use to deploy Camunda 8. Note that this is, in OpenShift 4.10, equivalent to the built-in `restricted` SCCs (which is the default SCCs). +The following represents the most restrictive SCCs that can be used to deploy Camunda 8. Note that in OpenShift 4.10, these are equivalent to the built-in `restricted` SCCs (which are the default SCCs). ```yaml Allow Privileged: false Default Add Capabilities: -Required Drop Capabilities: KILL,MKNOD,SYS_CHROOT,SETUID,SETGID +Required Drop Capabilities: KILL, MKNOD, SYS_CHROOT, SETUID, SETGID Allowed Capabilities: Allowed Seccomp Profiles: -Allowed Volume Types: configMap,downwardAPI,emptyDir,persistentVolumeClaim,projected,secret +Allowed Volume Types: configMap, downwardAPI, emptyDir, persistentVolumeClaim, projected, secret Allow Host Network: false Allow Host Ports: false Allow Host PID: false @@ -73,220 +115,103 @@ FSGroup Strategy: MustRunAs Supplemental Groups Strategy: RunAsAny ``` -When using this, you must take care not to specify _any_ `runAsUser` or `fsGroup` in either the pod or container security context. Instead, let OpenShift assign arbitrary IDs. +When using these SCCs, be sure not to specify _any_ `runAsUser` or `fsGroup` values in either the pod or container security context. Instead, allow OpenShift to assign arbitrary IDs. :::note -If you are providing the ID ranges yourself, you can configure the `runAsUser` and `fsGroup` values yourself as well. +If you are providing the ID ranges yourself, you can also configure the `runAsUser` and `fsGroup` values accordingly. ::: -The Camunda Helm chart can be deployed to OpenShift with a few modifications, primarily revolving around your desired security context constraints. You can find out more about this in the next section. +The Camunda Helm chart can be deployed to OpenShift with a few modifications, primarily revolving around your desired security context constraints. + + -## Deployment - -As discussed in the previous section, you need to configure the pod and container security contexts based on your desired security context constraints (SCCs). +#### Non-root SCCs -The `Elasticsearch`, `Keycloak`, and `PostgreSQL` charts all specify default non-root users for security purposes. To deploy these charts through the Camunda Helm chart, these default values must be removed. Unfortunately, due to a [longstanding bug in Helm](https://github.com/helm/helm/issues/9136) affecting all Helm versions from 3.2.0 and greater, this makes the installation of the chart (when deploying any of these sub-charts) more complex. +If you intend to deploy Camunda 8 while restricting applications from running as root (e.g., using the `nonroot` built-in SCCs), you'll need to configure each pod and container to run as a non-root user. For example, when deploying Zeebe using a stateful set, you would include the following YAML, replacing `1000` with the desired user ID: -Note that this is only an issue if you are deploying `Elasticsearch`, `Keycloak` (via `Identity`), or `PostgreSQL` (via `Keycloak`). If you are not deploying these, or not via the `camunda-platform` chart, or you are using [permissive SCCs](#permissive-sccs), this issue does not affect your deployment. +```yaml +spec: + template: + spec: + securityContext: + runAsUser: 1000 + containers: + securityContext: + runAsUser: 1000 +``` :::note -This also affects installations done through the OpenShift console, as it still uses Helm under the hood. +As the container user in OpenShift is always part of the root group, defining a `fsGroup` for any Camunda 8 application pod security context is unnecessary. ::: -### Permissive SCCs - -To use permissive SCCs, install the charts as they are. Follow the [general Helm deployment guide](/self-managed/setup/install.md). +This configuration is necessary for all Camunda 8 applications, as well as related ones (e.g., Keycloak, PostgreSQL, etc.). It's particularly crucial for stateful applications that will write to persistent volumes, but it's also generally a good security practice. + + -### Restrictive SCCs - -To use more restrictive SCCs, configure the following minimum set of values for the various applications. The recommendations outlined in the sections are relevant here as well. As the Camunda 8 applications do not define a pod or security context, follow these recommendations, or simply omit defining any. - -If you are deploying with SCCs where `RunAsUser` is `MustRunAsRange` (e.g. the default `restricted` SCCs), and are deploying at least one of `Elasticsearch`, `Keycloak`, or `PostgreSQL`, it's necessary to unset the default security context of these charts. If this does not apply to you, you can stop here. - -Now this depends on which Helm version you use: `3.1.3 and lower`, or `3.2.0 and greater` (i.e. one affected by [Helm's nested sub-charts](https://github.com/helm/helm/issues/9136)). Find out your Helm version by running the following: - -```shell -helm version --short - -v3.8.1+g5cb9af4 -``` - -#### Helm 3.1.3 or lower +#### Permissive SCCs -If you're running on Helm 3.0.0 up to 3.1.3, you need to add these values to your `values.yaml` file, or save them to a new file locally, e.g. `openshift.yaml`: +If you deploy Camunda 8 (and related infrastructure) with permissive SCCs out of the box, there's nothing specific for you to configure. Here, permissive SCCs refer to those where the strategy for `RunAsUser` is defined as `RunAsAny` (including root). -:::note -These values are also available in the [Camunda Helm chart repository](https://github.com/camunda/camunda-platform-helm/tree/main/charts/camunda-platform/openshift). -::: + + -```yaml -# omit this section if elasticsearch.enabled is false -elasticsearch: - securityContext: - runAsUser: null - sysctlInitContainer: - enabled: false - podSecurityContext: - fsGroup: null - runAsUser: null - -# omit this section if identity.enabled is false -identityKeycloak: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - postgresql: - # omit this section if identityKeycloak.postgresql.primary.enabled is false - primary: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - # omit this section if identityKeycloak.postgresql.readReplicas.enabled is false - readReplicas: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null - # omit this section if identityKeycloak.postgresql.metrics.enabled is false - metrics: - containerSecurityContext: - runAsUser: null - podSecurityContext: - fsGroup: null - runAsUser: null -``` +## Ingress Configuration -When installing the chart, run the following: +Before exposing services outside the cluster, we need an ingress component. Here's how you can configure it: -```shell -helm install camunda camunda/camunda-platform --skip-crds -f values.yaml -f openshift.yaml -``` + + -#### Helm 3.2.0 and greater +### Using Kubernetes Ingress -If you must deploy using Helm 3.2.0 or greater, you have two options. One is to use a SCCs which defines the `RunAsUser` strategy to be at least `RunAsAny`. If that's not possible, then you need to make use of [a post-renderer](https://helm.sh/docs/topics/advanced/#post-rendering). This workaround is also described in detail in the [Helm chart repository](https://github.com/camunda/camunda-platform-helm/tree/main/charts/camunda-platform/openshift#post-renderer-setup). +[Routes](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html) serve as OpenShift's default Ingress implementation. -:::warning -If using a post-renderer, you **must** use the post-renderer whenever you are updating your release, not only during the initial installation. If you do not, the default values will be used again, which will prevent some services from starting. -::: +If you find that its features aren't suitable for your needs, or if you prefer to use a Kubernetes-native Ingress controller, such as the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx), [you have that option](https://www.redhat.com/en/blog/a-guide-to-using-routes-ingress-and-gateway-apis-in-kubernetes-without-vendor-lock-in). -While you can use your preferred `post-renderer`, we provide one (included in the chart archive) which requires only `bash` and `sed` to be available locally: +For guidance on installing an Ingress controller, you can refer to the [Ingress Setup documentation](/self-managed/setup/guides/ingress-setup.md). -```shell -#!/bin/bash -eu -# Expected usage is as an Helm post renderer. -# Example usage: -# helm install my-release camunda/camunda-platform --post-renderer ./patch.sh -# -# This script is a Helm chart post-renderer for users on Helm 3.2.0 and greater. It allows removing default -# values set in sub-charts/dependencies, something which should be possible but is currently not working. -# See this issue for more: https://github.com/helm/helm/issues/9136 -# -# The result of patching the rendered Helm templates is printed out to STDOUT. Any other logging from the -# script is thus sent to STDERR. -# -# Note to contributors: this post-renderer is used in the integration tests, so make sure that it can be used -# from any working directory. - -set -o pipefail - -# Perform two passes: once for single quotes, once for double quotes, as it's not specified that string values are -# always output with single or double quotes -sed -e "s/'@@null@@'/null/g" -e 's/"@@null@@"/null/g' -``` +:::note Difference between ingress-nginx and NGINX Ingress -You also need to use a custom values file, where instead of using `null` as a value to unset default values, you use a special marker value which will be removed by the post-renderer. +Do not confuse the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) with the [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift) that is endorsed by Red Hat for usage with OpenShift. Despite very similar names, they are two different products. -Copy these values to your values file or save them as a separate file, e.g. `openshift.yaml`: +If you should decide to use the Red Hat endorsed [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift), you would require additional adjustments done to the Camunda 8 ingress objects and the NGINX Ingress Controller itself to make `gRPC` and `HTTP/2` connections work. In that case, please refer to the [example and the prerequisites](https://github.com/nginxinc/kubernetes-ingress/blob/main/examples/ingress-resources/grpc-services/README.md). -:::note -These values are also available in the [Camunda Helm chart repository](https://github.com/camunda/camunda-platform-helm/blob/main/charts/camunda-platform/openshift/values.yaml). ::: -```yaml -# omit this section if elasticsearch.enabled is false -elasticsearch: - securityContext: - runAsUser: "@@null@@" - sysctlInitContainer: - enabled: false - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - - # omit this section if identityKeycloak.enabled is false -identityKeycloak: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - postgresql: - # omit this section if identityKeycloak.postgresql.primary.enabled is false - primary: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - # omit this section if identityKeycloak.postgresql.readReplicas.enabled is false - readReplicas: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" - # omit this section if identityKeycloak.postgresql.metrics.enabled is false - metrics: - containerSecurityContext: - runAsUser: "@@null@@" - podSecurityContext: - fsGroup: "@@null@@" - runAsUser: "@@null@@" -``` - -Now, when installing the chart, you can do so by running the following: + + -```shell -helm install camunda camunda/camunda-platform --skip-crds \ - -f values.yaml -f openshift.yaml --post-renderer ./patch.sh -``` +### Using OpenShift Routes -## Configuring Ingress using routes for Zeebe Gateway +[Routes](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html) expose services externally by linking a URL to a service within the cluster. [OpenShift supports both the standard Kubernetes Ingress and routes](https://docs.openshift.com/container-platform/latest/networking/ingress-operator.html), giving cluster users the flexibility to choose. -The Ingress on OpenShift works slightly different from the Kubernetes default. The mechanism is called [routes](https://docs.openshift.com/container-platform/4.11/networking/routes/route-configuration.html). +The presence of routes is rooted in their specification predating Ingress. It's worth noting that the functionality of routes differs from Ingress; for example, unlike Ingress, routes don't allow multiple services to be linked to a single route or the use of paths. To use these routes for the Zeebe Gateway, configure this through Ingress as well. -### Alternatives +#### Prerequisite -An alternative to using [routes](https://docs.openshift.com/container-platform/4.14/networking/routes/route-configuration.html) is to install and use one of the Kubernetes Ingress controllers instead, for example, the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx). +As the Zeebe Gateway also uses `gRPC` (which relies on `HTTP/2`), [HTTP/2 Ingress Connectivity has to be enabled](https://docs.openshift.com/container-platform/latest/networking/ingress-operator.html#nw-http2-haproxy_configuring-ingress). -:::warning +#### Required Steps -Do not confuse the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) with the [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift) that is endorsed by Red Hat for usage with OpenShift. Despite very similar names, they are two different products. +1. Provide [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) for the Zeebe Gateway. The [Cert Manager](https://docs.openshift.com/container-platform/latest/security/cert_manager_operator/index.html) might be helpful here: -If you should decide to use the Red Hat endorsed [NGINX Ingress Controller](https://www.redhat.com/en/blog/using-nginx-ingress-controller-red-hat-openshift), you would require additional adjustments done to the Camunda 8 ingress objects and the NGINX Ingress Controller itself to make `gRPC` and `HTTP/2` connections work. In that case, please refer to the [example and the prerequisites](https://github.com/nginxinc/kubernetes-ingress/blob/main/examples/ingress-resources/grpc-services/README.md). + - One issued to the Zeebe Gateway Service Name. This must use the [pkcs8 syntax](https://en.wikipedia.org/wiki/PKCS_8) or [pkcs1 syntax](https://en.wikipedia.org/wiki/PKCS_1) as Zeebe only supports these, referenced as **Service Certificate Secret** or ``. For more details, review the [OpenShift documentation](https://docs.openshift.com/container-platform/latest/networking/routes/secured-routes.html#nw-ingress-creating-a-reencrypt-route-with-a-custom-certificate_secured-routes). -::: +
+ pkcs8, pkcs1 syntax -### Prerequisite + > PKCS1 private key encoding. PKCS1 produces a PEM block that contains the private key algorithm in the header and the private key in the body. A key that uses this can be recognised by its BEGIN RSA PRIVATE KEY or BEGIN EC PRIVATE KEY header. NOTE: This encoding is not supported for Ed25519 keys. Attempting to use this encoding with an Ed25519 key will be ignored and default to PKCS8. -As the Zeebe Gateway also uses `gRPC` (which relies on `HTTP/2`), this [has to be enabled](https://docs.openshift.com/container-platform/4.11/networking/ingress-operator.html#nw-http2-haproxy_configuring-ingress). + > PKCS8 private key encoding. PKCS8 produces a PEM block with a static header and both the private key algorithm and the private key in the body. A key that uses this encoding can be recognised by its BEGIN PRIVATE KEY header. -### Required steps + [pkcs1, pkcs8 syntax definitionfrom cert-manager](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.PrivateKeyEncoding) +
-1. Provide [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) for the Zeebe Gateway, the [Cert Manager](https://docs.openshift.com/container-platform/4.11/security/cert_manager_operator/index.html) might be helpful here: + - One that is used on the exposed route, referenced as **External URL Certificate Secret** or ``. -- One issued to the Zeebe Gateway Service Name. This must use the [pkcs8 syntax](https://www.openssl.org/docs/man3.1/man1/openssl-pkcs8.html) or [pkcs1 syntax](https://en.wikipedia.org/wiki/PKCS_1) as Zeebe only supports these, referenced as **Service Certificate Secret** or ``. For more details, review the [OpenShift documentation](https://docs.openshift.com/container-platform/4.11/networking/routes/secured-routes.html#nw-ingress-creating-a-reencrypt-route-with-a-custom-certificate_secured-routes). -- One that is used on the exposed route, referenced as **External URL Certificate Secret** or ``. - -1. Configure your Zeebe Gateway Ingress to create a [re-encrypt route](https://docs.openshift.com/container-platform/4.11/networking/routes/route-configuration.html#nw-ingress-creating-a-route-via-an-ingress_route-configuration): +2. Configure your Zeebe Gateway Ingress to create a [Re-encrypt Route](https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html#nw-ingress-creating-a-route-via-an-ingress_route-configuration): ```yaml zeebeGateway: @@ -361,7 +286,7 @@ operate: defaultMode: 420 ``` -The actual configuration properties can be reviewed [in the Operate configuration documentation](docs/self-managed/operate-deployment/operate-configuration.md#zeebe-broker-connection). +The actual configuration properties can be reviewed [in the Operate configuration documentation](/self-managed/operate-deployment/operate-configuration.md#zeebe-broker-connection). For Tasklist: @@ -386,6 +311,16 @@ tasklist: defaultMode: 420 ``` -The actual configuration properties can be reviewed [in the Tasklist configuration documentation](docs/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). +The actual configuration properties can be reviewed [in the Tasklist configuration documentation](/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). 5. Configure all other applications running inside the cluster and connecting to the Zeebe Gateway to also use TLS. + + + + +
+
+ +## Pitfalls to avoid + +For general deployment pitfalls, visit the [deployment troubleshooting guide](/self-managed/operational-guides/troubleshooting/troubleshooting.md).