Connecting to Zeebe broker (self-managed) from Zeebe Spring Boot client

Hello,

I’ve deployed the Camunda 8 core components to our AWS shared VPC as ECS Fargate services. I’m using Terraform to script our deployment.

The installation is working fine (Desktop modeler with Operate and Tasklist).

I’m trying now to implement a Spring Boot Zeebe client using the Bernd’s example customer-onboarding-camunda-8-springboot.

My issue is that the Camunda 8 services are running behind an AWS Application Load Balancer. The listener is exposing the 26500 port with https with a target group with gRPC as protocol version. I can deploy without problems my BPMNs from the desktop modeler with a cluster endpoint https…

But when I’m trying to access the broker from my spring boot application, I’m getting the error:


Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[na:na]
at io.camunda.zeebe.client.impl.ZeebeClientFutureImpl.join(ZeebeClientFutureImpl.java:52) ~[zeebe-client-java-8.4.1.jar:8.4.1]
… 34 common frames omitted
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: Network closed for unknown reason

When providing the Zeebe AWS task IP private address (by-passing the ALB) for the zeebe.client.broker.gateway-address property, everything is working fine.

Is there a way on the client side to enable/disable TLS for the connections to the Zeebe broker?

BR
Pascal

Hi @lugon
Please take a look at this Secure client communication | Camunda 8 Docs

To disable TLS in a Java client, use the .usePlaintext() option:

public class InsecureClient {
    public static void main(final String[] args) {
        final ZeebeClient client = ZeebeClient.newClientBuilder().usePlaintext().build();

        // ...
    }
}

Regards,
Alex

Thx Alex!

I’ve missed the point with the use plain test. I’ve added that to my properties:

zeebe.client.broker.gateway-address: int.hq.k.grp:26500
zeebe.client.security.plaintext: false

And my client is working fine.

BR
Pascal

Hi @lugon
Great I could help :slight_smile: Please mark the answer as a solution so the community know that the question is answered.

Regards,
Alex

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.