Skip to content

Commit

Permalink
Merge branch 'main' into jesse-application-components
Browse files Browse the repository at this point in the history
  • Loading branch information
jessesimpson36 committed Mar 27, 2024
2 parents 2da3d2d + 64fbfcd commit f09b57b
Show file tree
Hide file tree
Showing 81 changed files with 251 additions and 139 deletions.
4 changes: 2 additions & 2 deletions docs/apis-tools/build-your-own-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ export ACCESS_TOKEN=$(curl -s --request POST \
--data "{\"client_id\":\"${ZEEBE_CLIENT_ID}\",\"client_secret\":\"${ZEEBE_CLIENT_SECRET}\",\"audience\":\"${ZEEBE_TOKEN_AUDIENCE}\",\"grant_type\":\"client_credentials\"}" | sed 's/.*access_token":"\([^"]*\)".*/\1/' )
```

4. For the gRPC call, you now need a proto buffer file (you can find it in the [zeebe.io repository](https://raw.githubusercontent.com/camunda-cloud/zeebe/develop/gateway-protocol/src/main/proto/gateway.proto)):
4. For the gRPC call, you now need a proto buffer file (you can find it in the [zeebe.io repository](https://raw.githubusercontent.com/camunda/zeebe/main/zeebe/gateway-protocol/src/main/proto/gateway.proto)):

```bash
curl -sSL https://raw.githubusercontent.com/camunda-cloud/zeebe/develop/gateway-protocol/src/main/proto/gateway.proto > /tmp/gateway.proto
curl -sSL https://raw.githubusercontent.com/camunda/zeebe/main/zeebe/gateway-protocol/src/main/proto/gateway.proto > /tmp/gateway.proto
```

5. Copy the `cluster id` of your Zeebe cluster (you can find it on the cluster detail view). Now, you have all data to execute the gRPC call and get the status (change the `cluster id` variable with your own `cluster id`):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ Furthermore, data is also sent Operate and Optimize, which store data in Elastic
Elasticsearch needs enough memory available to load a large amount of this data into memory.
:::

Assuming a [typical payload of 15 process variables (simple strings, numbers or booleans)](https://github.com/camunda-cloud/zeebe/blob/develop/benchmarks/project/src/main/resources/bpmn/typical_payload.json) we measured the following approximations for disk space requirements using Camunda 8 SaaS 1.2.4. Please note, that these are not exact numbers, but they might give you an idea what to expect:
Assuming a [typical payload of 15 process variables (simple strings, numbers or booleans)](https://github.com/camunda/zeebe/blob/main/zeebe/benchmarks/project/src/main/resources/bpmn/typical_payload.json) we measured the following approximations for disk space requirements using Camunda 8 SaaS 1.2.4. Please note, that these are not exact numbers, but they might give you an idea what to expect:

- Zeebe: 75 kb / PI
- Operate: 57 kb / PI
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ public void retrieveMoney(final JobClient client, final ActivatedJob job) {
}
```

