Remotive Topology 0.17


Type: object

The platform describes which ECUs and services that exist and how they communicate, see docs

No Additional Properties

Type: enum (of string)

Must be one of:

  • "remotive-topology-platform:0.4"
  • "remotive-topology-platform:0.5"
  • "remotive-topology-platform:0.6"
  • "remotive-topology-platform:0.7"
  • "remotive-topology-platform:0.8"
  • "remotive-topology-platform:0.9"
  • "remotive-topology-platform:0.10"
  • "remotive-topology-platform:0.11"
  • "remotive-topology-platform:0.12"
  • "remotive-topology-platform:0.13"
  • "remotive-topology-platform:0.14"
  • "remotive-topology-platform:0.15"
  • "remotive-topology-platform:0.16"
  • "remotive-topology-platform:0.17"

Type: array of string

Platform files to include (.platform.yaml or .arxml)

No Additional Items

Each item of this array must be:

Type: string

Type: object

Defines the channels that are available in the platform. This is a map of channel names to channel definitions.

Each additional property must conform to the following schema

Type: object

Type: object
No Additional Properties

Type: const
Specific value: "ethernet"

Type: string

Signal database for this channel

Type: object

Defines which SOME/IP service instances are available. This is a map of service instance names to service instance definitions.

No Additional Properties

Type: string

Multicast socket for SOME/IP-SD communication

Type: object

All available network endpoints

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: object

Available sockets endpoints

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: object
No Additional Properties

Type: const
Specific value: "can"

Type: boolean

CANFD Bit Rate Switching

Type: string

Signal database for this channel

Type: object
No Additional Properties

Type: const
Specific value: "lin"

Type: string

Signal database for this channel

Type: enum (of string)

Must be one of:

  • "ethernet"
  • "can"
  • "lin"

Type: string

Signal database for this channel

Type: object

Defines the ECUs that are available in the platform. This is a map of ecu names to ECU definitions.

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: string

ECU extract signal database. Overrides signal database from channel

Type: string

Use this to combine ECUs with different names into a single ECU

Type: object

Describes which channels the ECU is connected to and details about those connections. This is a map of channel names to channel definitions.

Each additional property must conform to the following schema


Type: object
No Additional Properties


Type: enum (of string)

Must be one of:

  • "ethernet"
  • "can"
  • "lin"
Type: object

In order to run a topology you need create an instance that describes what parts of the platform you want to run in your virtual environment, see docs

No Additional Properties

Type: enum (of string)

Must be one of:

  • "remotive-topology-instance:0.6"
  • "remotive-topology-instance:0.7"
  • "remotive-topology-instance:0.8"
  • "remotive-topology-instance:0.9"
  • "remotive-topology-instance:0.10"
  • "remotive-topology-instance:0.11"
  • "remotive-topology-instance:0.12"
  • "remotive-topology-instance:0.13"
  • "remotive-topology-instance:0.14"
  • "remotive-topology-instance:0.15"
  • "remotive-topology-instance:0.16"
  • "remotive-topology-instance:0.17"

Type: string

Optional name of the topology instance

Type: array of string

Instance files to include (.instance.yaml)

No Additional Items

Each item of this array must be:

Type: string

Type: object

Custom containers that are part of the topology and have access to RemotiveBroker and can therefore interact with ECUs in the topology. A common usecase is to run testcase.

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: object
No Additional Properties

Type: string

Path to dockerfile

Type: string

Path to context for building dockerfile

Type: string

Target stage in multi-stage Dockerfile (only used with dockerfile)

Type: array of string

Optional build arguments for docker container

No Additional Items

Each item of this array must be:

Type: array of string

Docker profiles

No Additional Items

Each item of this array must be:

Type: string

Docker image to use

Type: string

Working directory inside container

Type: string

Command to execute in container

Type: string

Force a specific platform, eg linux/amd64

Type: boolean

Whether to include the control network in the container configuration, defaults to true

Type: array of string

