Project

General

Profile

Idea #9551

Updated by Tom Clegg over 8 years ago

ARVADOS_KEEP_SERVICES is an environment variable that lets the client set its own list of Keep services, instead of fetching it from the API server.    It is a space-separated list of Keep API endpoint URLs.    Those endpoints are expected to be non-disk services: the client should assume it does not know how many replicas the service will store, should send the X-Keep-Desired-Replicas request header, and respect the X-Keep-Replicas-Stored response header. 

 A client should pay attention to this env var if its api_host/token/insecure settings were also taken from the environment. IOW, treat it as an additional client config entry, rather than checking the environment variable from the depths of KeepClient. 

 Functional requirements: 

 * When the variable is set, it does not query the API server for the Keep services list, or respect the ARVADOS_KEEP_PROXY environment variable.    Instead it uses the value of the variable as the services list, following the rules above. 
 * When the variable is unset or empty, the Keep client should behave as it currently does: if ARVADOS_KEEP_PROXY is set, it treats that as a single service to use.    Otherwise, it gets the list of Keep services from the API server. 

Back