Environment Variables#

To set environment variables—including credentials and other secrets—that can be used by code running on your cluster, you can use send_private_envs after your cluster has started. send_private_envs accepts a dictionary, for example:

cluster = coiled.Cluster(...)
cluster.send_private_envs({"AUTH_TOKEN_FOR_CUSTOM_DATABASE": "some-token"})

This method sends the (potentially) private environment variables directly from your local machine to the cluster over an encrypted connection and are never stored by Coiled except in memory on your cluster.

Note that because this environment variable is set after Dask is running on the cluster, it cannot be used for environment variables that need to be set before Python starts or before Dask dependencies are imported.

In the rare case when you need to set a non-secret environment variable before Python starts, use the environ keyword argument of coiled.Cluster. This accepts a dictionary, for example:

import coiled

cluster = coiled.Cluster(
    ...
    environ={"PYTHONOPTIMIZE": "1", "PYTHONTRACEMALLOC": "1"},
)
client = cluster.get_client()