List of port mappings

No Additional Items

Each item of this array must be:

Type: array of string

Extra hosts to add to the container, in the format 'host:ip'

No Additional Items

Each item of this array must be:

Type: array of string

Environment variables

No Additional Items

Each item of this array must be:

Type: array of string

List of containers that this container depends on

No Additional Items

Each item of this array must be:

Type: array of string

Volume mappings using short syntax, see https://docs.docker.com/reference/compose-file/services/#short-syntax-5

No Additional Items

Each item of this array must be:

Type: array of string

Add container capabilities

No Additional Items

Each item of this array must be:

Type: array of string

Devices to be mapped to the container

No Additional Items

Each item of this array must be:

Type: object

Which channels to instantiate and how. This is a map of channel names to channel instantiations.

Each additional property must conform to the following schema

Type: object

Type: object
No Additional Properties

Type: const
Specific value: "ethernet"

Type: object

Type: object
No Additional Properties

Type: const

Use macvlan to connect physical ethernet device

Specific value: "macvlan"

Type: string

Physical device name on the host

Type: object
No Additional Properties

Type: const

Use remotivebus to connect physical ethernet device

Specific value: "remotivebus"

Type: object

Name inside of the docker container. Will be suffixed with a "0"

Must match regular expression: ^[a-z0-9-]{1,14}$

Type: string

The name of the bridge device on the host, will default to the cluster name.

Must match regular expression: ^[a-z0-9-]{1,15}$

Type: array of string

Optional list of physical ethernet devices to connect the vlan to

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string
Must match regular expression: ^[a-z0-9-]{1,15}$
Type: object
No Additional Properties

Type: const

Use ipvlan to connect physical ethernet device

Specific value: "ipvlan"

Type: string

Physical device name on the host

Type: object
No Additional Properties

Type: const

Docker bridge network is the default

Specific value: "bridge"

Type: string

Optional name of the linux network bridge

Type: object
No Additional Properties

Type: const

Use an existing docker network

Specific value: "external"

Type: string

Name of an already existing docker network

Type: enum (of string)

Must be one of:

  • "macvlan"
  • "ipvlan"
  • "bridge"
  • "external"
  • "remotivebus"

Type: object
No Additional Properties

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: enum (of string)

Tap type: 'socket' taps at the socket level. More tap types may be added in the future.

Must be one of:

  • "socket"

Type: enum (of string)

Tap mode: 'all' taps all sockets, 'selection' taps only listed sockets, 'none' disables tap

Must be one of:

  • "selection"
  • "all"
  • "none"

Type: array of string

List of socket names. Only used when mode is 'selection'.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Type: const

Experimental LIN support

Specific value: "lin"

Type: object

Type: object
No Additional Properties

Type: const

Use RemotiveBus driver for CAN traffic

Specific value: "remotivebus"


Type: object

Socketcan to map to physical device on host

No Additional Properties

Type: const

Run socketcan connected to a hardware interface

Specific value: "can"

Type: object

Name inside of the docker container. Will be suffixed with a "0"

Must match regular expression: ^[a-z0-9-]{1,13}$

Type: object

Optional name of host interface to connect to. Will default to {device}.

Must match regular expression: ^[a-z0-9-]{1,14}$
Type: object

Virtual CAN for container<->container and container<->host communication

No Additional Properties

Type: const

Run virtual can

Specific value: "vcan"

Type: object

Name inside of the docker container. Will be suffixed with a "0"

Must match regular expression: ^[a-z0-9-]{1,13}$

Type: object

Optional name of host interface to connect to. Will default to 'v{device}'.

Must match regular expression: ^[a-z0-9-]{1,14}$

Type: object

Optional RemotiveBus plugin section

Type: string

The name of the RemotiveBus plugin driver

Each additional property must conform to the following schema

Type: string, number or boolean
Type: object
No Additional Properties

Type: const

Use socketcan with RemotiveLabs dockercan driver

Specific value: "dockercan"

