Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EPIC] Handle C8 REST Query API availability #20579

Open
10 of 13 tasks
Tracked by #715
tmetzke opened this issue Jul 29, 2024 · 0 comments
Open
10 of 13 tasks
Tracked by #715

[EPIC] Handle C8 REST Query API availability #20579

tmetzke opened this issue Jul 29, 2024 · 0 comments
Assignees
Labels
component/c8-api All things unified C8 API, e.g. C8 REST component/gateway component/zeebe Related to the Zeebe component/team kind/epic Categorizes an issue as an umbrella issue (e.g. OKR) which references other, smaller issues scope/clients-java Marks an issue or PR to appear in the Java client section of the changelog scope/gateway Marks an issue or PR to appear in the gateway section of the changelog target:8.7 Issue must be completed before this target release version:8.6.0 Label that represents issues released on version 8.6.0

Comments

@tmetzke
Copy link
Member

tmetzke commented Jul 29, 2024

Introduction

The Camunda 8 REST API features a partially introduced Query API with 8.6 that is (planned to be) completed with 8.7.
This part of the REST API has to be disabled by default with 8.6 and enabled with 8.7.
Before it is completed, its availability has to be configurable, i.e. it can be enabled via a configuration property.
When it is completed, its availability is not configurable any more.

Concept

With 8.6, a new configuration property exists to enable the C8 REST Query API (e.g. search for user tasks and process instances). With the property being enabled, the respective REST controller beans are created in the REST gateway. Otherwise, the beans are not created and search paths are not accessible.

Since the Java client for Camunda 8 also contains parts of the Query API, the related commands are marked as @ExperimentalApi until the endpoints are enabled by default.

The REST API explorers in the public documentation as well as the OpenAPI specification of the C8 API declare the Query API endpoints with 8.6 already. The endpoints are however clearly marked as experimental and disabled by default.

Task Breakdown

Before Query API is completed (8.6)

Gateway API

  1. component/c8-api component/gateway kind/feature scope/gateway version:8.6.0 version:8.6.0-alpha4
    tmetzke
  2. component/c8-api component/gateway component/zeebe kind/documentation scope/gateway target:8.6 version:8.6.0
    tmetzke

Java client

  1. kind/toil scope/clients-java version:8.6.0 version:8.6.0-alpha4
    tmetzke

Testing

  1. area/test component/c8-api component/gateway scope/gateway version:8.6.0
    tmetzke

Documentation

  1. 8.6.0-alpha4 component:zeebe kind/enhancement
    tmetzke
  2. kind/documentation kind/toil version:8.6.0
    tmetzke
  3. 8.6.0-alpha4 component:zeebe kind/feature
    tmetzke

Console

After Query API is completed (planned for 8.7)

Gateway API

  1. component/c8-api component/gateway kind/feature scope/gateway
    tmetzke

Java client

  1. component/c8-api component/clients kind/toil scope/clients-java
    tmetzke

Testing

Documentation

  1. tmetzke
  2. component/c8-api kind/documentation
    tmetzke

Out of scope

Discussions and Decisions

  • Instead of marking Query API as "experimental", we'll make it an alpha feature.

Links

@tmetzke tmetzke added scope/clients-java Marks an issue or PR to appear in the Java client section of the changelog scope/gateway Marks an issue or PR to appear in the gateway section of the changelog kind/epic Categorizes an issue as an umbrella issue (e.g. OKR) which references other, smaller issues component/gateway component/zeebe Related to the Zeebe component/team component/c8-api All things unified C8 API, e.g. C8 REST labels Jul 29, 2024
@tmetzke tmetzke self-assigned this Jul 29, 2024
github-merge-queue bot pushed a commit that referenced this issue Aug 5, 2024
## Description

* Aligns response codes for all endpoints
* Aligns order of paths to cluster search endpoints at the bottom of the
list
* Marks search endpoints as experimental
* Removes Identity-related paths and schemas
* Also removes all Identity-related controllers since they are not
functional

## Checklist

<!--- Please delete options that are not relevant. Boxes should be
checked by reviewer. -->
- [ ] for CI changes:
- [ ] structural/foundational changes signed off by [CI
DRI](https://github.com/cmur2)
- [ ]
[ci.yml](https://github.com/camunda/camunda/blob/main/.github/workflows/ci.yml)
modifications comply with ["Unified CI"
requirements](https://github.com/camunda/camunda/wiki/CI-&-Automation#workflow-inclusion-criteria)

## Related issues

related to #20579
@tmetzke tmetzke added the target:8.7 Issue must be completed before this target release label Aug 12, 2024
@tmetzke tmetzke added the version:8.6.0 Label that represents issues released on version 8.6.0 label Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/c8-api All things unified C8 API, e.g. C8 REST component/gateway component/zeebe Related to the Zeebe component/team kind/epic Categorizes an issue as an umbrella issue (e.g. OKR) which references other, smaller issues scope/clients-java Marks an issue or PR to appear in the Java client section of the changelog scope/gateway Marks an issue or PR to appear in the gateway section of the changelog target:8.7 Issue must be completed before this target release version:8.6.0 Label that represents issues released on version 8.6.0
Projects
None yet
Development

No branches or pull requests

1 participant