- 19 May 2023
- 5 Minutes to read
- Print
- DarkLight
Creating Environment List Files (env.list)
- Updated on 19 May 2023
- 5 Minutes to read
- Print
- DarkLight
Feature Details | |
Introduced in Version | 8.00 |
Modified in Version | 8.12 |
Overview
Containers are configured with an environment list, i.e., env.list file. Environment lists are populated with variables mirroring settings found in a VM's settings.xml to configure a container's database connection, HTTPS, etc. By adding/configuring specific variables, containers possess the same functionalities as a VM.
Required Environment Variables
The following table lists the base minimum required environment variables for all containers. The DECISIONS_PORTALBASEURL is only required for Azure containers. The DECISIONS_FILESTORAGELOCATION variable is only required for containers before v8.5. View more Azure Environment Variables on the Deploying Containers on Azure article.
Environment Variable | Function |
---|---|
DECISIONS_DATABASECONNECTSTRING | Configures the container's connection to its database. |
DECISIONS_DATABASETYPE | Configures what type of database the container uses. |
DECISIONS_FILESTORAGELOCATION | Configures location data volumes are mapped to allow containers to preserve persistent data. Since containers are Linux-based, paths for the file storage will be case-sensitive. |
DECISIONS_PORTALBASEURL | Configures the URL of the container consisting of the domain name and its port. |
Example Docker Environment List
Open a text editor like Notepad or Notepad++. Copy the template with the appropriate variables for the container's database, review the reference table, then replace the brackets and their values with the necessary values.
Save the file as a .list file extension e.g. "containerenv.list".
---MSSQL CONTAINER ONLY---
DECISIONS_DATABASECONNECTSTRING=Data Source=;Initial Catalog=;Integrated Security=false;User ID=[SAUSERNAME];Password=[SAPASSWORD];
---POSTGRES CONTAINER ONLY---
DECISIONS_DATABASECONNECTSTRING=Host=[IPv4];Database=[CONTAINERDATABASE];Port=5432;Integrated Security=False;Username=postgres;Password=[ADMINPASSWORD];
---ADD AFTER THE DATABASE CONNECTION VARIABLE---
DECISIONS_FILESTORAGELOCATION=/FileStorage
DECISIONS_PORTALBASEURL=http://localhost:<port>
DECISIONS_DATABASETYPE=[MSSQL OR POSTGRES]
LANG=[LANGUAGE.TZ]
LANGUAGE=[LANGUAGES]
LC_ALL=[LANGUAGE.TZ]
TZ=[TIMEZONE]
Environment Variable | Function | Example |
---|---|---|
User ID=[SAUSERNAME] | Enter the System administrator's name, aka SA account, in MSSQL. | ExampleAccountName |
Password=[SAPASSWORD] | Enter the password for the MSSQL SA account referenced in the User ID variable. | examplepassword |
DECISIONS_DATABASECONNECTSTRING= Host=[IPv4] | Enter the IPv4 address of the machine hosting the Postgres container. | xxx.xx.xxx.x |
Database=[CONTAINERDATABASE] | Enter the desired name of the container's database. Users may enter a preexisting database or create a new one during container creation by entering a new database name. New databases increase deployment time considerably. | ExamplePostgresContainer |
Password=[ADMINPASSWORD] | Enter the admin password for PG 4 Admin. | examplepassword |
DECISIONS_PORTALBASEURL= http://localhost:<port> | The URL used to access the Decisions portal for the container outside the host machine. If the domain name is linked directly to the container, it can be used instead of localhost. For the port number, this will be the internal port on the container that must be mapped to an external port. When defining the port value, it is recommended to use either port 80 or 8080 for the environment. | http://:xxx.xx.xxx.x:8088 |
DECISIONS_DATABASETYPE= [MSSQL OR POSTGRES] | Enter either MSSQL or POSTGRES, depending on the container's database. | POSTGRES |
LANG=[LANGUAGE.TZ] | Enter the setting for all categories not directly set by LC_ALL | en_US.UTF-8 |
LANGUAGE=[LANGUAGES] | Enter the supported language(s) for the container's messages. | en_US:en:fr |
LC_ALL=[LANGUAGE.TZ] | Enter the settings to override LANG and LANGUAGE settings | en_US.UTF-8 |
TZ=[TIMEZONE] | Enter the timezone the container operates within. By default, this is in UTC. | US/Eastern, Asia/Kolkata, America/New_York |
The following example depicts an env.list for Postgres container creation on Docker.
Customizing the Environment File
Additional environment variables may populate an env.list to configure optional functionalities such as HTTPS.
Add the following optional environment variables after the connection anywhere in the env.list.
Between the variable name and its value, enter an equals (=) sign e.g. "DECISIONS_SERVERTYPE=Repository".
Server Type Variable
To change the container's server type to, for example, a Repository server, enter the following variable into the env.list:
Environment Variable | Function | Example |
---|---|---|
DECISIONS_SERVERTYPE | Determines the container's server type. Without this variable, containers install as a standard Application server. | Repository containers: Repository |
MT Control containers: Hosted | ||
MT Tenant containers: Tenant Refer to MT Tenant Variables for all other necessary variables for this container. | ||
MT Tenant Variables
To create an MT Tenant container, enter the following variables into the env.list:
Environment Variable | Function | Example |
---|---|---|
DECISIONS_CONTROLINSTANCEURL | Prompts for the URL of the multi-tenant control instance. | http://xxx.xx.xxx.x:8080 |
DECISIONS_SERVERTYPE | Determines the container's server type. By default, containers install as a standard Application server. | Tenant |
DECISIONS_INSTANCEAUTHENTICATIONKEY | Prompts for the instance Authorization Key. | [15 random characters (a-Z, 0-9)] |
DECISIONS_INSTANCENAME | Prompts for the name of the container's instance. | Instance1 |
Clustering Variables
The following optional environment variables are required to set up a clustered environment.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_CLUSTERING_TURNONCLUSTERING | Toggles whether the containers support clustering. | True |
DECISIONS_CLUSTERING_REDISBASEURL | Prompts for the Redis URL of the Redis container. | localhost:6379 |
DECISIONS_CAN_BE_JOB_SERVER | Toggles whether the server can be a job server. Ensure to mark it True when running the servers in clustering. For more information, refer to Setting the Primary Job Server for a Cluster. | True |
Recommended Optional AWS Variables
The following optional environment variables are recommended for an AWS container.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_LOG_AWS_REGION | Required for Cloudwatch logging. Enter the address of the Cloudwatch region. | aws-region: "us-east--1" |
Recommended Optional Azure Variables
The following optional environment variables are recommended for an Azure container.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_LOG_AZURE_WORKSPACE_ID | Required for log analytics. Enter the Workspace ID of the Log Analytics workspace. | -- |
DECISIONS_LOG_AZURE_AUTHENTICATION_ID | Required for log analytics. Enter the Authentication ID of the Log Analytics workspace. | -- |
Licensing Variables
Refer to the Self-Service Licensing article for further information on licensing.
The container must have an internet connection for licensing.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_LICENSECOMPANYID | Enter the license ID for the container's instance. | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
DECISIONS_LICENSECOMPANYNAME | Enter the company name attached to the license's ID. | Decisions |
DECISIONS_LICENSECONTACTEMAIL | Enter a contact email for the provided license | example@email.com |
DECISIONS_ENVIRONMENTNAME | Enter the name of the container to license. This can be specified during container creation or afterward. | TestingEnvironment |
DECISIONS_LICENSETYPE | Enter the license type of the container. This will likely be either 'Enterprise Production' or 'EnterpriseNonProduction' | EnterpriseProduction |
HTTPS Variables
Enter the following environment variables after the licensing variables in the env.list.
Ensure the HTTPS port i.e. port 443 is open and that the correct certificate is saved onto the machine.
Local install must manually edit the container's URL in-browser by adding "https://" before the domain name and ":433" after the domain name e.g. "http//:localhost:443".
The browser may display a warning against this redirect. If prompted, select the Advanced button then select Proceed to continue.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_HTTPSCERTIFICATEPATH | Enter file path where the container's certificate resides. This searches C:\Docker by default. Enter the certificate name at the end. | /cert/decisions.pfx |
DECISIONS_ENABLEHTTPS | Toggles enabling HTTPS on the container. | True |
DECISIONS_HTTPSCERTIFICATEPASSWORD | Use this variable if the SSL certificate is password protected | <Certificate Password> |
DECISIONS_ENABLEHTTPTOHTTPSREDIRECTION | This setting will redirect the connection from HTTP to HTTPS | True |
SSO Variable
To enable SSO for a container, enter the following variable into the env.list:
Environment Variable | Function | Example |
---|---|---|
DECISIONS_ENABLESINGLESIGNON | Toggles single sign-on (SSO) for the container. | |
True | ||
SMTP Variables
Refer to the Email and SMTP in Decisions article for further information.
Besides the bypass variable, each variable's value depends on the SMTP email provider. Gmail, Office365, and Outlook are supported.
Enter their respective values in the variables.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_MAIL_BYPASSSMTPSERVER | Toggles if sent mail respects SMTP settings. It is best to keep this as False or a validation error will occur. | False |
DECISIONS_MAIL_SMTPSERVER_ SERVERADDRESS | Enter the domain name of the SMTP service. | smtp-relay.gmail.com |
DECISIONS_MAIL_SMTPSERVER_ PORT | Enter the port number of the SMTP server. | 587 |
DECISIONS_MAIL_SMTPSERVER_ REQUIREAUTHETICATION | Toggles if authentication is necessary to log in to the SMTP server. | example@email.com |
DECISIONS_MAIL_SMTPSERVER_ USERNAME | Enter the username of the SMTP server. | exampleaccount |
DECISIONS_MAIL_SMTPSERVER_ PASSWORD | Enter the password for the specified user. | password123 |
DECISIONS_MAIL_SMTPSERVER_ USESSL | Toggles secure socket layer (SSL) encryption on SMTP mail. | False |
Integration Settings Variables
The following optional variables allow a user to configure Integration settings within the portal.
For more information, refer to Integration Settings and How to Set Up and Use JWT.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_INTEGRATION_USEASYMMETRICKEY | Enables the container to use the Public Key for JSON Web Token (JWT). | True |
DECISIONS_INTEGRATION_JWTSECRETKEY | Enter the Secret Key for the JSON Web Token (JWT) | -- |
DECISIONS_INTEGRATION_JWTPUBLICKEY | Enter the Public Key for the JSON Web Token (JWT) | -- |
Feature Changes
Description | Version | Date | Developer Task |
---|---|---|---|
Added Environment Variable for "Can Be Job Server" | 8.12 | Pending Release | [DT-037901] |
Added Environment Varibales for "Integration Settings Variables" | 8.12 | Pending Release | [DT-037672] |