Topologist configuration is a YAML file, that is parsed using quire. So you might refer to the documentation of both for more expret info.
Here is a simple configuration file for one service:
server:
config-addr: [tcp://10.0.0.1:10001]
updates-addr: [tcp://10.0.0.2:10002]
layouts:
simple:
server <- client:
port: 10010
topologies:
simple: !Topology
type: reqrep
layout: simple
assign:
server:
- host: 10.0.0.3
In consists of the following sections.
server:
config-addr: [tcp://10.0.0.1:10001]
updates-addr: [tcp://10.0.0.2:10002]
It consists of addresses where to listen to for requests and some other server-wide settings. The addresses in example are in square brackets because they are actually YAML lists, for the case you want multiple addresses to listen to (such as on different network interfaces).
This section represents graph of the connections with connection settings. Given the example:
layouts:
simple:
server <- client:
port: 10010
There are two roles client and server. Where server is bound on the port 10010 and client connects to it.