Chirpstack pulsar integration

I have been trying to get the pulsar integration working via docker on my test server, everything seems to work except for the chirpstack-pulsar-integration container itself no matter what it always seems to die with an exit code.

if I add a command to start and load the binary in the compose it tells me that the command doesn’t exist, but it i add it in it tells me it is needed.

I also tried pulling the test container off docker hub, but it also throws the same errors - it also hasn’t been updated for a while so it might still be using v4.6 api?

any ideas?

chirpstack-pulsar-integration-1  | error: the following required arguments were not provided:
chirpstack-pulsar-integration-1  |   --config <FILE>
chirpstack-pulsar-integration-1  |
chirpstack-pulsar-integration-1  | Usage: chirpstack-pulsar-integration --config <FILE>
chirpstack-pulsar-integration-1  |
chirpstack-pulsar-integration-1  | For more information, try '--help'.
chirpstack-pulsar-integration-1 exited with code 2
chirpstack-pulsar-integration-1  | error: unexpected argument 'chirpstack-pulsar-integration' found
chirpstack-pulsar-integration-1  |
chirpstack-pulsar-integration-1  | Usage: chirpstack-pulsar-integration --config <FILE>
chirpstack-pulsar-integration-1  |
chirpstack-pulsar-integration-1  | For more information, try '--help'.
chirpstack-pulsar-integration-1 exited with code 2

compose snippet…

services:
  chirpstack-pulsar-integration:
    image: chirpstack/chirpstack-pulsar-integration:4.0.0-test.3
    # image: chirpstack-pulsar-integration-chirpstack-pulsar-integration:latest
    # build:
    #   context: .
    #   dockerfile: Dockerfile-devel
    volumes:
      - ./:/chirpstack-pulsar-integration
      - ./configuration/chirpstack-pulsar-integration.toml:/configuration/chirpstack-pulsar-integration.toml
    command: chirpstack-pulsar-integration --config /configuration/chirpstack-pulsar-integration.toml
    depends_on:
      - pulsar
      - redis

The locally built image doesnt seem to want to work at all.

the command with docker command: -c /configuration/chirpstack-pulsar-integration.toml seems to work only with the docker test image. but the connection seems to drop after a short time.

I also ended up trying to build it locally to try another approach exposing the ports from containers for another test, then it appears to throw connection errors to the running instance.

> ~/chirpstack-pulsar-integration/target/debug$ ./chirpstack-pulsar-integration -c config.toml
2024-03-21T06:58:51.424976Z  INFO chirpstack_integration: Starting Library for building external ChirpStack integrations (version: 4.5.1, docs: https://www.chirpstack.io/)
2024-03-21T06:58:51.425026Z  INFO chirpstack_pulsar_integration::pulsar: Initializing Pulsar integration
2024-03-21T06:58:51.425617Z DEBUG pulsar::connection_manager: ConnectionManager::connect(BrokerAddress { url: Url { scheme: "pulsar", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("127.0.0.1")), port: Some(6650), path: "", query: None, fragment: None }, broker_url: "127.0.0.1:6650", proxy: false })
2024-03-21T06:58:51.426232Z DEBUG pulsar::connection: Connecting to pulsar://127.0.0.1:6650: 127.0.0.1:6650, as ca89c116-15d1-4fa2-b0c0-c0a2eaae8e97
2024-03-21T06:58:51.431796Z ERROR pulsar::connection: connection error, not retryable: [Io(Custom { kind: Other, error: "bytes remaining on stream" })]
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Connection error: fatal error when connecting to the Pulsar server

Caused by:
    fatal error when connecting to the Pulsar server', src/main.rs:22:61
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace