Proxy serviceΒΆ
The proxy service is an optional service that the Client
can use to access any backend and the metadata service.
This can be useful for:
Bypassing NATs and firewalls.
Performing SSL termination in a single point.
Simplifying the docker deployment procedure.
Adding fine-grain ACL mechanisms in client connections.
Adding other behaviors to the client connections, such as throttle, logging, etc.
The proxy service can be started with the following command:
$ python -m dataclay.proxy
The following environment variables must be defined:
DATACLAY_KV_HOST: The Redis service host.
DATACLAY_PROXY_MDS_HOST: The metadata service host.
See ProxyConfig
for a comprehensive description of all the available configuration variables.
You can subclass the MiddlewareBase
class to define a specific behavior of the proxy service. See
the proxy_acl example for a more convoluted example
of how to use the proxy service with custom middleware definitions.
The gRPC calls are the CamelCase
version of the APIs methods detailed in
BackendAPI
and MetadataAPI
.