-
Notifications
You must be signed in to change notification settings - Fork 15
Configuring SCOS Sensor
Note: this page is written with the assumption that this issue has been resolved.
Configuration of SCOS Sensor is carried out via environment variables. This page contains information about the provided defaults, how they are intended to be used, and a table containing all available settings. Additional configuration is done by populating component definition files; see the [Component Definition Files](https://github.com/NTIA/scos-sensor/wiki/Component-Definition-Files) page for more information.
The settings in this file are configured for running in a development environment on your local system. For running in a production environment, many of the settings will need to be modified. The intended usage is for this template to serve as the basis for each SCOS Sensor installation, and for the user to tweak settings to their needs. We recommend copying the template file and working from there:
cp env.template ./env
After modifying the settings, source the environment variables:
source ./env
Some of the values, including the ENCRYPTION_KEY
, POSTGRES_PASSWORD
, and the Django SECRET_KEY
are randomly generated in this file. Therefore, if the source
command is run a second time, the old values will be lost. Make sure to hardcode and backup these environment variables to enable SCOS Sensor to decrypt the data files and access the database.
The following is a table containing the full set of environment variables used by SCOS Sensor, along with their descriptions.
TODO: Explore options to organize these settings, aiming to guide the user to the most important settings first. Consider grouping options which need to be changed when using non-default signal analyzers, or when configuring a certain type of authentication. These may warrant their own wiki pages- and this page can serve as the comprehensive list of settings instead
TODO: Add documentation for supported configuration and calibration files
Variable Name | Description | Change in Production? |
---|---|---|
|
Comma separated list of additional admin usernames |
|
|
Password for additional admin users |
|
|
Email used to generate admin user |
Yes |
|
Username for the admin user |
|
|
Password used to generate admin user |
Yes |
|
Authentication method used for SCOS Sensor. Supports |
|
|
Base Docker image used to build the API container. These Docker images, combined with any drivers found in the signal analyzer repositories, are responsible for providing the operating system suitable for the chosen signal analyzer. By default, this is configured to use a version of |
|
|
Sets how to authenticate to the callback URL. Supports |
|
|
Set to |
Yes |
|
Timeout for posts sent to the callback URL when a scheduled action is completed (seconds) |
|
|
Whether to enable Django debug mode. Set to |
Yes |
|
Optional setting indicating the signal analyzer model. For some signal analyzers, the signal analyzer interface class will use this value to determine which actions should be loaded. |
|
|
Always set to |
|
|
A space-separated list of domain names, used to generate Django’s |
|
|
If |
|
|
Encryption key to encrypt |
|
|
Current branch of NTIA/scos-sensor being used |
|
|
Log level for Gunicorn log messages |
|
|
A space-separated list of IP addresses, used to generate Django’s |
|
|
The server’s fully qualified domain name |
|
|
The maximum disk usage (as a percentage) allowed before old data will be overwritten. Defaults to 85%. Note the disk usage detected by SCOS Sensor (using the Python |
|
|
Path to file containing certificate and private key used as client certificate when |
|
|
Sets the password for the Postgres® database, for the |
Yes |
|
Root folder of the repository. Should be correctly set by default |
|
|
The current branch name on NTIA/scos-sensor. Value may be used in action metadata to capture the version of the software which produced the SigMF archive. |
|
|
Used by Django to provide cryptographic signing. Change to a unique, unpredictable value. See Django’s documentation for details. Defaults to a randomly-generated value. |
Yes |
|
Name of the signal analyzer class to use. By default, this is set to |
|
|
Name of the Python module that provides the signal analyzer implementation. Defaults to |
|
|
Optional setting to provide the name of the |
|
|
Optional setting used to indicate the name of a WebRelay that may be used to power cycle the signal analyzer if necessary. Note: specifics of power-cycling behavior are implemented within the signal analyzer plugins, or in actions. |
|
|
Path to a CA certificate used to verify SCOS Sensor client certificate(s) when |
|
|
Path to server SSL certificate. Replace the certificate in the NTIA/scos-sensor repository with a valid certificate in production. |
Yes |
|
Path to server SSL private key. Use the private key for your valid certificate in production. |
Yes |
|
Optional string used to search for available USB devices. By default, this is set to |