- 21 Oct 2024
- 4 Minutes to read
- Print
- DarkLight
Decisions Environment Variables
- Updated on 21 Oct 2024
- 4 Minutes to read
- Print
- DarkLight
Feature Details | |
Introduced in Version | 8.00 |
Modified in Version | 8.13 |
Overview
Environment variables for containers serve as a means to transmit configuration and runtime details to applications operating within the container environment. These variables align with the settings outlined in a virtual machine's (VM) settings.xml file, encompassing tasks such as setting up a container's database connection or configuring HTTPS. Through the addition and configuration of particular variables, containers are empowered to replicate the functionalities akin to those of a virtual machine.
Required Environment Variables
The following table lists the base minimum required environment variables for all containers.
Environment Variable | Function |
---|---|
DECISIONS_DATABASECONNECTSTRING | Configures the Container's connection to its database. Few example connection string has been listed at the end of the table. |
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 Connection String:
Data Source=[myServerAddress];Initial Catalog=[myDataBase];Integrated Security=False;User ID=[myDomain\myUsername];Password=[myPassword]
Host=[myServerAddress];Database=[myDataBase];username=[myUsername];password=[myPassword]
Server=tcp:[YOURDATABASE].database.windows.net,1433;Initial Catalog=decisions;Persist Security Info=False;User ID=[ADMINUSER];Password=[YOURADMINPASSWORD];MultipleActiveResultSets=False;Encrypt=False;Connection Timeout=30;
Additional Environment Variables
The following section demonstrates some of the additional and optional environment variables that users might need to configure based on their application's use case.
HTTP/HTTPS Variables
Ensure the ports are open and 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. "https//: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_ENABLEHTTP | The Decisions application running inside a container listens to ports 80 and 443 by default, and these variables toggle the use of the default web traffic ports for connections to the server. Note: Either HTTP or HTTPS must be marked True to access the application. | true |
DECISIONS_ENABLEHTTPS | true | |
DECISIONS_HTTPPORT | These variables allow the application to run on designated ports within the containers. By doing so, users can map the Container's port to a particular port on the host machine, facilitating access to the application running inside the Container from the host's network. | 8081 |
DECISIONS_HTTPPORTS | 8085 | |
DECISIONS_HTTPSCERTIFICATEPATH | Enter the 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_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 |
DECISIONS_FORCEBASEURI | This environment variable must be used if SSL terminates at the Load Balancer. | <HTTPSAddress> |
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 |
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_ REQUIREAUTHENTICATION | 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 |
SSO Variable
To enable SSO for a container, refer to the following environment variable:
Environment Variable | Function | Example |
---|---|---|
DECISIONS_ENABLESINGLESIGNON | Toggles single sign-on (SSO) for the Container. | true |
Server Type Variable
To change the Container's server type to, for example, a Repository server, enter the following variable:
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, refer to the following variables:
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 Setting up AWS Cloudwatch Logging.
Environment Variable | Function | Example |
---|---|---|
DECISIONS_LOG_AWS_REGION | Enter the address of the Cloudwatch region. | -- |
DECISIONS_LOG_AWS_LOG_GROUP_PATH | Enter the log path. | -- |
AWS_ACCESS_KEY_ID | Enter the Access Key ID for the IAM Role. | -- |
AWS_SECRET_ACCESS_KEY | Enter the Secret Access Key for the IAM Role. | -- |
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. | -- |
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 | June 7, 2023 | [DT-037901] |
Added Environment Variables for "Integration Settings Variables" | 8.12 | June 7, 2023 | [DT-037672] |
Allow Containers to use non-default ports | 8.13 | August 11, 2023 | [DT-038470] |
Respect EnableHttp setting in Container. | 8.13 | August 11, 2023 | [DT-038608] |