Instance settings
The settings block contains global settings for the instance. All settings are optional.
RemotiveBroker
RemotiveBroker can either be configured in the instance file or using environment variables.
settings:
remotivebroker:
version: v1.10.1
license_file: ../LICENSE_FILE
Corresponding environment variables:
REMOTIVEBROKER_TAG=v1.10.1
REMOTIVEBROKER_LICENSE=/path/to/LICENSE_FILE
Recommendation:
- Version: Use the instance file to ensure that you have consistent behavior in all environments
- License: Use
REMOTIVEBROKER_LICENSEto avoid having the license file in your repository
Docker
Mock image
Mocks run in a Docker image that contains Python and the RemotiveTopology framework. By default, each version of RemotiveTopology uses a fixed mock image, so you only need to set it if you want to use a different image, for example one with custom dependencies:
settings:
docker:
mock:
image: remotivelabs/remotivelabs-topology-python:0.9.0
Docker registry
It's common to use a public mirror of Docker Hub or an internal Docker registry. To make sure that the correct registry is used in every environment, specify the default registry:
settings:
docker:
registry: mirror.mycorp.com
The registry applies to all images that don't specify a registry themselves. For example, with the preceding setting remotivelabs/remotivelabs-topology-python is pulled from mirror.mycorp.com, while ghcr.io/org/image is still pulled from ghcr.io.
TopologyBroker
The TopologyBroker needs to have access to all frames on all channels. To achieve this, RemotiveTopology automatically merges the signal databases of all ECUs on each channel for use by the TopologyBroker. If the databases conflict, the merge fails with E092.
You can explicitly set which signal database the TopologyBroker uses for a specific channel. This is useful if your platform uses ECU extracts, i.e. databases that only contain what's relevant for a single ECU, but you also have a complete signal database for the channel:
settings:
topology_broker:
channels:
DriverCan0:
database: ../databases/driver_can_complete.dbc
Default CAN and LIN drivers
If you don't specify which driver to use for a CAN or LIN channel, the default driver is used. The default driver is RemotiveBus, but you can change it to UDP for all CAN channels, all LIN channels or both:
settings:
can:
default_driver: udp
lin:
default_driver: udp
A driver specified on a channel always takes precedence over the default driver.
Monitoring
To collect metrics from a running topology, see System monitoring.