
The destination filtering mechanism let you select a default behavior for every files and more specifically at publish time the volumes that will be delivered.
A general boolean switch syncEverywhere in rsyncGlobalParameters tells the default behavior of the synchronization for every files:
{
"_id": "rsyncGlobalParameters",
"syncEverywhere": true
}
true will synchronize the files everywhere by defaultfalse disables synchronization by defaultThe default behavior can be overridden for each file, setting the syncEverywhere key to the desired boolean value directly on the files' records:
{
"_id": "/filepath",
"origin": "site1",
"syncEverywhere": false
}
This won't synchronize this specific file anywhere. You can then specify the sites that will receive the file using the sync_<sitename> boolean switches:
{
"_id": "/filepath",
"origin": "site1",
"sync_site4": true,
"syncEverywhere": false
}
Using the same way, you can remove a site from the expected destinations specifying false in the sync_<sitename> key:
{
"_id": "/filepath",
"origin": "site1",
"sync_site4": false
}
This will synchronize this file on every sites but site4.
The tracker has 2 operations /api/listup and /api/listdown to evaluate and communicate to the agents the next elements to transfer. Get 10 elements to upload from source to target:
https://trackername.syncplanet.io/api/listup/source/target/10
Get 10 elements to download from source to target:
https://trackername.syncplanet.io/api/listdown/source/target/10
Depending on your synchronization setup, some sites may behave like hubs to other sites:
site1 -> site2 -> site3
This means that the site2 must get a file in order to transfer this file to site3. Therefore you must set the keys accordingly.
The mechanism was described in this issue.