The recommended way to integrate a third-party service registry with Istio

Hi there, I would appreciate suggestions of the most appropriate way to integrate a third-party service registry with Istio.
As far as I understand, there are a few possible ways to achieve this:

  1. Writes a custom service registry and compiles it with Istio.

  2. Writes a stand-alone MCP server to provide services and add the MCP server address in the Mesh config.

  3. Writes a stand-alone service to watch the third-party registry and sync these services to Istio using Istio ServiceEntry and WorkloadEntry resources.

While all these approaches seem feasible, which one is the recommended way from the perspective of the Istio config workgroup?

Thanks!

Just got response from Istio slack channel, so I post the answer here in case someone may need it.

For 2 - we are switching to use of XDS for this purpose instead of MCP. Should be relatively small change in protocol. And it’s likely the best approach right now

3 would also work - and if you want non-istio workloads to discover - use EndpointSlice,If only Istio - workload entry

1 - probably not…