Environment Variables¶
This page shows us how to configure environment variables and use them in the FTX configuration.
How to configure¶
We are able to setup environment variables for the device in Balena and Azure Iot Edge.
Balena¶
There are two ways of configuring environment variables in balena.
Fleet Level¶
A fleet can have multiple devices so if you configure environment variables here, they apply to all devices in that fleet.
To configure, go to the fleet page and search for “Variables” on the sidebar.
Device Level¶
A device with environment variables will override fleet environment variables that share the same name.
To configure, go to the device page and search for “Device Variables” on the sidebar.
Azure Iot Edge¶
To configure environment variables, follow these steps:
Find the iot hub resource in azure
Click on “Devices” on the sidebar and select the relevant device.
Click on “Set Modules”
Click on the module named “factorytx”
You should now be able to configure “Environment Variables” on this page.
How to use environment variables in the config¶
The configuration supports bash-like environment variables for string values.
Values such as
${PASSWORD}
or${PREFIX}-name
are allowed.If you want to prevent the environment variables from showing up or being stored in the logs, prefix the name with
${FTX_CREDS}
. For example, something configured with${FTX_CREDS_PASSWORD}
will be hidden from the logs.
For example, your config can look like this:
{ "data_receiver": [ { "data_receiver_name": "${FACTORY} sql receiver", "protocol": "sql", "poll_interval": 10, "connections": [ { "host": "${SQL_FACTORY_HOSTNAME}", "port": ${SQL_FACTORY_PORT}, "username": "${SQL_FACTORY_USERNAME}", "password": "${SQL_FACTORY_PASSWORD}", "database_type": "postgresql", "database_name": "p1", "ssl": false } ... ] }