In the background, a worker starts a polling component and [a thread pool](https://github.com/camunda-cloud/zeebe/blob/d24b31493b8e22ad3405ee183adfd5a546b7742e/clients/java/src/main/java/io/camunda/zeebe/client/impl/ZeebeClientImpl.java#L179-L183) to [handle the polled jobs](https://github.com/camunda-cloud/zeebe/blob/develop/clients/java/src/main/java/io/camunda/zeebe/client/impl/worker/JobPoller.java#L109-L111). The [**default thread pool size is one**](https://github.com/camunda-cloud/zeebe/blob/760074f59bc1bcfb483fab4645501430f362a475/clients/java/src/main/java/io/camunda/zeebe/client/impl/ZeebeClientBuilderImpl.java#L49). If you need more, you can enable a thread pool:
In the background, a worker starts a polling component and [a thread pool](https://github.com/camunda-cloud/zeebe/blob/d24b31493b8e22ad3405ee183adfd5a546b7742e/clients/java/src/main/java/io/camunda/zeebe/client/impl/ZeebeClientImpl.java#L179-L183) to [handle the polled jobs](https://github.com/camunda/zeebe/blob/main/zeebe/clients/java/src/main/java/io/camunda/zeebe/client/impl/worker/JobPoller.java#L109-L111). The [**default thread pool size is one**](https://github.com/camunda-cloud/zeebe/blob/760074f59bc1bcfb483fab4645501430f362a475/clients/java/src/main/java/io/camunda/zeebe/client/impl/ZeebeClientBuilderImpl.java#L49). If you need more, you can enable a thread pool:

```java
ZeebeClient client = ZeebeClient.newClientBuilder()
Expand Down
41 changes: 41 additions & 0 deletions docs/components/connectors/out-of-the-box-connectors/github.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,14 @@ The **GitHub Connector** currently supports the following operations.
- **Owner:** The account owner of the repository. The name is not case-sensitive.
- **Repo:** The name of the repository. The name is not case-sensitive.

#### Get repository content

- **GitHub API:** [Get repository content](https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#get-repository-content).
- **Owner:** The account owner of the repository. The name is not case-sensitive.
- **Repo:** The name of the repository. The name is not case-sensitive.
- **Path:** The path of the content within the repository.
- **Ref:** The name of the commit/branch/tag. Defaults to the repository’s default branch.

### Actions

#### Create workflow dispatch event
Expand All @@ -226,6 +234,39 @@ The **GitHub Connector** currently supports the following operations.
- **Git reference:** The branch or tag name for the workflow.
- **Workflow inputs:** An object containing up to 10 key-value pairs. Inputs are configured in the workflow file.

### References

#### Create a reference

- **GitHub API:** [Create a reference](https://docs.github.com/en/rest/git/refs?apiVersion=2022-11-28#create-a-reference)
- **Owner:** The account owner of the repository. The name is not case-sensitive.
- **Repo:** The name of the repository. The name is not case-sensitive
- **Git reference:** The name of the fully qualified reference (i.e: `refs/heads/master`).
- **SHA1:** The SHA1 value to create this reference from.

### Pulls

#### Create a pull request

- **GitHub API:** [Create a pull request](https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#create-a-pull-request).
- **Owner:** The account owner of the repository. The name is not case-sensitive.
- **Repo:** The name of the repository. The name is not case-sensitive
- **Title:** The title of the new pull request.
- **Head:** The name of the branch where your changes are implemented.
- **Base:** The name of the branch you want the changes pulled into.
- **Body:** The contents of the pull request.
- **Draft:** Indicates whether the pull request is a draft.

### Collaborators

#### List repository collaborators

- **GitHub API:** [List repository collaborators](https://docs.github.com/en/rest/collaborators/collaborators?apiVersion=2022-11-28#list-repository-collaborators).
- **Owner:** The account owner of the repository. The name is not case-sensitive.
- **Repo:** The name of the repository. The name is not case-sensitive
- **Page:** The page number of the results to fetch.
- **Results per page:** The number of results per page.

## Handle Connector response

The **GitHub Connector** is a protocol Connector, meaning it is built on top of the **HTTP REST Connector**, therefore
Expand Down
51 changes: 51 additions & 0 deletions docs/components/connectors/out-of-the-box-connectors/gitlab.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,57 @@ The **GitLab Connector** currently supports the following operations.
- **Release name:** The release name.
- **Description:** The description of the release.

### Branches

#### List repository branches

- **GitLab API:** [List repository branches](https://docs.gitlab.com/ee/api/branches.html#list-repository-branches).
- **Project ID:** The global ID or URL-encoded path of the project owned by the authenticated user.
- **Search String:** Return list of branches containing the search string.
- **Regular Expression:** Return list of branches with names matching a [re2](https://github.com/google/re2/wiki/Syntax) regular expression.

### Create repository branch

- **GitLab API:** [Create repository branch](https://docs.gitlab.com/ee/api/branches.html#create-repository-branch).
- **Project ID:** The global ID or URL-encoded path of the project owned by the authenticated user.
- **Name:** The name of the new branch.
- **Reference:** The branch name or commit SHA to create the branch from.

### Repository files

#### Create new file in repository

- **GitLab API:** [Create new file in repository](https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository).
- **Project ID:** The global ID or URL-encoded path of the project owned by the authenticated user.
- **Branch name:** Name of the new branch to create the file in. The commit is added to this branch.
- **Commit message:** Message of the commit that adds the new file.
- **Content:** The content of the new file.
- **File path:** URL-encoded full path to new file. For example, `lib%2Fclass%2Erb`.
- **Author email:** The commit author's email address.
- **Author name:** The commit author's name.
- **Encoding:** The encoding of the content. GitLab's default is `text`.
- **Execute file mode:** Enables or disables the `execute` flag on the file.
- **Start branch:** The branch to start the new branch from.
- **Allow collaboration:** Allow commits from members who can merge to the target branch.

## Merge requests

### Create merge request

- **GitLab API:** [Create merge request](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr).
- **Project ID:** The global ID or URL-encoded path of the project owned by the authenticated user.
- **Source branch:** Name of the source branch.
- **Target branch:** Name of the target branch.
- **Title:** Title of the merge request.
- **Assignee IDs:** The IDs of the users to assign the merge request to as an array of numbers.
- **Description:** Description of the merge request.
- **Labels:** Comma-separated list of label names for the merge request.
- **Milestone ID:** The ID of a milestone to assign the merge request to.
- **Remove source branch:** Flag indicating if a merge request should remove the source branch when merging.
- **Reviewer IDs:** The ID of the users to set as reviewers of the merge request as an array of numbers.
- **Squash:** Flag indicating if commits should be squashed into a single commit when merging.
- **Target project ID:** Numeric ID of the target project.

## Handle Connector response

The **GitLab Connector** is a protocol Connector, meaning it is built on top of the **HTTP REST Connector**, therefore
Expand Down
2 changes: 1 addition & 1 deletion docs/components/zeebe/technical-concepts/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,4 @@ The exporter system provides an event stream of state changes within Zeebe. This
- Analysis of historic process data for auditing, business intelligence, etc.
- Tracking [incidents](/components/concepts/incidents.md) created by Zeebe

The exporter includes an API you can use to stream data into a storage system of your choice. Zeebe includes an out-of-the-box [Elasticsearch exporter](https://github.com/camunda-cloud/zeebe/tree/master/exporters/elasticsearch-exporter), and other [community-contributed exporters](https://github.com/camunda-community-hub/awesome-camunda-platform-8) are also available.
The exporter includes an API you can use to stream data into a storage system of your choice. Zeebe includes an out-of-the-box [Elasticsearch exporter](https://github.com/camunda/zeebe/tree/main/zeebe/exporters/elasticsearch-exporter), and other [community-contributed exporters](https://github.com/camunda-community-hub/awesome-camunda-platform-8) are also available.
2 changes: 1 addition & 1 deletion docs/components/zeebe/technical-concepts/protocols.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: "Let's discuss gRPC and supported clients."
Zeebe clients connect to brokers via a stateless gateway.

For the communication between client and gateway, [gRPC](https://grpc.io/) is used. The communication protocol is defined using Protocol Buffers v3 ([proto3](https://developers.google.com/protocol-buffers/docs/proto3)), and you can find it in the
[Zeebe repository](https://github.com/camunda-cloud/zeebe/tree/develop/gateway-protocol).
[Zeebe repository](https://github.com/camunda/zeebe/tree/main/zeebe/gateway-protocol).

## What is gRPC?

Expand Down
2 changes: 1 addition & 1 deletion docs/components/zeebe/zeebe-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ With Zeebe you can:
- Use as part of a software as a service (SaaS) offering with Camunda 8 or deploy with Docker and Kubernetes (in the cloud or on-premise) with Camunda 8 Self-Managed.
- Scale horizontally to handle very high throughput.
- Rely on fault tolerance and high availability for your processes.
- Export processes data for monitoring and analysis (currently only available through the [Elasticsearch exporter](https://github.com/camunda-cloud/zeebe/tree/develop/exporters/elasticsearch-exporter) added in Camunda 8 Self-Managed).
- Export processes data for monitoring and analysis (available through the [exporters](../../self-managed/zeebe-deployment/exporters/exporters.md) added in Camunda 8 Self-Managed).
- Engage with an active community.

For documentation on deploying Zeebe as part of Camunda 8 Self-Managed, refer to the [deployment guide](../../self-managed/zeebe-deployment/zeebe-installation.md).
Expand Down
4 changes: 2 additions & 2 deletions docs/self-managed/concepts/exporters.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Additionally, exporters use the system class loader for system classes, or class

Exporter-specific configuration is handled through the exporter's `[exporters.args]`
nested map. This provides a `Map<String, Object>` passed directly
in the form of a [configuration](https://github.com/camunda-cloud/zeebe/tree/develop/exporter-api/src/main/java/io/camunda/zeebe/exporter/api/context/Configuration.java) object when the broker calls the `Exporter#configure(Configuration)` method.
in the form of a [configuration](https://github.com/camunda/zeebe/tree/main/zeebe/exporter-api/src/main/java/io/camunda/zeebe/exporter/api/context/Configuration.java) object when the broker calls the `Exporter#configure(Configuration)` method.

Configuration occurs at two different phases: during the broker startup phase, and
once every time a leader is elected for a partition.
Expand All @@ -85,7 +85,7 @@ once every time a leader is elected for a partition.
At any given point, there is exactly one leader node for a given partition.

Whenever a node becomes the leader for a partition, it runs an instance of an
[exporter stream processor](https://github.com/camunda-cloud/zeebe/tree/develop/broker/src/main/java/io/camunda/zeebe/broker/exporter/stream/ExporterDirector.java).
[exporter stream processor](https://github.com/camunda/zeebe/tree/main/zeebe/broker/src/main/java/io/camunda/zeebe/broker/exporter/stream/ExporterDirector.java).

This stream processor creates exactly one instance of each configured exporter,
and forwards every record written on the stream to each of these in turn.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ If any of the steps above fail, you may have to restart with a new backup id. En

To restore a Camunda 8 cluster from a backup, all components must be restored from their backup corresponding to the same backup id:

1. Restore the state of [Operate](/self-managed/operational-guides/backup-restore/operate-tasklist-backup.md), [Tasklist](/self-managed/operational-guides/backup-restore/operate-tasklist-backup.md), and [Optimize](/self-managed/operational-guides/backup-restore/optimize-backup.md).
2. Restore `zeebe-records*` indices from Elasticsearch snapshot.
3. Restore [Zeebe](/self-managed/operational-guides/backup-restore/zeebe-backup-and-restore.md).
4. Start Zeebe, Operate, Tasklist, and Optimize.
1. Start Zeebe, Operate, Tasklist, and Optimize. (To ensure templates/aliases etc. are created)
2. Confirm proper configuration (such as shards, replicas count, etc.)
3. Stop Operate, Tasklist, and Optimize.
4. Delete all indices.
5. Restore the state of [Operate](/self-managed/operational-guides/backup-restore/operate-tasklist-backup.md), [Tasklist](/self-managed/operational-guides/backup-restore/operate-tasklist-backup.md), and [Optimize](/self-managed/operational-guides/backup-restore/optimize-backup.md).
6. Restore `zeebe-records*` indices from Elasticsearch snapshot.
7. Restore [Zeebe](/self-managed/operational-guides/backup-restore/zeebe-backup-and-restore.md).
8. Start Zeebe, Operate, Tasklist, and Optimize.
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ camunda.tasklist:
Refer to [supported environments](../../reference/supported-environments.md#camunda-8-self-managed) to find out which versions of Elasticsearch or OpenSearch are supported in a Camunda 8 Self-Managed setup.
:::
For Elasticsearch, Tasklist imports data from Elasticsearch indices created and filled in by [Zeebe Elasticsearch Exporter](https://github.com/camunda-cloud/zeebe/tree/develop/exporters/elasticsearch-exporter). <br/>For OpenSearch, Tasklist imports data from indices created and filled in by the [Zeebe OpenSearch exporter](../zeebe-deployment/exporters/opensearch-exporter.md).
For Elasticsearch, Tasklist imports data from Elasticsearch indices created and filled in by [Zeebe Elasticsearch Exporter](https://github.com/camunda/zeebe/tree/main/zeebe/exporters/elasticsearch-exporter). <br/>For OpenSearch, Tasklist imports data from indices created and filled in by the [Zeebe OpenSearch exporter](../zeebe-deployment/exporters/opensearch-exporter.md).
Therefore, settings for this Elasticsearch or OpenSearch connection must be defined and must correspond to the settings on the Zeebe side.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ The default configuration is not suitable for a standalone gateway node. To run

We provide templates that contain all possible configuration settings, along with explanations for each setting, though you may find it easier to search through our [broker](broker.md) and [gateway](gateway.md) configuration documentation to adjust the templates:

- [`config/application.yaml` Standalone Broker (with embedded gateway)](https://github.com/camunda-cloud/zeebe/tree/develop/dist/src/main/config/application.yaml) - Default configuration containing only the most common configuration settings. Use this as the basis for a single broker deployment for test or development.
- [`config/broker.standalone.yaml.template` Standalone Broker (with embedded gateway)](https://github.com/camunda-cloud/zeebe/tree/develop/dist/src/main/config/broker.standalone.yaml.template) - Complete configuration template for a standalone broker with embedded gateway. Use this as the basis for a single broker deployment for test or development.
- [`config/broker.yaml.template` Broker Node (without embedded gateway)](https://github.com/camunda-cloud/zeebe/tree/develop/dist/src/main/config/broker.yaml.template) - Complete configuration template for a broker node without embedded gateway. Use this as the basis for deploying multiple broker nodes as part of a cluster.
- [`config/gateway.yaml.template`](https://github.com/camunda-cloud/zeebe/tree/develop/dist/src/main/config/gateway.yaml.template) - Complete configuration template for a standalone gateway.
- [`config/application.yaml` Standalone Broker (with embedded gateway)](https://github.com/camunda/zeebe/tree/main/zeebe/dist/src/main/config/application.yaml) - Default configuration containing only the most common configuration settings. Use this as the basis for a single broker deployment for test or development.
- [`config/broker.standalone.yaml.template` Standalone Broker (with embedded gateway)](https://github.com/camunda/zeebe/tree/main/zeebe/dist/src/main/config/broker.standalone.yaml.template) - Complete configuration template for a standalone broker with embedded gateway. Use this as the basis for a single broker deployment for test or development.
- [`config/broker.yaml.template` Broker Node (without embedded gateway)](https://github.com/camunda/zeebe/tree/main/zeebe/dist/src/main/config/broker.yaml.template) - Complete configuration template for a broker node without embedded gateway. Use this as the basis for deploying multiple broker nodes as part of a cluster.
- [`config/gateway.yaml.template`](https://github.com/camunda/zeebe/tree/main/zeebe/dist/src/main/config/gateway.yaml.template) - Complete configuration template for a standalone gateway.

:::note
These templates also include the corresponding environment variables to use for every setting.
Expand Down
Loading

0 comments on commit f09b57b

Please sign in to comment.