Skip to content

Commit

Permalink
feat: Adding some clarifications for Optimize usage with OpenSearch (#…
Browse files Browse the repository at this point in the history
…4430)

* feat: Adding some clarifications for OpenSearch usage with Optimize

* feat: Implementing suggestions from review

* feat: Fixing one type in system configuration

* add comma to list

---------

Co-authored-by: Cole Garbo <cole.garbo@camunda.com>
  • Loading branch information
grlimacan and conceptualshark authored Oct 18, 2024
1 parent bf10f8a commit e40d2ae
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 28 deletions.
10 changes: 0 additions & 10 deletions docs/self-managed/setup/guides/using-existing-opensearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@ Otherwise, if it is intended to connect to Amazon OpenSearch Service with basic

## Values file

:::caution

The migration step within Optimize is currently not supported with OpenSearch. Disable the migration as shown in the example below.

:::

The following values can be configured in the Camunda 8 Self-Managed Helm chart in order to use Amazon OpenSearch Service:

### Connecting to Amazon OpenSearch Service with basic auth
Expand All @@ -42,10 +36,6 @@ global:
host: opensearch.example.com
port: 443

optimize:
migration:
enabled: false

elasticsearch:
enabled: false
```
Expand Down
6 changes: 3 additions & 3 deletions docs/self-managed/setup/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ The existing Helm charts use the Elasticsearch configurations by default. The He

**Zeebe**: Configure the [OpenSearch exporter](/self-managed/zeebe-deployment/exporters/opensearch-exporter.md).

**Operate** & **Tasklist**: These components use the same parameters for both Elasticsearch and OpenSearch. Replace the `elasticsearch` part of the relevant configuration key with `opensearch`, together with its appropriate value.
**Operate**, **Tasklist**, and **Optimize**: These components use the same parameters for both Elasticsearch and OpenSearch. Replace the `elasticsearch` part of the relevant configuration key with `opensearch`, together with its appropriate value.

For example, `CAMUNDA_OPERATE_ELASTICSEARCH_URL` becomes `CAMUNDA_OPERATE_OPENSEARCH_URL`.
For example, `CAMUNDA_OPERATE_ELASTICSEARCH_URL` becomes `CAMUNDA_OPERATE_OPENSEARCH_URL`. In the case of Optimize, please make sure all variables have the proper `CAMUNDA_OPTIMIZE` prefix, i.e. `OPTIMIZE_ELASTICSEARCH_HTTP_PORT` becomes `CAMUNDA_OPTIMIZE_OPENSEARCH_HTTP_PORT`.

Refer to the [Operate](/self-managed/operate-deployment/operate-configuration.md#settings-for-opensearch) and [Tasklist](/self-managed/tasklist-deployment/tasklist-configuration.md#elasticsearch-or-opensearch) configuration documentation for additional component configuration parameters to update.
Refer to the [Operate](/self-managed/operate-deployment/operate-configuration.md#settings-for-opensearch), [Tasklist](/self-managed/tasklist-deployment/tasklist-configuration.md#elasticsearch-or-opensearch) and [Optimize]($optimize$/self-managed/optimize-deployment/configuration/system-configuration/#opensearch) configuration documentation for additional component configuration parameters to update.
:::

![Camunda 8 Self-Managed Architecture Diagram](../assets/camunda-platform-8-self-managed-architecture-diagram-combined-ingress.png)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ You can define a number of connection points in a cluster. Therefore, everything

| YAML path | Default value | Description |
| ------------------------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias `namopensearch`. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias names. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.number_of_replicas | 1 | How often data should be replicated to handle node failures. |
| opensearch.settings.index.number_of_shards | 1 | How many shards should be used in the cluster for process instance and decision instance indices. All other indices will be made up of a single shard. <br /><br />NOTE: This property only applies the first time Optimize is started and the schema/mapping is deployed on OpenSearch. If you want this property to take effect again, you need to delete all indices (and with that all data) and restart Optimize. |
| opensearch.settings.index.refresh_interval | 2s | How long OpenSearch waits until the documents are available for search. A positive value defines the duration in seconds. A value of -1 means a refresh needs to be done manually. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ You can define a number of connection points in a cluster. Therefore, everything

| YAML path | Default value | Description |
| ------------------------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias `namopensearch`. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias names. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.number_of_replicas | 1 | How often data should be replicated to handle node failures. |
| opensearch.settings.index.number_of_shards | 1 | How many shards should be used in the cluster for process instance and decision instance indices. All other indices will be made up of a single shard. <br /><br />NOTE: This property only applies the first time Optimize is started and the schema/mapping is deployed on OpenSearch. If you want this property to take effect again, you need to delete all indices (and with that all data) and restart Optimize. |
| opensearch.settings.index.refresh_interval | 2s | How long OpenSearch waits until the documents are available for search. A positive value defines the duration in seconds. A value of -1 means a refresh needs to be done manually. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ You can define a number of connection points in a cluster. Therefore, everything

| YAML path | Default value | Description |
| ------------------------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias `namopensearch`. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.prefix | optimize | The prefix prepended to all Optimize index and alias names. Custom values allow you to operate multiple isolated Optimize instances on one OpenSearch cluster. <br /><br />NOTE: Changing this after Optimize has already run will create new empty indexes. |
| opensearch.settings.index.number_of_replicas | 1 | How often data should be replicated to handle node failures. |
| opensearch.settings.index.number_of_shards | 1 | How many shards should be used in the cluster for process instance and decision instance indices. All other indices will be made up of a single shard. <br /><br />NOTE: This property only applies the first time Optimize is started and the schema/mapping is deployed on OpenSearch. If you want this property to take effect again, you need to delete all indices (and with that all data) and restart Optimize. |
| opensearch.settings.index.refresh_interval | 2s | How long OpenSearch waits until the documents are available for search. A positive value defines the duration in seconds. A value of -1 means a refresh needs to be done manually. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,12 @@ Requirements for the components can be seen below:
| Operate | OpenJDK 21+ | Elasticsearch 8.13+<br/>Amazon OpenSearch 2.9+ |
| Tasklist | OpenJDK 21+ | Elasticsearch 8.13+<br/>Amazon OpenSearch 2.9+ |
| Identity | OpenJDK 17+ | Keycloak 24.x, 25.x<br/>PostgreSQL 14.x, 15.x or Amazon Aurora PostgreSQL 13.x, 14.x, 15.x (required for [certain features](/self-managed/identity/deployment/configuration-variables.md#database-configuration)) |
| Optimize | OpenJDK 21+ | Elasticsearch 8.13+<br/>Amazon OpenSearch 2.9+ |
| Optimize | OpenJDK 21+ | Elasticsearch 8.13+<br/>Amazon OpenSearch 2.9+\* |
| Connectors | OpenJDK 21+ | |
| Web Modeler | - | PostgreSQL 13.x, 14.x, 15.x, 16.x or Amazon Aurora PostgreSQL 13.x, 14.x, 15.x, 16.x |

\*Not all Optimize features are supported when using OpenSearch as a database. For a full list of the features that are currently supported, please refer to the [Camunda 8](https://github.com/camunda/issues/issues/635) OpenSearch features.

When running Elasticsearch, you must have the [appropriate Elasticsearch privileges](/self-managed/concepts/elasticsearch-privileges.md).

When running Amazon OpenSearch 2.11 or higher, we do not support [OR1 instances](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/or1.html)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ Otherwise, if it is intended to connect to Amazon OpenSearch Service with basic

## Values file

:::caution

The migration step within Optimize is currently not supported with OpenSearch. Disable the migration as shown in the example below.

:::note
Not all Optimize features are supported when using OpenSearch as a database. For a full list of the features that are currently supported, please refer to the [Camunda 8](https://github.com/camunda/issues/issues/635) OpenSearch features.
:::

The following values can be configured in the Camunda 8 Self-Managed Helm chart in order to use Amazon OpenSearch Service:
Expand All @@ -42,10 +40,6 @@ global:
host: opensearch.example.com
port: 443

optimize:
migration:
enabled: false

elasticsearch:
enabled: false
```
Expand Down
6 changes: 3 additions & 3 deletions versioned_docs/version-8.6/self-managed/setup/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ The existing Helm charts use the Elasticsearch configurations by default. The He

