docs/design-docs/design_docs/cdc/20260128-get_replicate_configuration.md
Date: 2026-01-28
Add a new public API GetReplicateConfiguration that allows cluster administrators to view the current cross-cluster replication topology. The API returns configured replication relationships without exposing sensitive connection parameters like tokens.
Operators need visibility into the current replication setup to:
Currently, UpdateReplicateConfiguration exists but there's no corresponding read API to inspect the current state.
Add to milvus.proto on the MilvusService:
rpc GetReplicateConfiguration(GetReplicateConfigurationRequest)
returns (GetReplicateConfigurationResponse) {}
message GetReplicateConfigurationRequest {
option (common.privilege_ext_obj) = {
object_type: Global
object_privilege: PrivilegeGetReplicateConfiguration
object_name_index: -1
};
}
message GetReplicateConfigurationResponse {
common.Status status = 1;
common.ReplicateConfiguration configuration = 2;
}
common.ReplicateConfiguration structureConnectionParam.token fields are cleared/redacted before returningThe implementation must sanitize sensitive fields before returning:
MilvusCluster.connection_param.token → empty stringClient SDK
│
▼
Proxy (MilvusService)
│ - Check ClusterAdmin permission
│ - Forward to StreamingCoord
▼
StreamingCoord
│ - Retrieve current ReplicateConfiguration
│ - Sanitize: clear token fields
│ - Return response
▼
Proxy
│ - Return to client
▼
Client SDK
proto/milvus.proto - Add RPC definition and request/response messagesinternal/proxy/impl.go - Add GetReplicateConfiguration methodinternal/proxy/proxy.go - Wire up the new APIinternal/streamingcoord/server/service/ - Add handler to fetch and sanitize configRejected: Requires direct access to internal services; not accessible via standard SDKs.
Rejected: Security risk; tokens should not be readable via API.
Deferred: Keeping initial implementation simple to match the Update API symmetry. Health info can be added later if needed.
None.