Variables
You can use variables to:
- Provide configuration property values after the application is built.
- Edit property values and see the results without the need to rebuild the application every time you make a change.
The following rules apply:
-
Don't use variables to manage environment variables.
For details, see Environment variables.
-
Don't store confidential properties as variables.
To use a secure method, create a secret.
-
Variables are updated when you deploy all or selected applications.
To change application properties in real-time without restarting the application server, use runtime properties. For details, see Runtime properties.
Placeholder values
InsuranceSuite properties are stored as placeholder values in configuration files. With the Variables app, you can use variables to provide and edit external properties for these configuration files.
To identify the affected configuration files, use NAMESPACE
prefixes.
At the start of an application, the values in these placeholders are updated with the values set in the Variables app.
Create placeholders in configuration files
A placeholder must meet the following criteria:
- Contains only letters, digits, and underscores (
_
). - Isn't an empty string.
- Doesn't start with a digit.
Placeholders must be in the following format:
${NAMESPACE_VARIABLENAME:defaultValue}
Where:
-
NAMESPACE
The prefix identifying the affected configuration file. The Variables app supports externalizing properties using the following prefixes:
CONFIG
— identifiesconfig.xml
(except for theregistry
node, which isn't supported)DATABASE
— identifiesdatabase-config.xml
SUITE
— identifiessuite-config.xml
SCHEDULER
— identifiesscheduler-config.xml
WORKQUEUE
— identifieswork-queue.xml
MESSAGING
— identifiesmessaging-config.xml
SOLR
— identifiessolr.xml
ISO
— identifiesISO.properties
METRO
— identifiesMetro.properties
PLUGIN
— identifies*.gwp
(plugin registry definition files)PUBLISHEDAPIS
— identifiespublished-apis.yaml
-
VARIABLENAME
Descriptive name of the variable for which you are providing the placeholder.
-
defaultValue
Default value of the property, used when there is no value provided from a variable. Default values are also used in TeamCity for testing.
Important:If you don't provide a default value and there is no value passed from a variable, the placeholder isn't updated. This might cause a failure during a server startup.
The code below is an example of a placeholder for the MinPasswordLength
property in the config.xml
file:
<param name="MinPasswordLength" value="${CONFIG_MINPASSWORDLENGTH:5}"/>
Don't use the env
parameter in configuration files to specify variable values
for different planets.
Okta variables
Whenever you update application credentials, you must deploy the affected apps.
The Variables app uses Okta variables to authorize communication between InsuranceSuite applications and other services. To obtain the Okta variables, the deployed InsuranceSuite applications must have the integration feature flag ISIntegrationEnabled
set to all
or all propertyServiceDisabled
. During the very first deployment in a star system, the Variables app sends requests to Okta to register the InsuranceSuite applications. In return, Okta provides values for the following variables:
OKTA_SCOPE
- a list of scopes to access the InsuranceSuite applications.OKTA_CLIENT_ID
- an ID that Okta uses for authorization.OKTA_CLIENT_SECRET
- a secret used for authorization.OKTA_CLIENT_SECRET_ID
- ID of the secret used for authentication.OKTA_AUTH_SERVER_URL
- a URL address to which the Variables app sends theOKTA_CLIENT_ID
and theOKTA_CLIENT_SECRET
to obtain a token for authorization.
The next deployments use the same variables.
You can't change Okta variables in the Variables app.
Check Okta variables
To check the Okta variables:
-
Select a star system.
-
From
Apps, select Planets or select it from your pinned apps.
-
Select a planet with InsuranceSuite apps deployed.
-
From Applications and add-ons, select InsuranceSuite.
-
Go to Variables and search for variables with the key starting with
OKTA
.
Environment variables
In the Variables app, some environment variables have predefined values that you can't change or remove. If you use such variables, your provided values won't be applied and will be overridden by the Variables app. To avoid this situation, don't use variables with the following names:
POD_NAME
POD_IP
DEPLOYMENT_ID
GW_TENANT
GW_PROPERTY_SERVICE_DISABLED
OKTA_CLIENT_ID
OKTA_AUTH_SERVER_URL
OKTA_SCOPE
OKTA_APP_NAME
OKTA_CLIENT_SECRET
OKTA_CLIENT_SECRET_ID
TZ
DATABASE_JDBC_URL
CONFIG_FREE_TEXT_SEARCH_ENABLED
SOLR_SOLRSERVER_HOST
MESSAGING_SOLR_DESTINATION_DISABLED
PLUGIN_RUNTIME_PROPERTY_CONFIG_LOCATION
PLUGIN_SOLR_MESSAGE_TRANSPORT_PLUGIN_DISABLED
PLUGIN_SOLR_SEARCH_PLUGIN_DISABLED
PLUGIN_S3_BUCKET_NAME
PLUGIN_INBOUND_S3_INPUT_PREFIX
PLUGIN_INBOUND_S3_ARCHIVE_PREFIX
PLUGIN_INBOUND_S3_FAILED_PREFIX
PLUGIN_OUTBOUND_S3_OUTPUT_PREFIX
PLUGIN_ARCHIVING_S3_PREFIX
PLUGIN_INTERNAL_S3_PREFIX
PLUGIN_AWS_SECRET_NAMES
PLUGIN_AWS_SECRET_TAGS
PLUGIN_AWS_REGION
DD_ENTITY_ID
DD_ENV
DD_SERVICE
DD_VERSION
DD_HTTP_CLIENT_TAG_QUERY_STRING
DD_HTTP_SERVER_TAG_QUERY_STRING
DD_LOGS_INJECTION
DD_TRACE_CLASSES_EXCLUDE
DD_SERVICE_MAPPING
DD_PROFILING_ENABLED
DD_TAGS
DD_TRACE_ANALYTICS_ENABLED
DD_INTEGRATION_THROWABLES_ENABLED
DD_TRACE_PARTIAL_FLUSH_ENABLED
DD_TRACE_PARTIAL_FLUSH_MIN_SPANS
DD_DOGSTATSD_NON_LOCAL_TRAFFIC
DD_AGENT_HOST
APM_OPS_SEND
APM_TENANT_SEND
DISABLE_HEALTHCHECK
CATALINA_OPTS
INTERNAL_CM_PRODUCT_URL
PUBLIC_CM_PRODUCT_URL
INTERNAL_BC_PRODUCT_URL
PUBLIC_BC_PRODUCT_URL
INTERNAL_CC_PRODUCT_URL
PUBLIC_CC_PRODUCT_URL
INTERNAL_PC_PRODUCT_URL
PUBLIC_PC_PRODUCT_URL
CONFIG_CM_PRODUCT_URL
CONFIG_BC_PRODUCT_URL
CONFIG_CC_PRODUCT_URL
CONFIG_PC_PRODUCT_URL
SUITE_CM_PRODUCT_URL
SUITE_BC_PRODUCT_URL
SUITE_CC_PRODUCT_URL
SUITE_PC_PRODUCT_URL