Feature #16562
Updated by Peter Amstutz over 4 years ago
As part of SDK startup, it will:
* Fetch the discovery document
* Make a call to a new "services" endpoint eg /arvados/v1/config/services
* The API server / controller determines if the client is "internal" or "external" based on source IP address
* The services endpoint returns the "Services" and "Volumes" portion of the public exported config with the preferred endpoints filled in for "ExternalURL" and "AccessViaHosts".
* SDK uses returned URLs in Services list to communicate with Arvados components, eg Controller, Websockets
* Use Volumes and AccessViaHosts to determine whether to contact keepstore directly or use keepproxy. (For external clients, AccessViaHosts URL == keepproxy URL?)