After a lot of close reading of rsyncd.conf and, finally, rsync's code, worked out that a) max connections is a per-module parameter, BUT b) by default it uses a *shared* lock file, which makes it a global limit.
Since it's a module parameter, we can set it in each module (see linked ubuntu-mirror-charm MP).
This leaves the problem of our other rsyncd.conf setting, the genuinely global "motd file". Global options cannot be set from files that are &included. However, they *can* be set from files that are &merged! (See linked nrpe-charm MP.)
After a lot of close reading of rsyncd.conf and, finally, rsync's code, worked out that a) max connections is a per-module parameter, BUT b) by default it uses a *shared* lock file, which makes it a global limit.
Since it's a module parameter, we can set it in each module (see linked ubuntu-mirror-charm MP).
This leaves the problem of our other rsyncd.conf setting, the genuinely global "motd file". Global options cannot be set from files that are &included. However, they *can* be set from files that are &merged! (See linked nrpe-charm MP.)