Saltar al contenido principal

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​

CampoObligatorioDescripción
Config MapSíNombre del config map. Debe seguir las convenciones de Kubernetes: solo letras minúsculas, números y guiones.
TypeSíÁmbito de propiedad del config map. Ej: Squad.
SquadSíSquad dueño del config map (aparece cuando Type = Squad). Por defecto: Default.
DescriptionNoDescripció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.

CampoDescripción
Property NameNombre de la propiedad dentro del config map (ej: DB_URL, API_BASE_URL).
Values by EnvironmentUn 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 MapSecret
Uso típicoValores no sensibles, configurables por entorno (URLs, nombres de host, flags)Valores sensibles (contraseñas, tokens, claves)
Visibilidad del valorVisible normalmenteEnmascarado, incluso después de guardado
Formulario de creaciónBasic 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/AppExplícita, en la pestaña de secrets/config mapsExplí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.