**Zeebe**: Configure the [OpenSearch exporter](/self-managed/zeebe-deployment/exporters/opensearch-exporter.md).

**Operate** & **Tasklist**: These components use the same parameters for both Elasticsearch and OpenSearch. Replace the `elasticsearch` part of the relevant configuration key with `opensearch`, together with its appropriate value.
**Operate**, **Tasklist**, and **Optimize**: These components use the same parameters for both Elasticsearch and OpenSearch. Replace the `elasticsearch` part of the relevant configuration key with `opensearch`, together with its appropriate value.

For example, `CAMUNDA_OPERATE_ELASTICSEARCH_URL` becomes `CAMUNDA_OPERATE_OPENSEARCH_URL`.
For example, `CAMUNDA_OPERATE_ELASTICSEARCH_URL` becomes `CAMUNDA_OPERATE_OPENSEARCH_URL`. In the case of Optimize, please make sure all variables have the proper `CAMUNDA_OPTIMIZE` prefix, i.e. `OPTIMIZE_ELASTICSEARCH_HTTP_PORT` becomes `CAMUNDA_OPTIMIZE_OPENSEARCH_HTTP_PORT`.

Refer to the [Operate](/self-managed/operate-deployment/operate-configuration.md#settings-for-opensearch) and [Tasklist](/self-managed/tasklist-deployment/tasklist-configuration.md#elasticsearch-or-opensearch) configuration documentation for additional component configuration parameters to update.
Refer to the [Operate](/self-managed/operate-deployment/operate-configuration.md#settings-for-opensearch), [Tasklist](/self-managed/tasklist-deployment/tasklist-configuration.md#elasticsearch-or-opensearch) and [Optimize]($optimize$/self-managed/optimize-deployment/configuration/system-configuration/#opensearch) configuration documentation for additional component configuration parameters to update.
:::

![Camunda 8 Self-Managed Architecture Diagram](../assets/camunda-platform-8-self-managed-architecture-diagram-combined-ingress.png)
Expand Down

0 comments on commit e40d2ae

Please sign in to comment.