Skip to content

Aling and Update workflow and task routing configuration to use namespace:name version format - #692

Closed
matheusandre1 wants to merge 1 commit into
quarkiverse:mainfrom
matheusandre1:issue677
Closed

Aling and Update workflow and task routing configuration to use namespace:name version format#692
matheusandre1 wants to merge 1 commit into
quarkiverse:mainfrom
matheusandre1:issue677

Conversation

@matheusandre1

Copy link
Copy Markdown
Contributor

Closes: #677

@matheusandre1
matheusandre1 force-pushed the issue677 branch 4 times, most recently from cc53c5e to 9e95f61 Compare June 26, 2026 17:39
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

🙈 The PR is closed and the preview is expired.

@matheusandre1
matheusandre1 marked this pull request as ready for review June 26, 2026 20:32
@matheusandre1
matheusandre1 requested a review from a team as a code owner June 26, 2026 20:32
@ricardozanini
ricardozanini requested a review from mcruzdev June 27, 2026 02:19
@mcruzdev

Copy link
Copy Markdown
Member

Hey @matheusandre1, currently the HTTP routes workflows and tasks to HTTP client (see here).

Currently the gRPC implementation allows us to route based in more options (see my PR which add a new one). We need to align the HTTP client to have the same options as gRPC has today.

I think you can replace the current HTTP approach:

quarkus.flow.http.client.workflow.order-flow.task.fetchCustomers.name=internal to be similar as gRPC quarkus.flow.http.client."org.acme:order-flow.fetchCustomers".name=internal. Probably it is a big change into our codebase (docs, examples if necessary, etc.)

@ricardozanini Do you agree with this change? If not we can follow the current HTTP configuration property, allowing namespace:name:task, namespace:name:version, namespace:name (versionless).

@ricardozanini

Copy link
Copy Markdown
Member

No, you are correct. We need to align gRPC and HTTP to have ubiquity.

It's somewhat big, but must be done for 1.0.0 and throughout tested.

@mcruzdev

mcruzdev commented Jun 27, 2026

Copy link
Copy Markdown
Member

No, you are correct. We need to align gRPC and HTTP to have ubiquity.

It's somewhat big, but must be done for 1.0.0 and throughout tested.

But @ricardozanini, my concerns are: should we use the same way as gRPC does today (using the full workflow ID + task name to define the route) or using as http does (using workflow."workflowname".task."task name")?

@matheusandre1

Copy link
Copy Markdown
Contributor Author

I have that question too....

@ricardozanini

ricardozanini commented Jun 29, 2026

Copy link
Copy Markdown
Member

I think I clearly said that all components MUST FOLLOW the SAME approach. Hence, full workflow ID wherever we used to use workflow name.

BUT, since just workflowName will be the most practical 99% of the cases (I really doubt someone will create, in the same application, same workflow names), we should keep BOTH on all extensions.

In short:

  1. workflowName.taskName
  2. workflowID.taskName

This way we also guarantee backward compatibility.

@mcruzdev mcruzdev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @matheusandre1, I think it is good, could you add a versionless here?

@matheusandre1
matheusandre1 force-pushed the issue677 branch 8 times, most recently from 03e17c0 to c132446 Compare June 29, 2026 17:52
@matheusandre1
matheusandre1 force-pushed the issue677 branch 3 times, most recently from 0c9d395 to 14056b9 Compare July 3, 2026 00:51
Comment thread grpc/runtime/src/main/java/io/quarkiverse/flow/providers/GrpcChannelProvider.java Outdated
Comment thread core/runtime/src/main/java/io/quarkiverse/flow/providers/RoutingNameResolver.java Outdated
Comment thread core/runtime/src/main/java/io/quarkiverse/flow/providers/RoutingNameResolver.java Outdated
Comment thread core/runtime/src/main/java/io/quarkiverse/flow/providers/RoutingNameResolver.java Outdated
Comment thread grpc/runtime/src/main/java/io/quarkiverse/flow/providers/GrpcChannelProvider.java Outdated
@matheusandre1
matheusandre1 force-pushed the issue677 branch 3 times, most recently from cbcc069 to eb7cb60 Compare July 3, 2026 16:27
@ricardozanini

Copy link
Copy Markdown
Member

You need to rebuild the docs:

Run STATUS=$(git status --porcelain docs/modules/ROOT/pages/includes/)
Generated documentation is not up to date.

The following generated files were changed or added and must be committed:

*  docs/modules/ROOT/pages/includes/quarkus-flow-grpc.adoc
*  docs/modules/ROOT/pages/includes/quarkus-flow-grpc_quarkus.flow.adoc

To fix this:
  1. Run: mvn clean install
  2. Commit the generated documentation files
Error: Process completed with exit code 1.

Comment thread core/runtime/src/main/java/io/quarkiverse/flow/config/FlowHttpConfig.java Outdated
@matheusandre1
matheusandre1 force-pushed the issue677 branch 2 times, most recently from 0bdc68e to 2f80913 Compare July 6, 2026 20:28
@ricardozanini

ricardozanini commented Jul 31, 2026

Copy link
Copy Markdown
Member

@mcruzdev please take a look at the current main and docs. The OIDC module already has the algorithm for the property resolution. We need to align HTTP, OIDC, and gRPC before 1.0.0. Can you have a look and align everything, please?

@mcruzdev

Copy link
Copy Markdown
Member

@mcruzdev please take a look at the current main and docs. The OIDC module already has the algorithm for the property resolution. We need to align HTTP, OIDC, and gRPC before 1.0.0. Can you have a look and align everything, please?

Yes, of course!

…version format

Signed-off-by: Matheus André <matheusandr2@gmail.com>
@ricardozanini

Copy link
Copy Markdown
Member

@matheusandre1 @mcruzdev I think this can be closed since #821 is already implementing it?

@ricardozanini

Copy link
Copy Markdown
Member

Let me know so I can reopen it.

@matheusandre1
matheusandre1 deleted the issue677 branch August 6, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align gRPC Channel Resolution with HTTP Client Routing

3 participants