Type: string

Physical hardware device name on the host

Must match regular expression: ^[a-z0-9-]{1,14}$

Type: string

Optional name of the device inside the docker container

Must match regular expression: ^[a-z0-9-]{1,13}$
Type: object
No Additional Properties

Type: const

Emulate CAN using UDP

Specific value: "udp"

Type: integer

Optional port number to use

Type: string

Optional subnet to use

Type: string

Optional multicast address to use

Type: enum (of string)

Must be one of:

  • "dockercan"
  • "udp"
  • "remotivebus"

Type: enum (of string)

Must be one of:

  • "ethernet"
  • "can"
  • "lin"

Type: object

Which ECUs to instantiate and how. This is a map of ECU names to ECU instantiations.

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: object

Describes which channels should be instantiated for the ECU and details about those connections. By default all channels are instantiated. This is a map of channel names to channel definitions.

Each additional property must conform to the following schema


Type: object
No Additional Properties


Optionally restrict what channels the instantiated ECU should be connected to

Type: object
No Additional Properties

Type: object

Optionally limit what SOME/IP services should be instantiated

No Additional Properties

Type: array of string

Optionally limit what provided SOME/IP services should be instantiated

No Additional Items

Each item of this array must be:

Type: array of string

Optionally specify what socket endpoints to instantiate

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "ethernet"
  • "can"
  • "lin"
Type: null

Use null to indicate that the channel should be instantiated without any specific configuration.

Type: object

External ECU not managed by topology

Type: object

Optional mock used to automatically send and receive messages

No Additional Properties

Type: object

Channels that should be included in the mock. By default all channels are included. This is a map of channel names to null. This allows the mock defintion to be very similar to a model defintion.

Each additional property must conform to the following schema

Type: null

Type: object

Models that implement ECU behavior. This is a map of model names to model definitions.

Each additional property must conform to the following schema


Type: object

Behavioral model using a container. This is the preferred way to define a model.

No Additional Properties

Type: const
Specific value: "container"
Type: object

[Deprecated] Python behavioral model, use container instead.

No Additional Properties

Type: const
Specific value: "python"

Type: string

Main python module to run

Type: string

Files to be included in the container, must include your python code as module

Type: object

The platform that this instance is based on.

Same definition as oneOf_i0

Type: object

Global settings for the instance

No Additional Properties

Type: string

Path to recordings

Type: object
No Additional Properties

Type: string

Global setting of what docker registry to fetch images from. Will be used unless images already have registry path provided.

Type: object
No Additional Properties

Type: string

Optional path to the LICENSE_FILE

Type: integer Default: 60

Time in seconds to wait for broker to start

Type: string

Optional dockerimage to use, will override version. Use this if you have a custom build of RemotiveBroker or want to specify a custom docker registry or mirror.

Type: object

This is intended for RemotiveLabs debugging and development.

Same definition as build

Type: string

Optional RemotiveBroker version, but recommended to specify to ensure consistent behavior.

Type: object
No Additional Properties

Type: integer

Port number forwarded from host to API

Type: object
No Additional Properties

Type: string

Optional dockerimage to use, will override version. Use this if you have a custom build or want to specify a custom docker registry or mirror.

Type: string

Optional RemotiveWebapp version

Type: integer

Port number forwarded from host to UI

Type: string

Docker profile to use for the UI

Type: object
No Additional Properties

Type: enum (of string)

Must be one of:

  • "udp"
  • "dockercan"
  • "remotivebus"

Type: object

Settings for experimental LIN support

No Additional Properties

Type: enum (of string)

Must be one of:

  • "udp"
  • "dockercan"
  • "remotivebus"

Type: object
No Additional Properties

Type: object

Channels configuration for the TopologyBroker to override defaults. This is a map of channel names to channel definitions.

Each additional property must conform to the following schema

Type: object
No Additional Properties

Type: string

Optional signal database to use for the TopologyBroker. Make sure it includes all frames.

The following properties are required: