mirror of
https://github.com/rustfs/rustfs.git
synced 2026-10-27 06:18:43 +00:00
6e3484916f
A set-remote-target update with the creds group on a bucket target that belongs to a site-replication peer skipped the connection change, logged a warning, and still returned 200. The Console's bucket replication form sends exactly that request when an endpoint changes, so operators saw success while the stored endpoint, credentials, and TLS settings stayed unchanged. Return 400 InvalidRequest instead, naming the target and the evidence that makes it peer-owned, and pointing at a site-replication edit. The ownership probes are unchanged; the decision is extracted so it can be unit tested. Document how to change a site's address: the local endpoint is recorded once at setup and never re-derived, edits must reach every other peer at its stored endpoint, so sites move one at a time (or old addresses are restored temporarily), followed by a resync. Commands use rc because mc's resync does not work against RustFS and its update renames the site.