Skip to main content

Configure Environment Variables

This tutorial will show you how to configure sensitive environment variables in Defang.

Pre-requisites

Step 1 - Go to your compose.yaml file

info

If you are using Pulumi instead of Compose files to define your services, please see Using Config With Pulumi instead.

In your Compose file, you can define a sensitive config variable for your service by leaving it as a blank or null value. Defang will recognize it as a sensitive value.

In the example below, let's define API_KEY as an environment variable.

services:
service1:
image: image1:latest
environment:
- API_KEY

The type of notation shown above is called list notation. Alternatively, you can use map notation, which is also acceptable:

services:
service1:
image: image1:latest
environment:
API_KEY:

Step 2 - Set the actual value in the Defang CLI

To store the actual (sensitive) value of the variable, open up a terminal and type the command:

defang config set API_KEY=actualvalue

Remember to replace API_KEY with your variable name and actualvalue with your actual value.

tip

You can view all the config variables you are storing in Defang by doing: defang config ls.

Editing a config value

To edit a value, you can run the command again with an updated value to overwrite the current value:

defang config set API_KEY=newvalue

Removing a config value

To remove a value, run the command:

defang config rm API_KEY
tip

Remember to update your Compose file if you remove an environment variable.

Step 3 - Deploy

defang compose up

For a deeper discussion on how configuration works in Defang, see our Configuration docs.