camunda-community-hub / zeebe-simple-monitor

A monitoring application to show insides of Zeebe for developers
Apache License 2.0
167 stars 105 forks source link

Connection to multi-tenancy Camunda #743

Open freja96 opened 2 weeks ago

freja96 commented 2 weeks ago

Issue while trying to configure connection between zeebe-simple-monitor to camunda-zeebe-gateway ( MultiTenancy: enabled, tls: enabled )

Logs:

__                 __
 _/  _  _ |_   _   (_  .  _   _  |  _   |\/|  _   _  . |_  _   _
/__ (- (- |_) (-   __) | ||| |_) | (-   |  | (_) | ) | |_ (_) |
                             |

================================================================
2024-08-28T14:49:32.987Z  INFO 1 --- [  restartedMain] io.zeebe.monitor.ZeebeSimpleMonitorApp   : Starting ZeebeSimpleMonitorApp using Java 21.0.2 with PID 1 (/app/classes started by root in /)
2024-08-28T14:49:33.060Z DEBUG 1 --- [  restartedMain] io.zeebe.monitor.ZeebeSimpleMonitorApp   : Running with Spring Boot v3.2.2, Spring v6.1.3
2024-08-28T14:49:33.063Z  INFO 1 --- [  restartedMain] io.zeebe.monitor.ZeebeSimpleMonitorApp   : No active profile set, falling back to 1 default profile: "default"
2024-08-28T14:49:48.660Z ERROR 1 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'zeebe.client' to io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties:
    Property: zeebe.client.ca-certificate-path
    Value: "/etc/tls-crts/cert.pem"
    Origin: class path resource [application.yaml] - 13:24
    Reason: java.lang.IllegalStateException: No setter found for property: ca-certificate-path
Action:
Update your application's configuration

Certificate is mounted to /etc/tls-crts/cert.pem ( already verified multiple times, and correct one )

application.yaml

    zeebe:
      client:
        broker.gatewayAddress: camunda-zeebe-gateway:26500
          #security.plaintext: true
        caCertificatePath: "/etc/tls-crts/cert.pem"
        security.caCertificatePath: "/etc/tls-crts/cert.pem"
          #authentication:
          #  mode: none
        worker:
          hazelcast:
            connection: localhost:5701
            clusterName: dev
            connectionTimeout: PT30S
          redis:
            connection: redis://simple-redis-master:6379

    # Options: hazelcast | kafka | redis
    # This config switches importers between the provided
    # To use each of them, zeebe must be configured using hazelcast-exporter, kafka-exporter or redis-exporter, respectively
    # See the examples in docker/docker-compose.yml in services.zeebe-hazelcast, services.zeebe-kafka, services-zeebe-redis
     ------ more configs, but not related.. hidden ------

Versions: | zeebe-simple-monitor image version: ghcr.io/camunda-community-hub/zeebe-simple-monitor:2.7.2 | zeebe version: docker.io/camunda/zeebe:8.4.9

freja96 commented 2 weeks ago

Found variables in zeebe documentation

Config:

    zeebe:

      client:
        broker.gatewayAddress: camunda-zeebe-gateway.camunda:26500
        security.certpath: "/app/tls-crts/cert.pem" 
        cloud.client-id: client-id
        cloud.client-secret: secret
        cloud.auth-url: http://keycloak/auth/realms/camunda-platform/protocol/openid-connect/token

But now receiving other issue:


2024-08-29T07:02:00.223Z  INFO 1 --- [  restartedMain] io.zeebe.monitor.ZeebeSimpleMonitorApp   : Starting ZeebeSimpleMonitorApp using Java 21.0.2 with PID 1 (/app/classes started by root in /)
2024-08-29T07:02:00.242Z  INFO 1 --- [  restartedMain] io.zeebe.monitor.ZeebeSimpleMonitorApp   : No active profile set, falling back to 1 default profile: "default"
2024-08-29T07:02:39.034Z ERROR 1 --- [  restartedMain] i.c.c.auth.DefaultNoopAuthentication     : Unable to determine authentication. Please check your configuration
2024-08-29T07:02:41.364Z ERROR 1 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    io.camunda.zeebe.spring.client.configuration.ZeebeClientConfiguration.getCredentialsProvider(ZeebeClientConfiguration.java:141)

The following method did not exist:

    'io.camunda.zeebe.client.impl.oauth.OAuthCredentialsProviderBuilder io.camunda.zeebe.client.impl.oauth.OAuthCredentialsProviderBuilder.scope(java.lang.String)'

The calling method's class, io.camunda.zeebe.spring.client.configuration.ZeebeClientConfiguration, was loaded from the following location:

    jar:file:/app/libs/spring-boot-starter-camunda-8.4.1.jar!/io/camunda/zeebe/spring/client/configuration/ZeebeClientConfiguration.class

The called method's class, io.camunda.zeebe.client.impl.oauth.OAuthCredentialsProviderBuilder, is available from the following locations:

    jar:file:/app/libs/zeebe-client-java-8.3.4.jar!/io/camunda/zeebe/client/impl/oauth/OAuthCredentialsProviderBuilder.class

The called method's class hierarchy was loaded from the following locations:

    io.camunda.zeebe.client.impl.oauth.OAuthCredentialsProviderBuilder: file:/app/libs/zeebe-client-java-8.3.4.jar

Action:

Correct the classpath of your application so that it contains compatible versions of the classes io.camunda.zeebe.spring.client.configuration.ZeebeClientConfiguration and io.camunda.zeebe.client.impl.oauth.OAuthCredentialsProviderBuilder