Config Maps
1. Visión General
Los Config Maps almacenan valores de configuración no sensibles, visibles en cualquier momento — URLs, nombres de host, flags, etc. — configurables por entorno. Es el equivalente a una variable de entorno "global" de la aplicación, como la URL de una base de datos de test versus la de production.
Usa Config Maps cuando el valor necesita variar por entorno pero no es confidencial — el valor puede ser consultado por cualquier persona con acceso a la pantalla. Cuando el valor es una credencial o un dato sensible (contraseña, token), usa un Secret en su lugar.
2. Creando un Config Map
La pantalla de creación sigue la misma estructura que la de Secrets:
Basic Information
| Campo | Obligatorio | Descripción |
|---|---|---|
| Config Map | Sí | Nombre del config map. Debe seguir las convenciones de Kubernetes: solo letras minúsculas, números y guiones. |
| Type | Sí | Ámbito de propiedad del config map. Ej: Squad. |
| Squad | Sí | Squad dueño del config map (aparece cuando Type = Squad). Por defecto: Default. |
| Description | No | Descripción libre del propósito del config map. |
Properties
Un config map puede tener una o más properties — pares clave/valor. Haz clic en + Add Property para agregar una nueva.
| Campo | Descripción |
|---|---|
| Property Name | Nombre de la propiedad dentro del config map (ej: DB_URL, API_BASE_URL). |
| Values by Environment | Un valor diferente por entorno (ej: test, production). A diferencia de un Secret, el valor queda visible normalmente, sin enmascaramiento. |
Ejemplo: un config map db-config con la property URL, con un valor para test (ej: URL de la base de pruebas) y otro para production (ej: URL de la base de producción).
Haz clic en Save para finalizar.
3. Usando un Config Map en Flows, Backend y Frontend Apps
Igual que un Secret, un config map necesita ser vinculado explícitamente al Flow, Backend App o Frontend App que va a usarlo, en la pestaña de configuración de acceso a secrets/config maps de ese Flow/App.
Una vez vinculado, el valor de una property se accede mediante la expresión:
{$.env.configmap_name.property_name}
Por ejemplo, para acceder a la property URL del config map db-config:
{$.env.db-config.URL}
El valor devuelto es el correspondiente al entorno en el que el Flow/App está corriendo.
4. Diferencia entre Secret y Config Map
| Config Map | Secret | |
|---|---|---|
| Uso típico | Valores no sensibles, configurables por entorno (URLs, nombres de host, flags) | Valores sensibles (contraseñas, tokens, claves) |
| Visibilidad del valor | Visible normalmente | Enmascarado, incluso después de guardado |
| Formulario de creación | Basic Information + Properties (por entorno) | Basic Information + Properties (por entorno) |
| Forma de acceso en el Flow/App | {$.env.nombre.property} | {$.env.nombre.property} |
| Vinculación al Flow/App | Explícita, en la pestaña de secrets/config maps | Explícita, en la pestaña de secrets/config maps |
En caso de duda: si el valor puede mostrarse en texto plano sin riesgo (una URL, por ejemplo), usa Config Map. Si el valor concede acceso a algo (contraseña, token, clave de API), usa Secret.
5. Preguntas frecuentes
¿Un config map puede ser usado por más de un Flow o App? Sí — el mismo config map puede vincularse a varios Flows/Apps al mismo tiempo.
¿Se puede convertir un Config Map en Secret (o viceversa) después de creado? No existe conversión automática. Hay que hacerlo manualmente: crear el nuevo secret (o config map) y migrar los valores hacia él.