tree ff82c00b1e561c3116560981bf4b0e29b13f557e
parent 07407ad4d0517946d0e6d4a8508a287869c9d4bf
author Dariusz Luksza <dariusz.luksza@gmail.com> 1702068171 +0000
committer Dariusz Luksza <dariusz.luksza@gmail.com> 1704483901 +0000

Add support for overriding replication configuration

It is a next step in the direction of modifying the replicationn
configuraiton from an external source. Where the external source could
be a git repository or third party configuration managemnet system.

This adds a `ReplicationConfigOverrides` interface and a default bindng
for `DynamicItem<ReplicationConfigOverrides`. The added interface is
just an extension of `ConfigResource` as Guice was complaining about
duplicated binding for `ConfigResource` when it was used in
`DynamicItem`. Additinally `RepilcationConfigOverrides` conveys better
its purpose.

For now, the default implementation provides no overrides. As the
location of overrides files is still to be decided.

Finally, the `MergedConfigResource` will take both, the base
configuraiton for the file system, and configured overrides and merge
both JGit `Config` objects togehter.

With this approach, an implementation of `ReplicationConfigOverrides`
can provide a single confiuration option or the whole configuration
file.

Later we may consider, discarding some of the overrides, like
`gerrit.autoReload`, as disabling that option will effecively prevent
users from updating configuation.

Change-Id: I2e401c05571180719df33a4a094fbb4ccfb39f23
