Skip to content

Releases

1.0.10

Choose a tag to compare

@admin-evam admin-evam released this 07 Sep 14:48
39de98d

Highlights

Routine security update.

  • Security updates
  • Dependency version updates

1.0.0

Choose a tag to compare

@admin-evam admin-evam released this 16 Jul 16:09
f7d444f

evam-cad-bridge v1.0.0

Initial public release of the Evam CAD Bridge — a small, self-hosted process that connects your CAD system to Evam Central Services over a permanent outbound WebSocket, so nothing on the CAD side has to be publicly reachable.

Artifacts

  • Docker image — ghcr.io/evam-life/cad-bridge:1.0.0
  • JAR — evam-cad-bridge-1.0.0-all.jar (attached below)

Pin to 1.0.0 in production. The latest tag is available for convenience but is not recommended for long-running deployments.

Quick start

docker pull ghcr.io/evam-life/cad-bridge:1.0.0

docker run --rm \
  --name evam-cad-bridge \
  -v $(pwd)/config:/app/config:ro \
  -e BRIDGE_PASSWORD=secret \
  -p 10987:10987 \
  ghcr.io/evam-life/cad-bridge:1.0.0

Full installation, configuration, and update instructions are in the README. Evam will provide the Central Services URLs and credentials you need to fill into config/application.yaml during setup.

What's included

  • GD92 TCP bridge — bidirectional relay between Evam Central Services (over WebSocket) and your CAD system (over raw TCP or TLS).
  • Server or client TCP mode — either your CAD connects to the bridge, or the bridge connects to your CAD. Configurable per deployment.
  • TLS on the CAD link — keystore-based (server mode) or truststore-based (client mode). JVM default trust store used when no truststore is configured.
  • OAuth2 authentication — Resource Owner Password Credentials against your Evam Central Services realm, with automatic token refresh at 80% of the token's TTL. Falls back to re-authentication if refresh_token is rejected.
  • Automatic reconnection — configurable delay and retry limit; unlimited by default so the bridge is self-healing across network blips.
  • Optional HTTP proxy — a second WebSocket connection Evam can use to reach local HTTP services on your network. Disabled by default; enable only when Evam requests it.
  • YAML configuration with ${VAR} / ${VAR:default} environment-variable substitution so secrets can stay out of the config file.
  • Traffic logging at INFO level with hex dumps of the TCP traffic in both directions, for diagnostics.

Requirements

  • Docker (any recent version) or JVM 21+ for running the JAR directly.
  • Outbound HTTPS/WSS access to your Evam Central Services endpoints.
  • Local network reachability of your CAD system on the configured host/port.

Notes and caveats

  • Only one active TCP connection is supported at a time in either mode. This matches the GD92 usage the bridge is designed for.
  • The JAR does not print a version banner on startup — track the version via the JAR filename or your systemd unit / container tag.
  • The default Ktor CIO WebSocket client is used with a 10 MB max frame size — sufficient for GD92 traffic and for HTTP-proxy responses within the same limit.

Feedback

Please open an issue on the GitHub repository or reach out through your usual Evam support channel.