Skip to main content

Config Maps

1. Overview

Config Maps store non-sensitive configuration values, visible at any time — URLs, hostnames, flags, etc. — configurable per environment. It's the equivalent of a "global" environment variable for the application, like a database URL for test versus production.

Use Config Maps when the value needs to vary per environment but isn't sensitive — the value can be viewed by anyone with access to the screen. When the value is a credential or sensitive data (password, token), use a Secret instead.

2. Creating a Config Map

The creation screen follows the same structure as the Secrets screen:

Basic Information

FieldRequiredDescription
Config MapYesName of the config map. Must follow Kubernetes conventions: lowercase letters, numbers, and hyphens only.
TypeYesOwnership scope of the config map. E.g. Squad.
SquadYesSquad that owns the config map (shown when Type = Squad). Default: Default.
DescriptionNoFree-text description of the config map's purpose.

Properties

A config map can have one or more properties — key/value pairs. Click + Add Property to add a new one.

FieldDescription
Property NameName of the property within the config map (e.g. DB_URL, API_BASE_URL).
Values by EnvironmentA different value per environment (e.g. test, production). Unlike a Secret, the value stays visible normally, with no masking.

Example: a db-config config map with the URL property, with one value for test (e.g. the test database URL) and another for production (e.g. the production database URL).

Click Save to finish.

3. Using a Config Map in Flows, Backend, and Frontend Apps

Just like a Secret, a config map needs to be explicitly bound to the Flow, Backend App, or Frontend App that will use it, on that Flow/App's secrets/config maps access configuration tab.

Once bound, a property's value is accessed via the expression:

{$.env.configmap_name.property_name}

For example, to access the URL property of the db-config config map:

{$.env.db-config.URL}

The value returned corresponds to the environment the Flow/App is running in.

4. Difference Between Secret and Config Map

Config MapSecret
Typical useNon-sensitive values, configurable per environment (URLs, hostnames, flags)Sensitive values (passwords, tokens, keys)
Value visibilityNormally visibleMasked, even after saved
Creation formBasic Information + Properties (per environment)Basic Information + Properties (per environment)
Access method in Flow/App{$.env.name.property}{$.env.name.property}
Binding to Flow/AppExplicit, in the secrets/config maps tabExplicit, in the secrets/config maps tab

When in doubt: if the value could be shown in plain text without risk (a URL, for example), use a Config Map. If the value grants access to something (password, token, API key), use a Secret.

5. FAQ

Can a config map be used by more than one Flow or App? TODO: confirm whether the same config map can be bound to multiple Flows/Apps at the same time.

Can a Config Map be converted into a Secret (or vice versa) after it's created? TODO: confirm whether conversion exists, or if it needs to be recreated as the other type.