Short Story
Check the “Introducer” flag for a node to import any nodes added there. A typical use case would be to have a central sync server which is trusted as an introducer by the clients. When a new client is added on the central server, the other clients will also add that node to their config, for the same shared repositories.
Background & Theory
As part of the connection handshake between two nodes, some information about the cluster setup is exchanged. When node Alice connects to node Bob, the following is sent:
- A list of all repositories
Aliceshares withBob. - For each such repository, the list of nodes
Aliceshares that repository with.
In effect, this is a complete view of the cluster, as it pertains to the repositories that are shared with Bob. Until now, that information wasn’t actually used for anything. With the new “Introducer Node” feature, Bob can chose to mark Alice as an introducer, and automatically adopt any nodes that Alice has but not Bob.
Introducer status is transferrable; that is, an introducers’ introducer will become your introducer as well. This is best clarified by an example.
Lets assume that Alice already has connections toCharlie (trusted as introducer) and Eve (not trusted as an introducer). Now Bob, an otherwise blank node, is added to Alice. Bob adds Alice to his configuration too and sets the introducer flag. Alice sends her cluster configuration. Bob thus adds Charlie (as an introducer node, since he was trusted by Alice) and Eve (as a normal node).
Similarly, Alice will send information about Bob to Charlie and Eve. If they trust Alice as an introducer, a full mesh will be formed.
Note that propagation can be a bit delayed currently, since the information is only sent at connection establishment.






Note that propagation can be a bit delayed currently, since the information is only sent at connection establishment.