Overview
After the installation, there are some configurations that need to be configured for each of the components. This section describes all the available configurations needed for each component to work correctly. Using these configurations the setup can be tweaked as needed.
The configurations for each component needs to be present in the corresponding config file:
api_config.py: For the API Server and Celery Tasksapp_config.py: For the Web Application Serverjupyterhub_config.py: For the Jupyter Notebook (Jupyterhub)jupyter_server_config.py: For the Jupyter Notebook (Notebook server)
Configuration using Environment Variables
It is possible to configure the platform using environment variables instead of (or in combination with) config files mentioned above. This might be more convenient in a cloud based deployment setting or while using a centralized secret management system (like Hashicorp Vault).
When working with secret management systems, configurations could be loaded as environment variables during deployment of the platform.
When configuring API/APP component via environment variables, prepend the configuration key with CORRIDOR_.
Below are some examples for some standard data types,
Setting in api_config.py |
Environment Variable Equivalent |
|---|---|
LICENSE_KEY = xxxxxxx |
export CORRIDOR_LICENSE_KEY=xxxxxxx |
WORKER_PROCESSES = 1 |
export CORRIDOR_WORKER_PROCESSES=1 |
REQUIRE_SIMULATION = False |
export CORRIDOR_REQUIRE_SIMULATION=false |
WORKER_QUEUES = ['api', 'spark', 'quick_spark'] |
export CORRIDOR_WORKER_QUEUES="['api', 'spark', 'quick_spark']" |