A central message router for the Target-X system, managing communication between distributed ROS2/DDS networks through ro2erl bridges.
ro2erl_hub is a central component in the Target-X system that facilitates message routing between distributed ROS2 networks. It works in conjunction with ro2erl_bridge components to enable secure and reliable communication between ROS2 nodes across different sites.
For detailed design information, see:
- Erlang/OTP 27 or later
- rebar3
Start an interactive shell with debug logging and a specific node name:
rebar3 shell --sname hub --setcookie targetx
To start a local development shell with support for TLS distribution, you need first to generate a testing CA and certificate:
local/setup.sh
Then you can start the shell with:
ERL_FLAGS='-proto_dist inet_tls -ssl_dist_optfile local/ssl_dist_opts.rel -connect_all false' rebar3 as local shell --sname hub --setcookie targetx
The hub node will be started with the short name hub
and the cookie targetx
.
This allows other nodes (like bridges) to connect to it during development,
and it should support GRiSP board using its secure element.
For production deployment on grisp.io:
# Build the release with production dependencies
rebar3 as prod release
# Build the Docker image for deployment
rebar3 as prod docker
# Push the image to your registry
docker push local/ro2erl_hub:0.1.0 your-registry/ro2erl_hub:0.1.0
The production build includes the braidnode dependency which is required for deployment on grisp.io. This dependency is not included in the development environment to simplify local testing.
rebar3 ct
Copyright © 2025 Stritzinger GmbH
Licensed under the Apache License, Version 2.0. See LICENSE file for details.