CONFIG_ENVIRONMENT_VARIABLES
CONFIG_ENVIRONMENT_VARIABLES is a configuration package used to define environment variables and their corresponding values for each environment (e.g., DEV, TEST, PROD).
These variables can be referenced throughout Agile Data Engine to dynamically adapt behavior based on the target environment. Common use cases include:
Load logic – Inject variables directly into load steps or load options.
Object naming – Apply consistent naming patterns for entities, attributes, and other database objects.
Other configuration packages, such as:
CONFIG_LOAD_SCHEDULES – for defining environment-specific cron schedules.
CONFIG_ENTITY_PERMISSIONS – for referencing environment-specific roles, users, or other security objects.
Variables are referenced using the <variable>
syntax.
See also:
Usage
Open CONFIG_ENVIRONMENT_VARIABLES and click Environment Variables to access the configuration.
Configure environments in the Environments tab. Make sure the environment names match your actual environment names. You can see your environments in the Designer main view next to the package list.
Configure environment variables and variable values in the Environment variables tab.
After making changes, the CONFIG_ENVIRONMENT_VARIABLES package will have uncommitted changes. Commit the package after making changes to maintain a proper change history. You must also deploy the configuration package and corresponding entity packages to Runtime environments for the changes to take effect.
Notes
When using Code Preview, you can select an environment to preview how environment variables will be resolved and behave in the corresponding Runtime environment.
In addition to user-defined environment variables, Agile Data Engine supports predefined variables and schedule-specific variables, which can be configured in CONFIG_LOAD_SCHEDULES.
Exception: In CONFIG_ENTITY_PERMISSIONS, variables must be referenced using the ${variable_name}
format instead of the usual <variable>
syntax.
Contents
Environment configuration
Environment configurations are managed within the JSON array block named environments
.
Key | Value type | Example | Description |
---|---|---|---|
environmentName | String | DEV | Environment name as listed in the Designer main view next to the package list. |
Example: Environment configuration
"environments": [
...
{
"environmentName": "DEV"
},
{
"environmentName": "PROD"
}
...
]
If you want to remove an environment from the configuration, make sure to first delete all environment variable entries that reference that environment.
Environment variables configuration
Environment variable configurations are managed within the JSON array block named environmentVariables
.
Key | Value type | Example | Description |
---|---|---|---|
environmentName | String | DEV | References an environment name defined in the |
variableName | String | cron_dv_fina | Variable name |
variableValue | String | 0 2 * * 1-5 | Variable value |
Example: Environment Variable Configuration
"environmentVariables": [
...
{
"environmentName": "DEV",
"variableName": "cron_dv_fina",
"variableValue": "0 2 * * 1-5"
}
...
]
Examples
Environment-specific load schedule
In this example, we define environment-specific load schedule cron expressions.
For the DEV environment, no schedule is set—meaning the workflow must be executed manually.
The QA and PROD environments each have their own scheduled execution times, tailored to their specific operational needs.
"environmentVariables": [
{
"environmentName": "DEV",
"variableName": "cron_dv_fina"
},
{
"environmentName": "QA",
"variableName": "cron_dv_fina",
"variableValue": "0 2 * * 1-5"
},
{
"environmentName": "PROD",
"variableName": "cron_dv_fina",
"variableValue": "0 2 * * *"
}
]
This variable can now be utilized in CONFIG_LOAD_SCHEDULES.
Environment-specific Snowflake warehouses
In this example, we define environment-specific Snowflake warehouses to ensure that each environment uses the appropriate compute resources.
"environmentVariables": [
{
"environmentName": "DEV",
"variableName": "fina_warehouse_name",
"variableValue": "FINA_DEV_WH"
},
{
"environmentName": "QA",
"variableName": "fina_warehouse_name",
"variableValue": "FINA_QA_WH"
},
{
"environmentName": "PROD",
"variableName": "fina_warehouse_name",
"variableValue": "FINA_PROD_WH"
}
]
This variable can now be utilized in CONFIG_LOAD_SCHEDULES.